diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-20 21:53:00 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-08-20 21:53:00 -0400 |
commit | 948002635f86aac18e5fbafb5b0bb4315cd3569d (patch) | |
tree | 475414b4a9ee69a0d7bdc81abfa05c38d2352a42 /src | |
parent | ea99819f37bd4dffc6f9c0e30689ab05e82bec49 (diff) |
gl_shader_decompiler: Implement TextureCube for TEX.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index b7b3fbc17..9e0813a72 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -1525,6 +1525,14 @@ private: coord = "vec3 coords = vec3(" + x + ", " + y + ", " + z + ");"; break; } + case Tegra::Shader::TextureType::TextureCube: { + std::string x = regs.GetRegisterAsFloat(instr.gpr8); + std::string y = regs.GetRegisterAsFloat(instr.gpr8.Value() + 1); + std::string z = regs.GetRegisterAsFloat(instr.gpr8.Value() + 2); + ASSERT(instr.gpr20.Value() == Register::ZeroIndex); + coord = "vec3 coords = vec3(" + x + ", " + y + ", " + z + ");"; + break; + } default: LOG_CRITICAL(HW_GPU, "Unhandled texture type {}", static_cast<u32>(instr.tex.texture_type.Value())); |