summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2011-12-07 22:47:13 -0600
committerRyan Houdek <Sonicadvance1@gmail.com>2011-12-07 22:47:13 -0600
commitbf4ef054d3cf2889a7753d86ce3b582ce5349e4c (patch)
tree0d60e432a326a0e54fea631c17f956b26b8aed2f /Source
parented18b82d2f9b36293f6b3ffaaeeaf958cf024144 (diff)
Shader Compile fixes. Played SMS for two shines.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/VideoCommon/Src/PixelShaderGen.cpp2
-rw-r--r--Source/Core/VideoCommon/Src/TextureConversionShader.cpp10
2 files changed, 5 insertions, 7 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
index d3d59cde63..dcfa2da05d 100644
--- a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
+++ b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
@@ -750,7 +750,7 @@ const char *GeneratePixelShaderCode(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType
// optional perspective divides
if (xfregs.texMtxInfo[i].projection == XF_TEXPROJ_STQ)
{
- WRITE(p, "if (uv%d.z)", i);
+ WRITE(p, "if (uv%d.z != 0.0f)", i);
WRITE(p, " uv%d.xy = uv%d.xy / uv%d.z;\n", i, i, i);
}
diff --git a/Source/Core/VideoCommon/Src/TextureConversionShader.cpp b/Source/Core/VideoCommon/Src/TextureConversionShader.cpp
index ce4a5ca1f4..caa4ff8f72 100644
--- a/Source/Core/VideoCommon/Src/TextureConversionShader.cpp
+++ b/Source/Core/VideoCommon/Src/TextureConversionShader.cpp
@@ -125,8 +125,7 @@ void WriteSwizzler(char*& p, u32 format, API_TYPE ApiType)
WRITE(p," in float2 uv0 : TEXCOORD0)\n");
}
- WRITE(p," in float2 uv0 : TEXCOORD0)\n"
- "{\n"
+ WRITE(p, "{\n"
" float2 sampleUv;\n"
" float2 uv1 = floor(uv0);\n");
@@ -448,10 +447,9 @@ void WriteRGB565Encoder(char* p,API_TYPE ApiType)
WriteSampleColor(p, "rgb", "float3 texSample0",ApiType);
WriteIncrementSampleX(p,ApiType);
WriteSampleColor(p, "rgb", "float3 texSample1",ApiType);
-
- WRITE(p, " float2 texRs = {texSample0.r, texSample1.r};\n");
- WRITE(p, " float2 texGs = {texSample0.g, texSample1.g};\n");
- WRITE(p, " float2 texBs = {texSample0.b, texSample1.b};\n");
+ WRITE(p, " float2 texRs = float2(texSample0.r, texSample1.r);\n");
+ WRITE(p, " float2 texGs = float2(texSample0.g, texSample1.g);\n");
+ WRITE(p, " float2 texBs = float2(texSample0.b, texSample1.b);\n");
WriteToBitDepth(p, 6, "texGs", "float2 gInt");
WRITE(p, " float2 gUpper = floor(gInt / 8.0f);\n");