From bae1168fe93023e598222bbff7aac2d8aa399ef0 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Fri, 24 Aug 2018 23:53:00 +1000 Subject: [PATCH] PixelShaderGen: Ensure all components of ocol1 are initialized This was causing a warning in the shader compiler, as the rgb components were not initialized. Which shouldn't be an issue, as the rgb is not used in the blend equation, only the alpha. However, the lack of initialization causes crashes in Intel's D3D shader compiler, so we'll play nice and initialize all the channels. --- Source/Core/VideoCommon/PixelShaderGen.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/VideoCommon/PixelShaderGen.cpp b/Source/Core/VideoCommon/PixelShaderGen.cpp index da648b3ba6..7ba5edba7f 100644 --- a/Source/Core/VideoCommon/PixelShaderGen.cpp +++ b/Source/Core/VideoCommon/PixelShaderGen.cpp @@ -1406,13 +1406,13 @@ static void WriteColor(ShaderCode& out, APIType api_type, const pixel_shader_uid // Use dual-source color blending to perform dst alpha in a single pass if (use_dual_source) - out.Write("\tocol1.a = float(prev.a) / 255.0;\n"); + out.Write("\tocol1 = float4(0.0, 0.0, 0.0, float(prev.a) / 255.0);\n"); } else { out.Write("\tocol0.a = float(prev.a >> 2) / 63.0;\n"); if (use_dual_source) - out.Write("\tocol1.a = float(prev.a) / 255.0;\n"); + out.Write("\tocol1 = float4(0.0, 0.0, 0.0, float(prev.a) / 255.0);\n"); } }