Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/cs.c | 8 ++++---- dlls/wined3d/device.c | 4 ++-- dlls/wined3d/wined3d_private.h | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c index f7b682b627e..f32699c40cd 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -1304,19 +1304,19 @@ static void wined3d_cs_exec_set_stream_source(struct wined3d_cs *cs, const void device_invalidate_state(cs->c.device, STATE_STREAMSRC); }
-void wined3d_cs_emit_set_stream_source(struct wined3d_cs *cs, UINT stream_idx, - struct wined3d_buffer *buffer, UINT offset, UINT stride) +void wined3d_device_context_emit_set_stream_source(struct wined3d_device_context *context, unsigned int stream_idx, + struct wined3d_buffer *buffer, unsigned int offset, unsigned int stride) { struct wined3d_cs_set_stream_source *op;
- op = wined3d_device_context_require_space(&cs->c, sizeof(*op), WINED3D_CS_QUEUE_DEFAULT); + op = wined3d_device_context_require_space(context, sizeof(*op), WINED3D_CS_QUEUE_DEFAULT); op->opcode = WINED3D_CS_OP_SET_STREAM_SOURCE; op->stream_idx = stream_idx; op->buffer = buffer; op->offset = offset; op->stride = stride;
- wined3d_device_context_submit(&cs->c, WINED3D_CS_QUEUE_DEFAULT); + wined3d_device_context_submit(context, WINED3D_CS_QUEUE_DEFAULT); }
static void wined3d_cs_exec_set_stream_source_freq(struct wined3d_cs *cs, const void *data) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 5ff11f15b13..35b1ccc4212 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1362,7 +1362,7 @@ HRESULT CDECL wined3d_device_set_stream_source(struct wined3d_device *device, UI stream->offset = offset; if (buffer) wined3d_buffer_incref(buffer); - wined3d_cs_emit_set_stream_source(device->cs, stream_idx, buffer, offset, stride); + wined3d_device_context_emit_set_stream_source(&device->cs->c, stream_idx, buffer, offset, stride); if (prev_buffer) wined3d_buffer_decref(prev_buffer);
@@ -1888,7 +1888,7 @@ void CDECL wined3d_device_set_state(struct wined3d_device *device, struct wined3
for (i = 0; i < WINED3D_MAX_STREAMS; ++i) { - wined3d_cs_emit_set_stream_source(device->cs, i, state->streams[i].buffer, + wined3d_device_context_emit_set_stream_source(context, i, state->streams[i].buffer, state->streams[i].offset, state->streams[i].stride); }
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 0df57a91049..f8e17024bf7 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -4761,8 +4761,6 @@ void wined3d_cs_emit_set_sampler_state(struct wined3d_cs *cs, UINT sampler_idx, enum wined3d_sampler_state state, DWORD value) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_stream_output(struct wined3d_cs *cs, UINT stream_idx, struct wined3d_buffer *buffer, UINT offset) DECLSPEC_HIDDEN; -void wined3d_cs_emit_set_stream_source(struct wined3d_cs *cs, UINT stream_idx, - struct wined3d_buffer *buffer, UINT offset, UINT stride) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_stream_source_freq(struct wined3d_cs *cs, UINT stream_idx, UINT frequency, UINT flags) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_texture(struct wined3d_cs *cs, UINT stage, struct wined3d_texture *texture) DECLSPEC_HIDDEN; @@ -4818,6 +4816,8 @@ void wined3d_device_context_emit_set_shader(struct wined3d_device_context *conte void wined3d_device_context_emit_set_shader_resource_view(struct wined3d_device_context *context, enum wined3d_shader_type type, unsigned int view_idx, struct wined3d_shader_resource_view *view) DECLSPEC_HIDDEN; +void wined3d_device_context_emit_set_stream_source(struct wined3d_device_context *context, unsigned int stream_idx, + struct wined3d_buffer *buffer, unsigned int offset, unsigned int stride) DECLSPEC_HIDDEN; void wined3d_device_context_emit_set_unordered_access_view(struct wined3d_device_context *context, enum wined3d_pipeline pipeline, unsigned int view_idx, struct wined3d_unordered_access_view *view, unsigned int initial_count) DECLSPEC_HIDDEN;
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/device.c | 79 ++++++++++++++++++++++----------------- dlls/wined3d/wined3d.spec | 1 + include/wine/wined3d.h | 2 + 3 files changed, 47 insertions(+), 35 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 35b1ccc4212..d71c1c37091 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1329,44 +1329,10 @@ struct wined3d_buffer * CDECL wined3d_device_get_stream_output(struct wined3d_de HRESULT CDECL wined3d_device_set_stream_source(struct wined3d_device *device, UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride) { - struct wined3d_stream_state *stream; - struct wined3d_buffer *prev_buffer; - TRACE("device %p, stream_idx %u, buffer %p, offset %u, stride %u.\n", device, stream_idx, buffer, offset, stride);
- if (stream_idx >= WINED3D_MAX_STREAMS) - { - WARN("Stream index %u out of range.\n", stream_idx); - return WINED3DERR_INVALIDCALL; - } - else if (offset & 0x3) - { - WARN("Offset %u is not 4 byte aligned.\n", offset); - return WINED3DERR_INVALIDCALL; - } - - stream = &device->cs->c.state->streams[stream_idx]; - prev_buffer = stream->buffer; - - if (prev_buffer == buffer - && stream->stride == stride - && stream->offset == offset) - { - TRACE("Application is setting the old values over, nothing to do.\n"); - return WINED3D_OK; - } - - stream->buffer = buffer; - stream->stride = stride; - stream->offset = offset; - if (buffer) - wined3d_buffer_incref(buffer); - wined3d_device_context_emit_set_stream_source(&device->cs->c, stream_idx, buffer, offset, stride); - if (prev_buffer) - wined3d_buffer_decref(prev_buffer); - - return WINED3D_OK; + return wined3d_device_context_set_stream_source(&device->cs->c, stream_idx, buffer, offset, stride); }
HRESULT CDECL wined3d_device_get_stream_source(const struct wined3d_device *device, @@ -2425,6 +2391,49 @@ void CDECL wined3d_device_context_set_predication(struct wined3d_device_context wined3d_query_decref(prev); }
+HRESULT CDECL wined3d_device_context_set_stream_source(struct wined3d_device_context *context, + unsigned int stream_idx, struct wined3d_buffer *buffer, unsigned int offset, unsigned int stride) +{ + struct wined3d_stream_state *stream; + struct wined3d_buffer *prev_buffer; + + TRACE("context %p, stream_idx %u, buffer %p, offset %u, stride %u.\n", + context, stream_idx, buffer, offset, stride); + + if (stream_idx >= WINED3D_MAX_STREAMS) + { + WARN("Stream index %u out of range.\n", stream_idx); + return WINED3DERR_INVALIDCALL; + } + else if (offset & 0x3) + { + WARN("Offset %u is not 4 byte aligned.\n", offset); + return WINED3DERR_INVALIDCALL; + } + + stream = &context->state->streams[stream_idx]; + prev_buffer = stream->buffer; + + if (prev_buffer == buffer + && stream->stride == stride + && stream->offset == offset) + { + TRACE("Application is setting the old values over, nothing to do.\n"); + return WINED3D_OK; + } + + stream->buffer = buffer; + stream->stride = stride; + stream->offset = offset; + if (buffer) + wined3d_buffer_incref(buffer); + wined3d_device_context_emit_set_stream_source(context, stream_idx, buffer, offset, stride); + if (prev_buffer) + wined3d_buffer_decref(prev_buffer); + + return WINED3D_OK; +} + void CDECL wined3d_device_set_vertex_shader(struct wined3d_device *device, struct wined3d_shader *shader) { TRACE("device %p, shader %p.\n", device, shader); diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index 762cbd97f7c..cac0c19bab4 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec @@ -177,6 +177,7 @@ @ cdecl wined3d_device_context_set_scissor_rects(ptr long ptr) @ cdecl wined3d_device_context_set_shader(ptr long ptr) @ cdecl wined3d_device_context_set_shader_resource_view(ptr long long ptr) +@ cdecl wined3d_device_context_set_stream_source(ptr long ptr long long) @ cdecl wined3d_device_context_set_unordered_access_view(ptr long long ptr long) @ cdecl wined3d_device_context_set_viewports(ptr long ptr)
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index 82cce3d0251..3f29b78044e 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2577,6 +2577,8 @@ void __cdecl wined3d_device_context_set_shader(struct wined3d_device_context *co enum wined3d_shader_type type, struct wined3d_shader *shader); void __cdecl wined3d_device_context_set_shader_resource_view(struct wined3d_device_context *context, enum wined3d_shader_type type, unsigned int idx, struct wined3d_shader_resource_view *view); +HRESULT __cdecl wined3d_device_context_set_stream_source(struct wined3d_device_context *context, + unsigned int stream_idx, struct wined3d_buffer *buffer, unsigned int offset, unsigned int stride); void __cdecl wined3d_device_context_set_unordered_access_view(struct wined3d_device_context *context, enum wined3d_pipeline pipeline, unsigned int idx, struct wined3d_unordered_access_view *uav, unsigned int initial_count);
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/d3d11/device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 6e0ae6d695b..63172472b0e 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -666,7 +666,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_IASetInputLayout(ID3D11Dev static void STDMETHODCALLTYPE d3d11_immediate_context_IASetVertexBuffers(ID3D11DeviceContext1 *iface, UINT start_slot, UINT buffer_count, ID3D11Buffer *const *buffers, const UINT *strides, const UINT *offsets) { - struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface); + struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface); unsigned int i;
TRACE("iface %p, start_slot %u, buffer_count %u, buffers %p, strides %p, offsets %p.\n", @@ -677,7 +677,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_IASetVertexBuffers(ID3D11D { struct d3d_buffer *buffer = unsafe_impl_from_ID3D11Buffer(buffers[i]);
- wined3d_device_set_stream_source(device->wined3d_device, start_slot + i, + wined3d_device_context_set_stream_source(context->wined3d_context, start_slot + i, buffer ? buffer->wined3d_buffer : NULL, offsets[i], strides[i]); } wined3d_mutex_unlock(); @@ -2613,7 +2613,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceCon } for (i = 0; i < D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT; ++i) { - wined3d_device_set_stream_source(device->wined3d_device, i, NULL, 0, 0); + wined3d_device_context_set_stream_source(context->wined3d_context, i, NULL, 0, 0); } wined3d_device_set_index_buffer(device->wined3d_device, NULL, WINED3DFMT_UNKNOWN, 0); wined3d_device_set_vertex_declaration(device->wined3d_device, NULL);
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=87528
Your paranoid android.
=== debiant2 (32 bit Chinese:China report) ===
d3d11: Unhandled exception: page fault on execute access to 0x02a75990 in 32-bit code (0x02a75990).
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/cs.c | 6 +++--- dlls/wined3d/device.c | 5 +++-- dlls/wined3d/wined3d_private.h | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c index f32699c40cd..468819b604b 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -1395,18 +1395,18 @@ static void wined3d_cs_exec_set_index_buffer(struct wined3d_cs *cs, const void * device_invalidate_state(cs->c.device, STATE_INDEXBUFFER); }
-void wined3d_cs_emit_set_index_buffer(struct wined3d_cs *cs, struct wined3d_buffer *buffer, +void wined3d_device_context_emit_set_index_buffer(struct wined3d_device_context *context, struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset) { struct wined3d_cs_set_index_buffer *op;
- op = wined3d_device_context_require_space(&cs->c, sizeof(*op), WINED3D_CS_QUEUE_DEFAULT); + op = wined3d_device_context_require_space(context, sizeof(*op), WINED3D_CS_QUEUE_DEFAULT); op->opcode = WINED3D_CS_OP_SET_INDEX_BUFFER; op->buffer = buffer; op->format_id = format_id; op->offset = offset;
- wined3d_device_context_submit(&cs->c, WINED3D_CS_QUEUE_DEFAULT); + wined3d_device_context_submit(context, WINED3D_CS_QUEUE_DEFAULT); }
static void wined3d_cs_exec_set_constant_buffer(struct wined3d_cs *cs, const void *data) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index d71c1c37091..dd6b68d7e99 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1619,7 +1619,7 @@ void CDECL wined3d_device_set_index_buffer(struct wined3d_device *device, state->index_buffer = buffer; state->index_format = format_id; state->index_offset = offset; - wined3d_cs_emit_set_index_buffer(device->cs, buffer, format_id, offset); + wined3d_device_context_emit_set_index_buffer(&device->cs->c, buffer, format_id, offset); if (prev_buffer) wined3d_buffer_decref(prev_buffer); } @@ -1858,7 +1858,8 @@ void CDECL wined3d_device_set_state(struct wined3d_device *device, struct wined3 state->streams[i].offset, state->streams[i].stride); }
- wined3d_cs_emit_set_index_buffer(device->cs, state->index_buffer, state->index_format, state->index_offset); + wined3d_device_context_emit_set_index_buffer(context, state->index_buffer, + state->index_format, state->index_offset);
wined3d_device_context_emit_set_predication(context, state->predicate, state->predicate_value);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index f8e17024bf7..db5fc317ba3 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -4750,8 +4750,6 @@ void wined3d_cs_emit_set_clip_plane(struct wined3d_cs *cs, UINT plane_idx, void wined3d_cs_emit_set_color_key(struct wined3d_cs *cs, struct wined3d_texture *texture, WORD flags, const struct wined3d_color_key *color_key) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_feature_level(struct wined3d_cs *cs, enum wined3d_feature_level level) DECLSPEC_HIDDEN; -void wined3d_cs_emit_set_index_buffer(struct wined3d_cs *cs, struct wined3d_buffer *buffer, - enum wined3d_format_id format_id, unsigned int offset) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_light(struct wined3d_cs *cs, const struct wined3d_light_info *light) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_light_enable(struct wined3d_cs *cs, unsigned int idx, BOOL enable) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_material(struct wined3d_cs *cs, const struct wined3d_material *material) DECLSPEC_HIDDEN; @@ -4801,6 +4799,8 @@ void wined3d_device_context_emit_set_depth_stencil_state(struct wined3d_device_c struct wined3d_depth_stencil_state *state, unsigned int stencil_ref) DECLSPEC_HIDDEN; void wined3d_device_context_emit_set_depth_stencil_view(struct wined3d_device_context *context, struct wined3d_rendertarget_view *view) DECLSPEC_HIDDEN; +void wined3d_device_context_emit_set_index_buffer(struct wined3d_device_context *context, struct wined3d_buffer *buffer, + enum wined3d_format_id format_id, unsigned int offset) DECLSPEC_HIDDEN; void wined3d_device_context_emit_set_predication(struct wined3d_device_context *context, struct wined3d_query *predicate, BOOL value) DECLSPEC_HIDDEN; void wined3d_device_context_emit_set_rasterizer_state(struct wined3d_device_context *context,
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/device.c | 49 +++++++++++++++++++++++---------------- dlls/wined3d/wined3d.spec | 1 + include/wine/wined3d.h | 2 ++ 3 files changed, 32 insertions(+), 20 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index dd6b68d7e99..03fd97efbeb 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1599,29 +1599,10 @@ static void wined3d_device_set_material(struct wined3d_device *device, const str void CDECL wined3d_device_set_index_buffer(struct wined3d_device *device, struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset) { - struct wined3d_state *state = device->cs->c.state; - enum wined3d_format_id prev_format; - struct wined3d_buffer *prev_buffer; - unsigned int prev_offset; - TRACE("device %p, buffer %p, format %s, offset %u.\n", device, buffer, debug_d3dformat(format_id), offset);
- prev_buffer = state->index_buffer; - prev_format = state->index_format; - prev_offset = state->index_offset; - - if (prev_buffer == buffer && prev_format == format_id && prev_offset == offset) - return; - - if (buffer) - wined3d_buffer_incref(buffer); - state->index_buffer = buffer; - state->index_format = format_id; - state->index_offset = offset; - wined3d_device_context_emit_set_index_buffer(&device->cs->c, buffer, format_id, offset); - if (prev_buffer) - wined3d_buffer_decref(prev_buffer); + wined3d_device_context_set_index_buffer(&device->cs->c, buffer, format_id, offset); }
struct wined3d_buffer * CDECL wined3d_device_get_index_buffer(const struct wined3d_device *device, @@ -2435,6 +2416,34 @@ HRESULT CDECL wined3d_device_context_set_stream_source(struct wined3d_device_con return WINED3D_OK; }
+void CDECL wined3d_device_context_set_index_buffer(struct wined3d_device_context *context, + struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset) +{ + struct wined3d_state *state = context->state; + enum wined3d_format_id prev_format; + struct wined3d_buffer *prev_buffer; + unsigned int prev_offset; + + TRACE("context %p, buffer %p, format %s, offset %u.\n", + context, buffer, debug_d3dformat(format_id), offset); + + prev_buffer = state->index_buffer; + prev_format = state->index_format; + prev_offset = state->index_offset; + + if (prev_buffer == buffer && prev_format == format_id && prev_offset == offset) + return; + + if (buffer) + wined3d_buffer_incref(buffer); + state->index_buffer = buffer; + state->index_format = format_id; + state->index_offset = offset; + wined3d_device_context_emit_set_index_buffer(context, buffer, format_id, offset); + if (prev_buffer) + wined3d_buffer_decref(prev_buffer); +} + void CDECL wined3d_device_set_vertex_shader(struct wined3d_device *device, struct wined3d_shader *shader) { TRACE("device %p, shader %p.\n", device, shader); diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index cac0c19bab4..54d4ef4c23c 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec @@ -170,6 +170,7 @@ @ cdecl wined3d_device_context_set_constant_buffer(ptr long long ptr) @ cdecl wined3d_device_context_set_depth_stencil_state(ptr ptr long) @ cdecl wined3d_device_context_set_depth_stencil_view(ptr ptr) +@ cdecl wined3d_device_context_set_index_buffer(ptr ptr long long) @ cdecl wined3d_device_context_set_predication(ptr ptr long) @ cdecl wined3d_device_context_set_rasterizer_state(ptr ptr) @ cdecl wined3d_device_context_set_rendertarget_view(ptr long ptr long) diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index 3f29b78044e..3937f1f5be2 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2563,6 +2563,8 @@ void __cdecl wined3d_device_context_set_depth_stencil_state(struct wined3d_devic struct wined3d_depth_stencil_state *depth_stencil_state, unsigned int stencil_ref); HRESULT __cdecl wined3d_device_context_set_depth_stencil_view(struct wined3d_device_context *context, struct wined3d_rendertarget_view *view); +void __cdecl wined3d_device_context_set_index_buffer(struct wined3d_device_context *context, + struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset); void __cdecl wined3d_device_context_set_predication(struct wined3d_device_context *context, struct wined3d_query *predicate, BOOL value); void __cdecl wined3d_device_context_set_rasterizer_state(struct wined3d_device_context *context,
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/d3d11/device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 63172472b0e..9b2652b49ec 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -686,14 +686,14 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_IASetVertexBuffers(ID3D11D static void STDMETHODCALLTYPE d3d11_immediate_context_IASetIndexBuffer(ID3D11DeviceContext1 *iface, ID3D11Buffer *buffer, DXGI_FORMAT format, UINT offset) { - struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface); + struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface); struct d3d_buffer *buffer_impl = unsafe_impl_from_ID3D11Buffer(buffer);
TRACE("iface %p, buffer %p, format %s, offset %u.\n", iface, buffer, debug_dxgi_format(format), offset);
wined3d_mutex_lock(); - wined3d_device_set_index_buffer(device->wined3d_device, + wined3d_device_context_set_index_buffer(context->wined3d_context, buffer_impl ? buffer_impl->wined3d_buffer : NULL, wined3dformat_from_dxgi_format(format), offset); wined3d_mutex_unlock(); @@ -2615,7 +2615,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceCon { wined3d_device_context_set_stream_source(context->wined3d_context, i, NULL, 0, 0); } - wined3d_device_set_index_buffer(device->wined3d_device, NULL, WINED3DFMT_UNKNOWN, 0); + wined3d_device_context_set_index_buffer(context->wined3d_context, NULL, WINED3DFMT_UNKNOWN, 0); wined3d_device_set_vertex_declaration(device->wined3d_device, NULL); wined3d_device_set_primitive_type(device->wined3d_device, WINED3D_PT_UNDEFINED, 0); for (i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com