summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernandoS27 <fsahmkow27@gmail.com>2018-11-05 19:07:08 +0100
committerFernandoS27 <fsahmkow27@gmail.com>2018-11-07 22:04:30 +0100
commitad2f47b57989dd39be5fa3ec17086640dadae87e (patch)
tree36a4b791db2ba4935db70d9b9a183c09f9c19ed4
parentMerge pull request #1630 from bunnei/fix-mapbufferex (diff)
downloadyuzu-ad2f47b57989dd39be5fa3ec17086640dadae87e.tar
yuzu-ad2f47b57989dd39be5fa3ec17086640dadae87e.tar.gz
yuzu-ad2f47b57989dd39be5fa3ec17086640dadae87e.tar.bz2
yuzu-ad2f47b57989dd39be5fa3ec17086640dadae87e.tar.lz
yuzu-ad2f47b57989dd39be5fa3ec17086640dadae87e.tar.xz
yuzu-ad2f47b57989dd39be5fa3ec17086640dadae87e.tar.zst
yuzu-ad2f47b57989dd39be5fa3ec17086640dadae87e.zip
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp12
1 files changed, 6 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 09b003c59..98a983d2d 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -2742,12 +2742,12 @@ private:
}
case 3: {
if (is_array) {
- UNIMPLEMENTED_MSG("3-coordinate arrays not fully implemented");
- const std::string x = regs.GetRegisterAsFloat(instr.gpr8);
- const std::string y = regs.GetRegisterAsFloat(instr.gpr20);
- coord = "vec2 coords = vec2(" + x + ", " + y + ");";
- texture_type = Tegra::Shader::TextureType::Texture2D;
- is_array = false;
+ const std::string index = regs.GetRegisterAsInteger(instr.gpr8);
+ const std::string x = regs.GetRegisterAsFloat(instr.gpr8.Value() + 1);
+ const std::string y = regs.GetRegisterAsFloat(instr.gpr8.Value() + 2);
+ const std::string z = regs.GetRegisterAsFloat(instr.gpr20);
+ coord =
+ "vec4 coords = vec4(" + x + ", " + y + ", " + z + ", " + index + ");";
} else {
const std::string x = regs.GetRegisterAsFloat(instr.gpr8);
const std::string y = regs.GetRegisterAsFloat(instr.gpr8.Value() + 1);