summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp
diff options
context:
space:
mode:
authorRodolfo Osvaldo Bogado <rodolfoosvaldobogado@gmail.com>2009-11-23 14:08:08 +0000
committerRodolfo Osvaldo Bogado <rodolfoosvaldobogado@gmail.com>2009-11-23 14:08:08 +0000
commit55dc7efaa427f442bec4fa5cdbb7ad0ecba19082 (patch)
treea91c84ba52cfdd127b7cbb69e1c6617ef4475146 /Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp
parent37f1e1ca73596b2f12efba53ef107263bd0eee8c (diff)
corrected viewport and scissor test behavior in both plugins.
some code cleanup in d3d. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4605 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp43
1 files changed, 20 insertions, 23 deletions
diff --git a/Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp b/Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp
index 08917a7011..f622b335e0 100644
--- a/Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp
+++ b/Source/Plugins/Plugin_VideoDX9/Src/PixelShaderCache.cpp
@@ -90,32 +90,33 @@ void SetPSConstant4fv(int const_number, const float *f)
void PixelShaderCache::Init()
{
- char pmatrixprog[1024];
- sprintf(pmatrixprog,"uniform sampler samp0 : register(s0);\n"
- "uniform float4 cColMatrix[5] : register(c%d);\n"
- "void main(\n"
+ char pprog[1024];
+ sprintf(pprog,"void main(\n"
"out float4 ocol0 : COLOR0,\n"
- " in float3 uv0 : TEXCOORD0){\n"
- "float4 texcol = tex2D(samp0,uv0.xy);\n"
- "ocol0 = float4(dot(texcol,cColMatrix[0]),dot(texcol,cColMatrix[1]),dot(texcol,cColMatrix[2]),dot(texcol,cColMatrix[3])) + cColMatrix[4];\n"
- "}\n",C_COLORMATRIX);
- char pcopyprog[1024];
- sprintf(pcopyprog,"uniform sampler samp0 : register(s0);\n"
+ " in float4 incol0 : COLOR0){\n"
+ "ocol0 = incol0;\n"
+ "}\n");
+ s_ClearProgram = D3D::CompilePixelShader(pprog, (int)strlen(pprog));
+
+ sprintf(pprog,"uniform sampler samp0 : register(s0);\n"
"void main(\n"
"out float4 ocol0 : COLOR0,\n"
" in float3 uv0 : TEXCOORD0){\n"
"ocol0 = tex2D(samp0,uv0.xy);\n"
"}\n");
-
- char pclearprog[1024];
- sprintf(pclearprog,"void main(\n"
+ s_ColorCopyProgram = D3D::CompilePixelShader(pprog, (int)strlen(pprog));
+
+ sprintf(pprog,"uniform sampler samp0 : register(s0);\n"
+ "uniform float4 cColMatrix[5] : register(c%d);\n"
+ "void main(\n"
"out float4 ocol0 : COLOR0,\n"
- " in float4 incol0 : COLOR0){\n"
- "ocol0 = incol0;\n"
- "}\n");
+ " in float3 uv0 : TEXCOORD0){\n"
+ "float4 texcol = tex2D(samp0,uv0.xy);\n"
+ "ocol0 = float4(dot(texcol,cColMatrix[0]),dot(texcol,cColMatrix[1]),dot(texcol,cColMatrix[2]),dot(texcol,cColMatrix[3])) + cColMatrix[4];\n"
+ "}\n",C_COLORMATRIX);
+ s_ColorMatrixProgram = D3D::CompilePixelShader(pprog, (int)strlen(pprog));
- char pdmatrixprog[1024];
- sprintf(pdmatrixprog,"uniform sampler samp0 : register(s0);\n"
+ sprintf(pprog,"uniform sampler samp0 : register(s0);\n"
"uniform float4 cColMatrix[5] : register(c%d);\n"
"void main(\n"
"out float4 ocol0 : COLOR0,\n"
@@ -125,11 +126,7 @@ void PixelShaderCache::Init()
"texcol = float4((EncodedDepth.rgb * (16777216.0f/16777215.0f)),1.0f);\n"
"ocol0 = float4(dot(texcol,cColMatrix[0]),dot(texcol,cColMatrix[1]),dot(texcol,cColMatrix[2]),dot(texcol,cColMatrix[3])) + cColMatrix[4];\n"
"}\n",C_COLORMATRIX);
-
- s_ColorMatrixProgram = D3D::CompilePixelShader(pmatrixprog, (int)strlen(pmatrixprog));
- s_ColorCopyProgram = D3D::CompilePixelShader(pcopyprog, (int)strlen(pcopyprog));
- s_DepthMatrixProgram = D3D::CompilePixelShader(pdmatrixprog, (int)strlen(pdmatrixprog));
- s_ClearProgram = D3D::CompilePixelShader(pclearprog, (int)strlen(pclearprog));
+ s_DepthMatrixProgram = D3D::CompilePixelShader(pprog, (int)strlen(pprog));
Clear();
}