summaryrefslogtreecommitdiff
path: root/src/video_core/vertex_shader.cpp
diff options
context:
space:
mode:
authorGravatar Tony Wasserka2014-12-13 21:23:41 +0100
committerGravatar Tony Wasserka2014-12-20 18:06:55 +0100
commit22afb9d8309f56494d95f6132561a413b8e7895c (patch)
treec30dea8bc794454f70a6c0a8bfe704fdd7e8c2aa /src/video_core/vertex_shader.cpp
parentPica/VertexShader: Implement MAX instructions. (diff)
downloadyuzu-22afb9d8309f56494d95f6132561a413b8e7895c.tar.gz
yuzu-22afb9d8309f56494d95f6132561a413b8e7895c.tar.xz
yuzu-22afb9d8309f56494d95f6132561a413b8e7895c.zip
Pica/VertexShader: Run instruction handlers according to the effective opcode.
This allows for proper emulation of the different CMP/LRP/MAD instructions.
Diffstat (limited to 'src/video_core/vertex_shader.cpp')
-rw-r--r--src/video_core/vertex_shader.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/video_core/vertex_shader.cpp b/src/video_core/vertex_shader.cpp
index 742e5a9f2..dd406f9ca 100644
--- a/src/video_core/vertex_shader.cpp
+++ b/src/video_core/vertex_shader.cpp
@@ -172,7 +172,7 @@ static void ProcessShaderCode(VertexShaderState& state) {
172 172
173 state.debug.max_opdesc_id = std::max<u32>(state.debug.max_opdesc_id, 1+instr.common.operand_desc_id); 173 state.debug.max_opdesc_id = std::max<u32>(state.debug.max_opdesc_id, 1+instr.common.operand_desc_id);
174 174
175 switch (instr.opcode) { 175 switch (instr.opcode.EffectiveOpCode()) {
176 case Instruction::OpCode::ADD: 176 case Instruction::OpCode::ADD:
177 { 177 {
178 for (int i = 0; i < 4; ++i) { 178 for (int i = 0; i < 4; ++i) {