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");