diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 4f61eba8f3b..dddc4e63faa 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2830,15 +2830,15 @@ struct wined3d_sampler * CDECL wined3d_device_get_ds_sampler(const struct wined3 void CDECL wined3d_device_set_geometry_shader(struct wined3d_device *device, struct wined3d_shader *shader) { - struct wined3d_shader *prev = device->update_state->shader[WINED3D_SHADER_TYPE_GEOMETRY]; + struct wined3d_shader *prev = device->state.shader[WINED3D_SHADER_TYPE_GEOMETRY]; TRACE("device %p, shader %p.\n", device, shader); - if (device->recording || shader == prev) + if (shader == prev) return; if (shader) wined3d_shader_incref(shader); - device->update_state->shader[WINED3D_SHADER_TYPE_GEOMETRY] = shader; + device->state.shader[WINED3D_SHADER_TYPE_GEOMETRY] = shader; wined3d_cs_emit_set_shader(device->cs, WINED3D_SHADER_TYPE_GEOMETRY, shader); if (prev) wined3d_shader_decref(prev);