diff options
| author | 2018-07-05 11:29:17 -0400 | |
|---|---|---|
| committer | 2018-07-05 11:29:17 -0400 | |
| commit | 8b815877a6f8b0c1b80496a485511f15d1d86684 (patch) | |
| tree | e8297e0d3b51898ad891b0ad56cbd99206117b22 | |
| parent | Merge pull request #621 from Subv/psetp_ (diff) | |
| parent | GPU: Ignore textures that the GLSL compiler deemed unused when binding textur... (diff) | |
| download | yuzu-8b815877a6f8b0c1b80496a485511f15d1d86684.tar.gz yuzu-8b815877a6f8b0c1b80496a485511f15d1d86684.tar.xz yuzu-8b815877a6f8b0c1b80496a485511f15d1d86684.zip | |
Merge pull request #622 from Subv/unused_tex
GPU: Ignore unused textures and corrected the TEX shader instruction decoding.
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 95b7d46ec..da1aaeeee 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h | |||
| @@ -654,7 +654,7 @@ private: | |||
| 654 | INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"), | 654 | INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"), |
| 655 | INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"), | 655 | INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"), |
| 656 | INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"), | 656 | INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"), |
| 657 | INST("1100000000111---", Id::TEX, Type::Memory, "TEX"), | 657 | INST("110000----111---", Id::TEX, Type::Memory, "TEX"), |
| 658 | INST("1101111101001---", Id::TEXQ, Type::Memory, "TEXQ"), | 658 | INST("1101111101001---", Id::TEXQ, Type::Memory, "TEXQ"), |
| 659 | INST("1101100---------", Id::TEXS, Type::Memory, "TEXS"), | 659 | INST("1101100---------", Id::TEXS, Type::Memory, "TEXS"), |
| 660 | INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"), | 660 | INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"), |
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 3c3657d9d..bacb389e1 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -686,7 +686,10 @@ u32 RasterizerOpenGL::SetupTextures(Maxwell::ShaderStage stage, GLuint program, | |||
| 686 | 686 | ||
| 687 | // Bind the uniform to the sampler. | 687 | // Bind the uniform to the sampler. |
| 688 | GLint uniform = glGetUniformLocation(program, entry.GetName().c_str()); | 688 | GLint uniform = glGetUniformLocation(program, entry.GetName().c_str()); |
| 689 | ASSERT(uniform != -1); | 689 | if (uniform == -1) { |
| 690 | continue; | ||
| 691 | } | ||
| 692 | |||
| 690 | glProgramUniform1i(program, uniform, current_bindpoint); | 693 | glProgramUniform1i(program, uniform, current_bindpoint); |
| 691 | 694 | ||
| 692 | const auto texture = maxwell3d.GetStageTexture(entry.GetStage(), entry.GetOffset()); | 695 | const auto texture = maxwell3d.GetStageTexture(entry.GetStage(), entry.GetOffset()); |