mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-06 18:40:36 +00:00
RSX : factorize DPH
This commit is contained in:
parent
67e8e0a367
commit
79cb025d25
@ -7,6 +7,7 @@ enum class FUNCTION {
|
|||||||
FUNCTION_DP2A,
|
FUNCTION_DP2A,
|
||||||
FUNCTION_DP3,
|
FUNCTION_DP3,
|
||||||
FUNCTION_DP4,
|
FUNCTION_DP4,
|
||||||
|
FUNCTION_DPH,
|
||||||
FUNCTION_SFL, // Set zero
|
FUNCTION_SFL, // Set zero
|
||||||
FUNCTION_STR, // Set One
|
FUNCTION_STR, // Set One
|
||||||
FUNCTION_FRACT,
|
FUNCTION_FRACT,
|
||||||
|
@ -654,7 +654,7 @@ std::string VertexProgramDecompiler::Decompile()
|
|||||||
case RSX_VEC_OPCODE_ADD: SetDSTVec("($0 + $2)"); break;
|
case RSX_VEC_OPCODE_ADD: SetDSTVec("($0 + $2)"); break;
|
||||||
case RSX_VEC_OPCODE_MAD: SetDSTVec("($0 * $1 + $2)"); break;
|
case RSX_VEC_OPCODE_MAD: SetDSTVec("($0 * $1 + $2)"); break;
|
||||||
case RSX_VEC_OPCODE_DP3: SetDSTVec(getFunction(FUNCTION::FUNCTION_DP3)); break;
|
case RSX_VEC_OPCODE_DP3: SetDSTVec(getFunction(FUNCTION::FUNCTION_DP3)); break;
|
||||||
case RSX_VEC_OPCODE_DPH: SetDSTVec("dot(float4($0.xyz, 1.0), $1).xxxx"); break;
|
case RSX_VEC_OPCODE_DPH: SetDSTVec(getFunction(FUNCTION::FUNCTION_DPH)); break;
|
||||||
case RSX_VEC_OPCODE_DP4: SetDSTVec(getFunction(FUNCTION::FUNCTION_DP4)); break;
|
case RSX_VEC_OPCODE_DP4: SetDSTVec(getFunction(FUNCTION::FUNCTION_DP4)); break;
|
||||||
case RSX_VEC_OPCODE_DST: SetDSTVec("vec4(distance($0, $1))"); break;
|
case RSX_VEC_OPCODE_DST: SetDSTVec("vec4(distance($0, $1))"); break;
|
||||||
case RSX_VEC_OPCODE_MIN: SetDSTVec("min($0, $1)"); break;
|
case RSX_VEC_OPCODE_MIN: SetDSTVec("min($0, $1)"); break;
|
||||||
|
@ -35,6 +35,8 @@ std::string GLVertexDecompilerThread::getFunction(FUNCTION f)
|
|||||||
return "vec4(dot($0.xyz, $1.xyz))";
|
return "vec4(dot($0.xyz, $1.xyz))";
|
||||||
case FUNCTION::FUNCTION_DP4:
|
case FUNCTION::FUNCTION_DP4:
|
||||||
return "vec4(dot($0, $1))";
|
return "vec4(dot($0, $1))";
|
||||||
|
case FUNCTION::FUNCTION_DPH:
|
||||||
|
return "vec4(dot(vec4($0.xyz, 1.0), $1))";
|
||||||
case FUNCTION::FUNCTION_SFL:
|
case FUNCTION::FUNCTION_SFL:
|
||||||
return "vec4(0., 0., 0., 0.)";
|
return "vec4(0., 0., 0., 0.)";
|
||||||
case FUNCTION::FUNCTION_STR:
|
case FUNCTION::FUNCTION_STR:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user