[PATCH 02/10] wined3d: Reset the changed float shader constants in stateblock_init_default_state().

Henri Verbeet hverbeet at codeweavers.com
Tue Jan 17 14:13:31 CST 2012


The GLSL constant tracking needs these to be correct.
---
 dlls/wined3d/stateblock.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index 9a109ed..59bb841 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -1107,6 +1107,9 @@ void stateblock_init_default_state(struct wined3d_stateblock *stateblock)
 
     stateblock->blockType = WINED3DSBT_INIT;
 
+    memset(stateblock->changed.pixelShaderConstantsF, 0, device->d3d_pshader_constantF * sizeof(BOOL));
+    memset(stateblock->changed.vertexShaderConstantsF, 0, device->d3d_vshader_constantF * sizeof(BOOL));
+
     /* Set some of the defaults for lights, transforms etc */
     memcpy(&state->transforms[WINED3D_TS_PROJECTION], identity, sizeof(identity));
     memcpy(&state->transforms[WINED3D_TS_VIEW], identity, sizeof(identity));
-- 
1.7.3.4




More information about the wine-patches mailing list