summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2011-12-07 22:47:13 -0600
committerSonicadvance1 <sonicadvance1@RH-Live.(none)>2012-10-09 23:33:02 -0500
commit9064b76deb5e30a56044bddf080584f194879dc9 (patch)
tree76d4d2495e238e55931cf77b822af34b59f2ab9c /Source/Core
parent3160da1289794862fd363e1e2fb89cf1e5858c2c (diff)
Shader Compile fixes. Played SMS for two shines.
Diffstat (limited to 'Source/Core')
-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 602e375377..19424230c7 100644
--- a/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
+++ b/Source/Core/VideoCommon/Src/PixelShaderGen.cpp
@@ -697,7 +697,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 b7a9df7e04..abf2b934f9 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");