diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 502dfec4194..67eeef03720 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -665,17 +665,16 @@ static void shader_arb_update_float_vertex_constants(IWineD3DDeviceImpl *device, device->highest_dirty_vs_const = max(device->highest_dirty_vs_const, start + count); } -static void shader_arb_update_float_pixel_constants(IWineD3DDevice *iface, UINT start, UINT count) +static void shader_arb_update_float_pixel_constants(IWineD3DDeviceImpl *device, UINT start, UINT count) { - IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; struct wined3d_context *context = context_get_current(); /* We don't want shader constant dirtification to be an O(contexts), so just dirtify the active * context. On a context switch the old context will be fully dirtified */ - if (!context || context->swapchain->device != This) return; + if (!context || context->swapchain->device != device) return; memset(context->pshader_const_dirty + start, 1, sizeof(*context->pshader_const_dirty) * count); - This->highest_dirty_ps_const = max(This->highest_dirty_ps_const, start + count); + device->highest_dirty_ps_const = max(device->highest_dirty_ps_const, start + count); } static DWORD *local_const_mapping(IWineD3DBaseShaderImpl *This) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 02c79dad370..b6f6d2944a0 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3861,7 +3861,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetPixelShaderConstantF( if (!This->isRecordingState) { - This->shader_backend->shader_update_float_pixel_constants(iface, start, count); + This->shader_backend->shader_update_float_pixel_constants(This, start, count); IWineD3DDeviceImpl_MarkStateDirty(This, STATE_PIXELSHADERCONSTANT); } diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 2d2df2610ac..9f4940ef20e 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -878,16 +878,15 @@ static void shader_glsl_update_float_vertex_constants(IWineD3DDeviceImpl *device } } -static void shader_glsl_update_float_pixel_constants(IWineD3DDevice *iface, UINT start, UINT count) +static void shader_glsl_update_float_pixel_constants(IWineD3DDeviceImpl *device, UINT start, UINT count) { - IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; - struct shader_glsl_priv *priv = This->shader_priv; + struct shader_glsl_priv *priv = device->shader_priv; struct constant_heap *heap = &priv->pconst_heap; UINT i; for (i = start; i < count + start; ++i) { - if (!This->stateBlock->changed.pixelShaderConstantsF[i]) + if (!device->stateBlock->changed.pixelShaderConstantsF[i]) update_heap_entry(heap, i, heap->size++, priv->next_constant_version); else update_heap_entry(heap, i, heap->positions[i], priv->next_constant_version); diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 0962eefbdc8..1caa3b67be4 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -1514,7 +1514,7 @@ static void shader_none_select_depth_blt(void *shader_priv, const struct wined3d enum tex_types tex_type, const SIZE *ds_mask_size) {} static void shader_none_deselect_depth_blt(void *shader_priv, const struct wined3d_gl_info *gl_info) {} static void shader_none_update_float_vertex_constants(IWineD3DDeviceImpl *device, UINT start, UINT count) {} -static void shader_none_update_float_pixel_constants(IWineD3DDevice *iface, UINT start, UINT count) {} +static void shader_none_update_float_pixel_constants(IWineD3DDeviceImpl *device, UINT start, UINT count) {} static void shader_none_load_constants(const struct wined3d_context *context, char usePS, char useVS) {} static void shader_none_load_np2fixup_constants(void *shader_priv, const struct wined3d_gl_info *gl_info, const struct wined3d_state *state) {} diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 7cb6c782e94..566e67f48c3 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -754,7 +754,7 @@ typedef struct { enum tex_types tex_type, const SIZE *ds_mask_size); void (*shader_deselect_depth_blt)(void *shader_priv, const struct wined3d_gl_info *gl_info); void (*shader_update_float_vertex_constants)(IWineD3DDeviceImpl *device, UINT start, UINT count); - void (*shader_update_float_pixel_constants)(IWineD3DDevice *iface, UINT start, UINT count); + void (*shader_update_float_pixel_constants)(IWineD3DDeviceImpl *device, UINT start, UINT count); void (*shader_load_constants)(const struct wined3d_context *context, char usePS, char useVS); void (*shader_load_np2fixup_constants)(void *shader_priv, const struct wined3d_gl_info *gl_info, const struct wined3d_state *state);