diff options
| author | Stenzek <stenzek@gmail.com> | 2018-08-24 23:53:00 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2018-08-24 23:53:00 +1000 |
| commit | bae1168fe93023e598222bbff7aac2d8aa399ef0 (patch) | |
| tree | fc814d7246e7445d67ce2b4ba67f292f009e9f92 /Source/Core/VideoCommon/PixelShaderGen.cpp | |
| parent | 248afb9fa7bfd7da362a69892b3f0eac854299d4 (diff) | |
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.
Diffstat (limited to 'Source/Core/VideoCommon/PixelShaderGen.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/PixelShaderGen.cpp | 4 |
1 files 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"); } } |
