Explorar o código

Pica/VertexShader: Implement MAX instructions.

Tony Wasserka %!s(int64=11) %!d(string=hai) anos
pai
achega
cd163fb59a
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      src/video_core/vertex_shader.cpp

+ 9 - 0
src/video_core/vertex_shader.cpp

@@ -197,6 +197,15 @@ static void ProcessShaderCode(VertexShaderState& state) {
                 break;
             }
 
+            case Instruction::OpCode::MAX:
+                for (int i = 0; i < 4; ++i) {
+                    if (!swizzle.DestComponentEnabled(i))
+                        continue;
+
+                    dest[i] = std::max(src1[i], src2[i]);
+                }
+                break;
+
             case Instruction::OpCode::DP3:
             case Instruction::OpCode::DP4:
             {