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 cab5ebefcc2..4840c014b6c 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -1575,7 +1575,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetShaderResources(ID3D1 static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetUnorderedAccessViews(ID3D11DeviceContext1 *iface, UINT start_slot, UINT view_count, ID3D11UnorderedAccessView *const *views, const UINT *initial_counts) { - 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, view_count %u, views %p, initial_counts %p.\n", @@ -1586,8 +1586,8 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetUnorderedAccessViews( { struct d3d11_unordered_access_view *view = unsafe_impl_from_ID3D11UnorderedAccessView(views[i]);
- wined3d_device_set_cs_uav(device->wined3d_device, start_slot + i, - view ? view->wined3d_view : NULL, initial_counts ? initial_counts[i] : ~0u); + wined3d_device_context_set_unordered_access_view(context->wined3d_context, WINED3D_PIPELINE_COMPUTE, + start_slot + i, view ? view->wined3d_view : NULL, initial_counts ? initial_counts[i] : ~0u); } wined3d_mutex_unlock(); }
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/cs.c | 7 ++++--- dlls/wined3d/device.c | 4 ++-- 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 4dbf95cc9f7..1611a9efd27 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -1252,15 +1252,16 @@ static void wined3d_cs_exec_set_depth_stencil_view(struct wined3d_cs *cs, const device_invalidate_state(device, STATE_FRAMEBUFFER); }
-void wined3d_cs_emit_set_depth_stencil_view(struct wined3d_cs *cs, struct wined3d_rendertarget_view *view) +void wined3d_device_context_emit_set_depth_stencil_view(struct wined3d_device_context *context, + struct wined3d_rendertarget_view *view) { struct wined3d_cs_set_depth_stencil_view *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_DEPTH_STENCIL_VIEW; op->view = view;
- 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_vertex_declaration(struct wined3d_cs *cs, const void *data) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index e7b57a34595..de4f38578a0 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1877,7 +1877,7 @@ void CDECL wined3d_device_set_state(struct wined3d_device *device, struct wined3 wined3d_device_context_emit_set_rendertarget_view(context, i, state->fb.render_targets[i]); }
- wined3d_cs_emit_set_depth_stencil_view(device->cs, state->fb.depth_stencil); + wined3d_device_context_emit_set_depth_stencil_view(context, state->fb.depth_stencil); wined3d_cs_emit_set_vertex_declaration(device->cs, state->vertex_declaration);
for (i = 0; i < WINED3D_MAX_STREAM_OUTPUT_BUFFERS; ++i) @@ -5293,7 +5293,7 @@ HRESULT CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *devic
if ((fb->depth_stencil = view)) wined3d_rendertarget_view_incref(view); - wined3d_cs_emit_set_depth_stencil_view(device->cs, view); + wined3d_device_context_emit_set_depth_stencil_view(&device->cs->c, view); if (prev) wined3d_rendertarget_view_decref(prev); wined3d_device_context_unbind_srv_for_rtv(&device->cs->c, view, TRUE); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 34fcf8f9fac..2541ca10c1e 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -4749,8 +4749,6 @@ void wined3d_cs_emit_set_clip_plane(struct wined3d_cs *cs, UINT plane_idx, const struct wined3d_vec4 *plane) DECLSPEC_HIDDEN; 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_depth_stencil_view(struct wined3d_cs *cs, - struct wined3d_rendertarget_view *view) 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; @@ -4805,6 +4803,8 @@ void wined3d_device_context_emit_set_constant_buffer(struct wined3d_device_conte enum wined3d_shader_type type, UINT cb_idx, struct wined3d_buffer *buffer) DECLSPEC_HIDDEN; void wined3d_device_context_emit_set_depth_stencil_state(struct wined3d_device_context *context, 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_rasterizer_state(struct wined3d_device_context *context, struct wined3d_rasterizer_state *rasterizer_state) DECLSPEC_HIDDEN; void wined3d_device_context_emit_set_rendertarget_view(struct wined3d_device_context *context, unsigned int view_idx,
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/device.c | 58 ++++++++++++++++++++++----------------- dlls/wined3d/wined3d.spec | 1 + include/wine/wined3d.h | 2 ++ 3 files changed, 36 insertions(+), 25 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index de4f38578a0..267a8cae17d 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2372,6 +2372,38 @@ HRESULT CDECL wined3d_device_context_set_rendertarget_view(struct wined3d_device return WINED3D_OK; }
+HRESULT CDECL wined3d_device_context_set_depth_stencil_view(struct wined3d_device_context *context, + struct wined3d_rendertarget_view *view) +{ + struct wined3d_fb_state *fb = &context->state->fb; + struct wined3d_rendertarget_view *prev; + + TRACE("context %p, view %p.\n", context, view); + + if (view && !(view->resource->bind_flags & WINED3D_BIND_DEPTH_STENCIL)) + { + WARN("View resource %p has incompatible %s bind flags.\n", + view->resource, wined3d_debug_bind_flags(view->resource->bind_flags)); + return WINED3DERR_INVALIDCALL; + } + + prev = fb->depth_stencil; + if (prev == view) + { + TRACE("Trying to do a NOP SetRenderTarget operation.\n"); + return WINED3D_OK; + } + + if ((fb->depth_stencil = view)) + wined3d_rendertarget_view_incref(view); + wined3d_device_context_emit_set_depth_stencil_view(context, view); + if (prev) + wined3d_rendertarget_view_decref(prev); + wined3d_device_context_unbind_srv_for_rtv(context, view, TRUE); + + 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); @@ -5272,33 +5304,9 @@ HRESULT CDECL wined3d_device_set_rendertarget_view(struct wined3d_device *device HRESULT CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device, struct wined3d_rendertarget_view *view) { - struct wined3d_fb_state *fb = &device->cs->c.state->fb; - struct wined3d_rendertarget_view *prev; - TRACE("device %p, view %p.\n", device, view);
- if (view && !(view->resource->bind_flags & WINED3D_BIND_DEPTH_STENCIL)) - { - WARN("View resource %p has incompatible %s bind flags.\n", - view->resource, wined3d_debug_bind_flags(view->resource->bind_flags)); - return WINED3DERR_INVALIDCALL; - } - - prev = fb->depth_stencil; - if (prev == view) - { - TRACE("Trying to do a NOP SetRenderTarget operation.\n"); - return WINED3D_OK; - } - - if ((fb->depth_stencil = view)) - wined3d_rendertarget_view_incref(view); - wined3d_device_context_emit_set_depth_stencil_view(&device->cs->c, view); - if (prev) - wined3d_rendertarget_view_decref(prev); - wined3d_device_context_unbind_srv_for_rtv(&device->cs->c, view, TRUE); - - return WINED3D_OK; + return wined3d_device_context_set_depth_stencil_view(&device->cs->c, view); }
static struct wined3d_texture *wined3d_device_create_cursor_texture(struct wined3d_device *device, diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index ad66cef0f9c..ae4244bcbfd 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec @@ -169,6 +169,7 @@ @ cdecl wined3d_device_context_set_blend_state(ptr ptr ptr long) @ 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_rasterizer_state(ptr ptr) @ cdecl wined3d_device_context_set_rendertarget_view(ptr long ptr long) @ cdecl wined3d_device_context_set_sampler(ptr long long ptr) diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index e066e688125..60625eda5c5 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2561,6 +2561,8 @@ void __cdecl wined3d_device_context_set_constant_buffer(struct wined3d_device_co enum wined3d_shader_type type, unsigned int idx, struct wined3d_buffer *buffer); void __cdecl wined3d_device_context_set_depth_stencil_state(struct wined3d_device_context *context, 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_rasterizer_state(struct wined3d_device_context *context, struct wined3d_rasterizer_state *rasterizer_state); HRESULT __cdecl wined3d_device_context_set_rendertarget_view(struct wined3d_device_context *context,
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=87286
Your paranoid android.
=== debiant2 (64 bit WoW report) ===
d3d11: d3d11.c:3660: Test failed: Test 13: Failed to create depth stencil view, hr 0x80070057. Unhandled exception: page fault on execute access to 0x00120138 in 32-bit code (0x00120138).
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/d3d11/device.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 4840c014b6c..4f59a2e41a5 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -935,7 +935,6 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetRenderTargets(ID3D11D ID3D11DepthStencilView *depth_stencil_view) { struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface); - struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface); struct d3d_depthstencil_view *dsv; unsigned int i;
@@ -955,7 +954,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetRenderTargets(ID3D11D }
dsv = unsafe_impl_from_ID3D11DepthStencilView(depth_stencil_view); - wined3d_device_set_depth_stencil_view(device->wined3d_device, dsv ? dsv->wined3d_view : NULL); + wined3d_device_context_set_depth_stencil_view(context->wined3d_context, dsv ? dsv->wined3d_view : NULL); wined3d_mutex_unlock(); }
@@ -2623,7 +2622,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceCon { wined3d_device_context_set_rendertarget_view(context->wined3d_context, i, NULL, FALSE); } - wined3d_device_set_depth_stencil_view(device->wined3d_device, NULL); + wined3d_device_context_set_depth_stencil_view(context->wined3d_context, NULL); for (i = 0; i < WINED3D_PIPELINE_COUNT; ++i) { for (j = 0; j < D3D11_PS_CS_UAV_REGISTER_COUNT; ++j)
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=87287
Your paranoid android.
=== debiant2 (32 bit report) ===
d3d11: d3d11.c:5535: Test marked todo: d3d11.c:5817: Test failed: Got unexpected CPrimitives count: 3.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/cs.c | 7 ++++--- dlls/wined3d/device.c | 4 ++-- 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 1611a9efd27..f7b682b627e 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -1123,16 +1123,17 @@ static void wined3d_cs_exec_set_predication(struct wined3d_cs *cs, const void *d cs->state.predicate_value = op->value; }
-void wined3d_cs_emit_set_predication(struct wined3d_cs *cs, struct wined3d_query *predicate, BOOL value) +void wined3d_device_context_emit_set_predication(struct wined3d_device_context *context, + struct wined3d_query *predicate, BOOL value) { struct wined3d_cs_set_predication *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_PREDICATION; op->predicate = predicate; op->value = value;
- 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_viewports(struct wined3d_cs *cs, const void *data) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 267a8cae17d..4c914f6adc1 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1894,7 +1894,7 @@ void CDECL wined3d_device_set_state(struct wined3d_device *device, struct wined3
wined3d_cs_emit_set_index_buffer(device->cs, state->index_buffer, state->index_format, state->index_offset);
- wined3d_cs_emit_set_predication(device->cs, state->predicate, state->predicate_value); + wined3d_device_context_emit_set_predication(context, state->predicate, state->predicate_value);
for (i = 0; i < WINED3D_SHADER_TYPE_COUNT; ++i) { @@ -4399,7 +4399,7 @@ void CDECL wined3d_device_set_predication(struct wined3d_device *device, } state->predicate = predicate; state->predicate_value = value; - wined3d_cs_emit_set_predication(device->cs, predicate, value); + wined3d_device_context_emit_set_predication(&device->cs->c, predicate, value); if (prev) wined3d_query_decref(prev); } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 2541ca10c1e..0df57a91049 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -4755,8 +4755,6 @@ void wined3d_cs_emit_set_index_buffer(struct wined3d_cs *cs, struct wined3d_buff 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; -void wined3d_cs_emit_set_predication(struct wined3d_cs *cs, - struct wined3d_query *predicate, BOOL value) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_render_state(struct wined3d_cs *cs, enum wined3d_render_state state, DWORD value) DECLSPEC_HIDDEN; void wined3d_cs_emit_set_sampler_state(struct wined3d_cs *cs, UINT sampler_idx, @@ -4805,6 +4803,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_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, struct wined3d_rasterizer_state *rasterizer_state) DECLSPEC_HIDDEN; void wined3d_device_context_emit_set_rendertarget_view(struct wined3d_device_context *context, unsigned int view_idx,
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=87288
Your paranoid android.
=== debiant2 (64 bit WoW report) ===
d3d11: d3d11.c:19466: Test failed: d3d11.c:16095: Test marked todo: Got 0xdeadbeef, expected 0xff0000 or 0xff0000 at 0, uvec4 0, 0, 0xffffffff, 0.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/device.c | 36 ++++++++++++++++++++++-------------- dlls/wined3d/wined3d.spec | 1 + include/wine/wined3d.h | 2 ++ 3 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 4c914f6adc1..5ff11f15b13 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2404,6 +2404,27 @@ HRESULT CDECL wined3d_device_context_set_depth_stencil_view(struct wined3d_devic return WINED3D_OK; }
+void CDECL wined3d_device_context_set_predication(struct wined3d_device_context *context, + struct wined3d_query *predicate, BOOL value) +{ + struct wined3d_state *state = context->state; + struct wined3d_query *prev; + + TRACE("context %p, predicate %p, value %#x.\n", context, predicate, value); + + prev = state->predicate; + if (predicate) + { + FIXME("Predicated rendering not implemented.\n"); + wined3d_query_incref(predicate); + } + state->predicate = predicate; + state->predicate_value = value; + wined3d_device_context_emit_set_predication(context, predicate, value); + if (prev) + wined3d_query_decref(prev); +} + void CDECL wined3d_device_set_vertex_shader(struct wined3d_device *device, struct wined3d_shader *shader) { TRACE("device %p, shader %p.\n", device, shader); @@ -4386,22 +4407,9 @@ HRESULT CDECL wined3d_device_clear(struct wined3d_device *device, DWORD rect_cou void CDECL wined3d_device_set_predication(struct wined3d_device *device, struct wined3d_query *predicate, BOOL value) { - struct wined3d_state *state = device->cs->c.state; - struct wined3d_query *prev; - TRACE("device %p, predicate %p, value %#x.\n", device, predicate, value);
- prev = state->predicate; - if (predicate) - { - FIXME("Predicated rendering not implemented.\n"); - wined3d_query_incref(predicate); - } - state->predicate = predicate; - state->predicate_value = value; - wined3d_device_context_emit_set_predication(&device->cs->c, predicate, value); - if (prev) - wined3d_query_decref(prev); + wined3d_device_context_set_predication(&device->cs->c, predicate, value); }
struct wined3d_query * CDECL wined3d_device_get_predication(struct wined3d_device *device, BOOL *value) diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index ae4244bcbfd..762cbd97f7c 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_predication(ptr ptr long) @ cdecl wined3d_device_context_set_rasterizer_state(ptr ptr) @ cdecl wined3d_device_context_set_rendertarget_view(ptr long ptr long) @ cdecl wined3d_device_context_set_sampler(ptr long long ptr) diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index 60625eda5c5..82cce3d0251 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_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, struct wined3d_rasterizer_state *rasterizer_state); HRESULT __cdecl wined3d_device_context_set_rendertarget_view(struct wined3d_device_context *context,
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=87289
Your paranoid android.
=== debiant2 (64 bit WoW report) ===
d3d11: Unhandled exception: page fault on write access to 0x00000001 in 32-bit code (0x7e8f064a).
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 4f59a2e41a5..6e0ae6d695b 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -879,7 +879,7 @@ static HRESULT STDMETHODCALLTYPE d3d11_immediate_context_GetData(ID3D11DeviceCon static void STDMETHODCALLTYPE d3d11_immediate_context_SetPredication(ID3D11DeviceContext1 *iface, ID3D11Predicate *predicate, BOOL value) { - struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface); + struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface); struct d3d_query *query;
TRACE("iface %p, predicate %p, value %#x.\n", iface, predicate, value); @@ -887,7 +887,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_SetPredication(ID3D11Devic query = unsafe_impl_from_ID3D11Query((ID3D11Query *)predicate);
wined3d_mutex_lock(); - wined3d_device_set_predication(device->wined3d_device, query ? query->wined3d_query : NULL, value); + wined3d_device_context_set_predication(context->wined3d_context, query ? query->wined3d_query : NULL, value); wined3d_mutex_unlock(); }
@@ -2637,7 +2637,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceCon { wined3d_device_set_stream_output(device->wined3d_device, i, NULL, 0); } - wined3d_device_set_predication(device->wined3d_device, NULL, FALSE); + wined3d_device_context_set_predication(context->wined3d_context, NULL, FALSE); wined3d_mutex_unlock(); }
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com