[PATCH 5/5] wined3d: Initialize WINED3DTA_TEMP.
Stefan Dösinger
stefan at codeweavers.com
Wed Mar 11 04:33:46 CDT 2015
test_3dc_formats makes use of this to load 0.0 into the fixed function
fragment processing setup. This patch fixes this test on r300g.
---
dlls/wined3d/arb_program_shader.c | 3 +++
dlls/wined3d/glsl_shader.c | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 688bdb7..e7ee1c1 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -6298,6 +6298,9 @@ static GLuint gen_arbfp_ffp_shader(const struct ffp_frag_settings *settings, con
if (lowest_disabled_stage < 7 && settings->emul_clipplanes)
shader_addline(&buffer, "KIL fragment.texcoord[7];\n");
+ if (tempreg_used || settings->sRGB_write)
+ shader_addline(&buffer, "MOV tempreg, 0.0;\n");
+
/* Generate texture sampling instructions) */
for (stage = 0; stage < MAX_TEXTURES && settings->op[stage].cop != WINED3D_TOP_DISABLE; ++stage)
{
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 0804997..0b239f9 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -5413,7 +5413,7 @@ static GLuint shader_glsl_generate_ffp_fragment_shader(struct wined3d_shader_buf
shader_addline(buffer, "vec4 tmp0, tmp1;\n");
shader_addline(buffer, "vec4 ret;\n");
if (tempreg_used || settings->sRGB_write)
- shader_addline(buffer, "vec4 temp_reg;\n");
+ shader_addline(buffer, "vec4 temp_reg = vec4(0.0);\n");
shader_addline(buffer, "vec4 arg0, arg1, arg2;\n");
for (stage = 0; stage < MAX_TEXTURES; ++stage)
--
2.3.0
More information about the wine-patches
mailing list