From: Józef Kucia jkucia@codeweavers.com
Signed-off-by: Józef Kucia jkucia@codeweavers.com --- dlls/wined3d/cs.c | 12 ++++++------ dlls/wined3d/device.c | 8 ++++---- dlls/wined3d/swapchain.c | 17 ++++++----------- dlls/wined3d/texture.c | 10 +++++----- dlls/wined3d/wined3d_private.h | 5 +++++ 5 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c index c7c0c0bddb81..5090220f8ceb 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -673,7 +673,7 @@ void wined3d_cs_emit_clear_rendertarget_view(struct wined3d_cs *cs, struct wined
cs->ops->submit(cs, WINED3D_CS_QUEUE_DEFAULT); if (flags & WINED3DCLEAR_SYNCHRONOUS) - cs->ops->finish(cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(cs, WINED3D_CS_QUEUE_DEFAULT); }
static void acquire_shader_resources(const struct wined3d_state *state, unsigned int shader_mask) @@ -2137,7 +2137,7 @@ HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource, op->hr = &hr;
cs->ops->submit(cs, WINED3D_CS_QUEUE_MAP); - cs->ops->finish(cs, WINED3D_CS_QUEUE_MAP); + wined3d_cs_finish(cs, WINED3D_CS_QUEUE_MAP);
return hr; } @@ -2164,7 +2164,7 @@ HRESULT wined3d_cs_unmap(struct wined3d_cs *cs, struct wined3d_resource *resourc op->hr = &hr;
cs->ops->submit(cs, WINED3D_CS_QUEUE_MAP); - cs->ops->finish(cs, WINED3D_CS_QUEUE_MAP); + wined3d_cs_finish(cs, WINED3D_CS_QUEUE_MAP);
return hr; } @@ -2297,7 +2297,7 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso
cs->ops->submit(cs, WINED3D_CS_QUEUE_DEFAULT); if (flags & WINED3D_BLT_SYNCHRONOUS) - cs->ops->finish(cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(cs, WINED3D_CS_QUEUE_DEFAULT); }
static void wined3d_cs_exec_update_sub_resource(struct wined3d_cs *cs, const void *data) @@ -2379,7 +2379,7 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r cs->ops->submit(cs, WINED3D_CS_QUEUE_MAP); /* The data pointer may go away, so we need to wait until it is read. * Copying the data may be faster if it's small. */ - cs->ops->finish(cs, WINED3D_CS_QUEUE_MAP); + wined3d_cs_finish(cs, WINED3D_CS_QUEUE_MAP); }
static void wined3d_cs_exec_add_dirty_texture_region(struct wined3d_cs *cs, const void *data) @@ -2505,7 +2505,7 @@ static void wined3d_cs_emit_stop(struct wined3d_cs *cs) op->opcode = WINED3D_CS_OP_STOP;
cs->ops->submit(cs, WINED3D_CS_QUEUE_DEFAULT); - cs->ops->finish(cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(cs, WINED3D_CS_QUEUE_DEFAULT); }
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) = diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 6d6f53060ee1..c90cbdbe10fe 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1017,7 +1017,7 @@ static void wined3d_device_delete_opengl_contexts_cs(void *object) static void wined3d_device_delete_opengl_contexts(struct wined3d_device *device) { wined3d_cs_destroy_object(device->cs, wined3d_device_delete_opengl_contexts_cs, device); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); }
static void wined3d_device_create_primary_opengl_context_cs(void *object) @@ -1058,7 +1058,7 @@ static void wined3d_device_create_primary_opengl_context_cs(void *object) static HRESULT wined3d_device_create_primary_opengl_context(struct wined3d_device *device) { wined3d_cs_init_object(device->cs, wined3d_device_create_primary_opengl_context_cs, device); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); if (!device->swapchains[0]->num_contexts) return E_FAIL;
@@ -1208,7 +1208,7 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device) if (!device->d3d_initialized) return WINED3DERR_INVALIDCALL;
- device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT);
if (device->logo_texture) wined3d_texture_decref(device->logo_texture); @@ -4788,7 +4788,7 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device, TRACE("device %p, swapchain_desc %p, mode %p, callback %p, reset_state %#x.\n", device, swapchain_desc, mode, callback, reset_state);
- device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT);
if (!(swapchain = wined3d_device_get_swapchain(device, 0))) { diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c index 60ef6ad78c9c..6ed4f89b03f8 100644 --- a/dlls/wined3d/swapchain.c +++ b/dlls/wined3d/swapchain.c @@ -109,7 +109,6 @@ ULONG CDECL wined3d_swapchain_incref(struct wined3d_swapchain *swapchain) ULONG CDECL wined3d_swapchain_decref(struct wined3d_swapchain *swapchain) { ULONG refcount = InterlockedDecrement(&swapchain->ref); - struct wined3d_device *device;
TRACE("%p decreasing refcount to %u.\n", swapchain, refcount);
@@ -117,8 +116,7 @@ ULONG CDECL wined3d_swapchain_decref(struct wined3d_swapchain *swapchain) { wined3d_mutex_lock();
- device = swapchain->device; - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(swapchain->device->cs, WINED3D_CS_QUEUE_DEFAULT);
swapchain_cleanup(swapchain); swapchain->parent_ops->wined3d_object_destroyed(swapchain->parent); @@ -140,8 +138,6 @@ void * CDECL wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapch
void CDECL wined3d_swapchain_set_window(struct wined3d_swapchain *swapchain, HWND window) { - struct wined3d_device *device = swapchain->device; - if (!window) window = swapchain->device_window; if (window == swapchain->win_handle) @@ -150,7 +146,7 @@ void CDECL wined3d_swapchain_set_window(struct wined3d_swapchain *swapchain, HWN TRACE("Setting swapchain %p window from %p to %p.\n", swapchain, swapchain->win_handle, window);
- device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(swapchain->device->cs, WINED3D_CS_QUEUE_DEFAULT);
swapchain->win_handle = window; } @@ -905,7 +901,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3 }
wined3d_cs_init_object(device->cs, wined3d_swapchain_cs_init, swapchain); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT);
if (!swapchain->context[0]) { @@ -1006,8 +1002,8 @@ err: heap_free(swapchain->back_buffers); }
- wined3d_cs_destroy_object(swapchain->device->cs, wined3d_swapchain_destroy_object, swapchain); - swapchain->device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_destroy_object(device->cs, wined3d_swapchain_destroy_object, swapchain); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT);
if (swapchain->front_buffer) { @@ -1213,7 +1209,6 @@ HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapcha unsigned int width, unsigned int height, enum wined3d_format_id format_id, enum wined3d_multisample_type multisample_type, unsigned int multisample_quality) { - struct wined3d_device *device = swapchain->device; BOOL update_desc = FALSE;
TRACE("swapchain %p, buffer_count %u, width %u, height %u, format %s, " @@ -1226,7 +1221,7 @@ HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapcha if (buffer_count && buffer_count != swapchain->desc.backbuffer_count) FIXME("Cannot change the back buffer count yet.\n");
- device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(swapchain->device->cs, WINED3D_CS_QUEUE_DEFAULT);
if (!width || !height) { diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c index 5b41d4a9cdc2..cb9ac2aa4ffb 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c @@ -1622,7 +1622,7 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT struct wined3d_texture_idx texture_idx = {texture, 0};
wined3d_cs_destroy_object(device->cs, wined3d_texture_destroy_dc, &texture_idx); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); create_dib = TRUE; }
@@ -1692,7 +1692,7 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT struct wined3d_texture_idx texture_idx = {texture, 0};
wined3d_cs_init_object(device->cs, wined3d_texture_create_dc, &texture_idx); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); }
return WINED3D_OK; @@ -3117,7 +3117,7 @@ static HRESULT wined3d_texture_init(struct wined3d_texture *texture, const struc struct wined3d_texture_idx texture_idx = {texture, i};
wined3d_cs_init_object(device->cs, wined3d_texture_create_dc, &texture_idx); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); if (!texture->dc_info || !texture->dc_info[i].dc) { wined3d_texture_cleanup_sync(texture); @@ -3737,7 +3737,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i struct wined3d_texture_idx texture_idx = {texture, sub_resource_idx};
wined3d_cs_init_object(device->cs, wined3d_texture_create_dc, &texture_idx); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); if (!(dc_info = texture->dc_info) || !dc_info[sub_resource_idx].dc) return WINED3DERR_INVALIDCALL; } @@ -3785,7 +3785,7 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign struct wined3d_texture_idx texture_idx = {texture, sub_resource_idx};
wined3d_cs_destroy_object(device->cs, wined3d_texture_destroy_dc, &texture_idx); - device->cs->ops->finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); + wined3d_cs_finish(device->cs, WINED3D_CS_QUEUE_DEFAULT); }
--sub_resource->map_count; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 4e80cc75acfa..5a6715a5906c 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -3739,6 +3739,11 @@ HRESULT wined3d_cs_map(struct wined3d_cs *cs, struct wined3d_resource *resource, HRESULT wined3d_cs_unmap(struct wined3d_cs *cs, struct wined3d_resource *resource, unsigned int sub_resource_idx) DECLSPEC_HIDDEN;
+static inline void wined3d_cs_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id queue_id) +{ + cs->ops->finish(cs, queue_id); +} + static inline void wined3d_cs_push_constants(struct wined3d_cs *cs, enum wined3d_push_constants p, unsigned int start_idx, unsigned int count, const void *constants) {
Hi,
While running your changed tests on Windows, 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=45206
Your paranoid android.
=== debian9 (build log) ===
X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig)
=== debian9 (build log) ===
X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig)