Module: wine Branch: master Commit: effa2a7411701818ac4812e3c67b19520a628e7d URL: https://source.winehq.org/git/wine.git/?a=commit;h=effa2a7411701818ac4812e3c...
Author: Zebediah Figura z.figura12@gmail.com Date: Tue Apr 13 21:05:24 2021 -0500
wined3d: Introduce wined3d_device_context_issue_query().
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/device.c | 16 ++++++++++++++++ dlls/wined3d/query.c | 10 +--------- dlls/wined3d/wined3d.spec | 1 + include/wine/wined3d.h | 2 ++ 4 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 9240bad9d27..2e129513501 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -5324,6 +5324,22 @@ HRESULT CDECL wined3d_device_context_unmap(struct wined3d_device_context *contex return context->ops->unmap(context, resource, sub_resource_idx); }
+void CDECL wined3d_device_context_issue_query(struct wined3d_device_context *context, + struct wined3d_query *query, unsigned int flags) +{ + TRACE("context %p, query %p, flags %#x.\n", context, query, flags); + + if (flags & WINED3DISSUE_END) + ++query->counter_main; + + query->device->cs->c.ops->issue_query(context, query, flags); + + if (flags & WINED3DISSUE_BEGIN) + query->state = QUERY_BUILDING; + else + query->state = QUERY_SIGNALLED; +} + struct wined3d_rendertarget_view * CDECL wined3d_device_get_rendertarget_view(const struct wined3d_device *device, unsigned int view_idx) { diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c index ed66794c757..610a37b9269 100644 --- a/dlls/wined3d/query.c +++ b/dlls/wined3d/query.c @@ -504,15 +504,7 @@ HRESULT CDECL wined3d_query_issue(struct wined3d_query *query, DWORD flags) { TRACE("query %p, flags %#x.\n", query, flags);
- if (flags & WINED3DISSUE_END) - ++query->counter_main; - - query->device->cs->c.ops->issue_query(&query->device->cs->c, query, flags); - - if (flags & WINED3DISSUE_BEGIN) - query->state = QUERY_BUILDING; - else - query->state = QUERY_SIGNALLED; + wined3d_device_context_issue_query(&query->device->cs->c, query, flags);
return WINED3D_OK; } diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index 7c81eff1593..1de62071aa0 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec @@ -171,6 +171,7 @@ @ cdecl wined3d_device_context_dispatch(ptr long long long) @ cdecl wined3d_device_context_dispatch_indirect(ptr ptr long) @ cdecl wined3d_device_context_generate_mipmaps(ptr ptr) +@ cdecl wined3d_device_context_issue_query(ptr ptr long) @ cdecl wined3d_device_context_map(ptr ptr long ptr ptr long) @ cdecl wined3d_device_context_resolve_sub_resource(ptr ptr long ptr long long) @ cdecl wined3d_device_context_set_blend_state(ptr ptr ptr long) diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index e0a205f3dad..0b3120017c5 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2566,6 +2566,8 @@ void __cdecl wined3d_device_context_draw_indirect(struct wined3d_device_context struct wined3d_buffer *buffer, unsigned int offset, bool indexed); void __cdecl wined3d_device_context_generate_mipmaps(struct wined3d_device_context *context, struct wined3d_shader_resource_view *view); +void __cdecl wined3d_device_context_issue_query(struct wined3d_device_context *context, + struct wined3d_query *query, unsigned int flags); HRESULT __cdecl wined3d_device_context_map(struct wined3d_device_context *context, struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, unsigned int flags);