diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-21 03:49:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-21 03:49:47 +0200 |
commit | ea99819f37bd4dffc6f9c0e30689ab05e82bec49 (patch) | |
tree | ddc5ebded147c57cfe7776e186569b8f600afaf2 | |
parent | Merge pull request #1122 from lioncash/acc (diff) | |
parent | Shaders: Fixed the coords in TEX with Texture2D. (diff) | |
download | yuzu-ea99819f37bd4dffc6f9c0e30689ab05e82bec49.tar yuzu-ea99819f37bd4dffc6f9c0e30689ab05e82bec49.tar.gz yuzu-ea99819f37bd4dffc6f9c0e30689ab05e82bec49.tar.bz2 yuzu-ea99819f37bd4dffc6f9c0e30689ab05e82bec49.tar.lz yuzu-ea99819f37bd4dffc6f9c0e30689ab05e82bec49.tar.xz yuzu-ea99819f37bd4dffc6f9c0e30689ab05e82bec49.tar.zst yuzu-ea99819f37bd4dffc6f9c0e30689ab05e82bec49.zip |
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index ac6ccfec7..b7b3fbc17 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -1514,7 +1514,7 @@ private: switch (instr.tex.texture_type) { case Tegra::Shader::TextureType::Texture2D: { std::string x = regs.GetRegisterAsFloat(instr.gpr8); - std::string y = regs.GetRegisterAsFloat(instr.gpr20); + std::string y = regs.GetRegisterAsFloat(instr.gpr8.Value() + 1); coord = "vec2 coords = vec2(" + x + ", " + y + ");"; break; } @@ -1526,7 +1526,9 @@ private: break; } default: - UNIMPLEMENTED(); + LOG_CRITICAL(HW_GPU, "Unhandled texture type {}", + static_cast<u32>(instr.tex.texture_type.Value())); + UNREACHABLE(); } const std::string sampler = @@ -1576,7 +1578,9 @@ private: break; } default: - UNIMPLEMENTED(); + LOG_CRITICAL(HW_GPU, "Unhandled texture type {}", + static_cast<u32>(instr.texs.GetTextureType())); + UNREACHABLE(); } const std::string sampler = GetSampler(instr.sampler, instr.texs.GetTextureType(), instr.texs.IsArrayTexture()); @@ -1593,7 +1597,8 @@ private: switch (instr.tlds.GetTextureType()) { case Tegra::Shader::TextureType::Texture2D: { if (instr.tlds.IsArrayTexture()) { - UNIMPLEMENTED(); + LOG_CRITICAL(HW_GPU, "Unhandled 2d array texture"); + UNREACHABLE(); } else { std::string x = regs.GetRegisterAsInteger(instr.gpr8); std::string y = regs.GetRegisterAsInteger(instr.gpr20); @@ -1602,7 +1607,9 @@ private: break; } default: - UNIMPLEMENTED(); + LOG_CRITICAL(HW_GPU, "Unhandled texture type {}", + static_cast<u32>(instr.tlds.GetTextureType())); + UNREACHABLE(); } const std::string sampler = GetSampler(instr.sampler, instr.tlds.GetTextureType(), instr.tlds.IsArrayTexture()); @@ -1623,7 +1630,9 @@ private: break; } default: - UNIMPLEMENTED(); + LOG_CRITICAL(HW_GPU, "Unhandled texture type {}", + static_cast<u32>(instr.tld4.texture_type.Value())); + UNREACHABLE(); } const std::string sampler = |