wined3d: Fix constant setting for the ARB backend.
authorHenri Verbeet <hverbeet@codeweavers.com>
Wed, 17 Dec 2008 16:07:24 +0000 (17:07 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 18 Dec 2008 12:16:46 +0000 (13:16 +0100)
dlls/wined3d/device.c

index 326c8ba8bb4442e96cd705bc6d8e6fe8f8ea8862..934204037ccb9751696f668b2465c3784a7b3b37 100644 (file)
@@ -3639,6 +3639,8 @@ UINT count) {
     This->highest_dirty_vs_const = max(This->highest_dirty_vs_const, start+count+1);
 
     IWineD3DDeviceImpl_MarkStateDirty(This, STATE_VERTEXSHADERCONSTANT);
+    memset(This->updateStateBlock->changed.vertexShaderConstantsF + start, 1,
+            sizeof(*This->updateStateBlock->changed.vertexShaderConstantsF) * count);
 
     return WINED3D_OK;
 }
@@ -4072,6 +4074,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetPixelShaderConstantF_DirtyConst(
     This->highest_dirty_ps_const = max(This->highest_dirty_ps_const, start+count+1);
 
     IWineD3DDeviceImpl_MarkStateDirty(This, STATE_PIXELSHADERCONSTANT);
+    memset(This->updateStateBlock->changed.pixelShaderConstantsF + start, 1,
+            sizeof(*This->updateStateBlock->changed.pixelShaderConstantsF) * count);
 
     return WINED3D_OK;
 }