summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/Src/PixelShaderGen.cpp22
1 files changed, 8 insertions, 14 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
index 112e57d5a0..beb44c45d9 100644
--- a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
+++ b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
@@ -761,18 +761,16 @@ static void WriteStage(char *&p, int n, u32 texture_mask, u32 HLSL)
if(!(cc.d == TEVCOLORARG_ZERO && cc.op == 0))
WRITE(p, "%s%s",tevCInputTable[cc.d],tevOpTable[cc.op]);
- if (cc.a == TEVCOLORARG_ZERO && cc.b == TEVCOLORARG_ZERO)
- WRITE(p, "float3(0.0f,0.0f,0.0f)");
- else if (cc.a == TEVCOLORARG_ZERO && cc.c == TEVCOLORARG_ZERO)
- WRITE(p, "float3(0.0f,0.0f,0.0f)");
- else if (cc.b == TEVCOLORARG_ZERO && cc.c == TEVCOLORARG_ZERO)
+ if (cc.a == cc.b)
WRITE(p,"%s",tevCInputTable[cc.a]);
+ else if (cc.c == TEVCOLORARG_ZERO)
+ WRITE(p,"%s",tevCInputTable[cc.a]);
+ else if (cc.c == TEVCOLORARG_ONE)
+ WRITE(p,"%s",tevCInputTable[cc.b]);
else if (cc.a == TEVCOLORARG_ZERO)
WRITE(p,"%s*%s",tevCInputTable[cc.b],tevCInputTable[cc.c]);
else if (cc.b == TEVCOLORARG_ZERO)
WRITE(p,"%s*(float3(1.0f,1.0f,1.0f)-%s)",tevCInputTable[cc.a],tevCInputTable[cc.c]);
- else if (cc.c == TEVCOLORARG_ZERO)
- WRITE(p,"%s",tevCInputTable[cc.a]);
else
WRITE(p, "lerp(%s,%s,%s)",tevCInputTable[cc.a], tevCInputTable[cc.b],tevCInputTable[cc.c]);
@@ -809,18 +807,14 @@ static void WriteStage(char *&p, int n, u32 texture_mask, u32 HLSL)
if(!(ac.d == TEVALPHAARG_ZERO && ac.op == 0))
WRITE(p, "%s%s",tevAInputTable[ac.d],tevOpTable[ac.op]);
- if (ac.a == TEVALPHAARG_ZERO && ac.b == TEVALPHAARG_ZERO)
- WRITE(p, "0.0f");
- else if (ac.a == TEVALPHAARG_ZERO && ac.c == TEVALPHAARG_ZERO)
- WRITE(p, "0.0f");
- else if (ac.b == TEVALPHAARG_ZERO && ac.c == TEVALPHAARG_ZERO)
+ if (ac.a == ac.b)
+ WRITE(p,"%s",tevAInputTable[ac.a]);
+ else if (ac.c == TEVALPHAARG_ZERO)
WRITE(p,"%s",tevAInputTable[ac.a]);
else if (ac.a == TEVALPHAARG_ZERO)
WRITE(p,"%s*%s",tevAInputTable[ac.b],tevAInputTable[ac.c]);
else if (ac.b == TEVALPHAARG_ZERO)
WRITE(p,"%s*(1.0f-%s)",tevAInputTable[ac.a],tevAInputTable[ac.c]);
- else if (ac.c == TEVALPHAARG_ZERO)
- WRITE(p,"%s",tevAInputTable[ac.a]);
else
WRITE(p, "lerp(%s,%s,%s)",tevAInputTable[ac.a],tevAInputTable[ac.b],tevAInputTable[ac.c]);