From a71346cd7c5d3959ca3b07e5b45f4d2c8a9144e9 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 29 Apr 2018 13:13:13 -0400 Subject: gl_shader_decompiler: Implement MOV_C. --- src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/video_core/renderer_opengl') diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 27190cc45..6d5b7a99c 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -664,6 +664,11 @@ private: } switch (opcode->GetId()) { + case OpCode::Id::MOV_C: { + regs.SetRegisterToFloat(instr.gpr0, 0, op_b, 1, 1); + break; + } + case OpCode::Id::MOV32_IMM: { // mov32i doesn't have abs or neg bits. regs.SetRegisterToFloat(instr.gpr0, 0, GetImmediate32(instr), 1, 1); -- cgit v1.2.3 From 316327f48730a40cab2a497dcb2d7ccb5a716bff Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 29 Apr 2018 13:50:02 -0400 Subject: maxwell_to_gl: Implement type SignedNorm, Size_8_8_8_8. --- src/video_core/renderer_opengl/maxwell_to_gl.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/video_core/renderer_opengl') diff --git a/src/video_core/renderer_opengl/maxwell_to_gl.h b/src/video_core/renderer_opengl/maxwell_to_gl.h index a49265b38..a630610d8 100644 --- a/src/video_core/renderer_opengl/maxwell_to_gl.h +++ b/src/video_core/renderer_opengl/maxwell_to_gl.h @@ -36,6 +36,18 @@ inline GLenum VertexType(Maxwell::VertexAttribute attrib) { return {}; } + case Maxwell::VertexAttribute::Type::SignedNorm: { + + switch (attrib.size) { + case Maxwell::VertexAttribute::Size::Size_8_8_8_8: + return GL_BYTE; + } + + NGLOG_CRITICAL(Render_OpenGL, "Unimplemented vertex size={}", attrib.SizeString()); + UNREACHABLE(); + return {}; + } + case Maxwell::VertexAttribute::Type::Float: return GL_FLOAT; } -- cgit v1.2.3 From 08b8fcbe6ddd3305c7e422e5a64c3112af5bbeb9 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 29 Apr 2018 13:50:52 -0400 Subject: gl_shader_decompiler: Implement MOV_R. --- src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/video_core/renderer_opengl') diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 6d5b7a99c..539aa87f9 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -664,7 +664,8 @@ private: } switch (opcode->GetId()) { - case OpCode::Id::MOV_C: { + case OpCode::Id::MOV_C: + case OpCode::Id::MOV_R: { regs.SetRegisterToFloat(instr.gpr0, 0, op_b, 1, 1); break; } -- cgit v1.2.3