diff options
| author | 2014-12-13 21:23:41 +0100 | |
|---|---|---|
| committer | 2014-12-20 18:06:55 +0100 | |
| commit | 22afb9d8309f56494d95f6132561a413b8e7895c (patch) | |
| tree | c30dea8bc794454f70a6c0a8bfe704fdd7e8c2aa /src | |
| parent | Pica/VertexShader: Implement MAX instructions. (diff) | |
| download | yuzu-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')
| -rw-r--r-- | src/video_core/vertex_shader.cpp | 2 |
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) { |