Zebediah Figura : wined3d: Pass a wined3d_device_context to wined3d_cs_emit_draw().

Alexandre Julliard julliard at winehq.org
Tue Mar 30 15:19:51 CDT 2021


Module: wine
Branch: master
Commit: ebf9ca12c1e916774d0d4fafae66b8eb2d02f0e9
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ebf9ca12c1e916774d0d4fafae66b8eb2d02f0e9

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Sat Mar 27 14:34:22 2021 -0500

wined3d: Pass a wined3d_device_context to wined3d_cs_emit_draw().

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/cs.c              | 15 ++++++++-------
 dlls/wined3d/device.c          |  8 ++++----
 dlls/wined3d/wined3d_private.h |  7 ++++---
 3 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index 390a97a64d3..cbc97d3614a 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -1046,15 +1046,16 @@ static void acquire_graphics_pipeline_resources(const struct wined3d_state *stat
             state->unordered_access_view[WINED3D_PIPELINE_GRAPHICS]);
 }
 
-void wined3d_cs_emit_draw(struct wined3d_cs *cs, enum wined3d_primitive_type primitive_type,
-        unsigned int patch_vertex_count, int base_vertex_idx, unsigned int start_idx,
-        unsigned int index_count, unsigned int start_instance, unsigned int instance_count, bool indexed)
+void wined3d_device_context_emit_draw(struct wined3d_device_context *context,
+        enum wined3d_primitive_type primitive_type, unsigned int patch_vertex_count, int base_vertex_idx,
+        unsigned int start_idx, unsigned int index_count, unsigned int start_instance, unsigned int instance_count,
+        bool indexed)
 {
-    const struct wined3d_d3d_info *d3d_info = &cs->c.device->adapter->d3d_info;
-    const struct wined3d_state *state = cs->c.state;
+    const struct wined3d_d3d_info *d3d_info = &context->device->adapter->d3d_info;
+    const struct wined3d_state *state = context->state;
     struct wined3d_cs_draw *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_DRAW;
     op->primitive_type = primitive_type;
     op->patch_vertex_count = patch_vertex_count;
@@ -1068,7 +1069,7 @@ void wined3d_cs_emit_draw(struct wined3d_cs *cs, enum wined3d_primitive_type pri
 
     acquire_graphics_pipeline_resources(state, indexed, d3d_info);
 
-    wined3d_device_context_submit(&cs->c, WINED3D_CS_QUEUE_DEFAULT);
+    wined3d_device_context_submit(context, WINED3D_CS_QUEUE_DEFAULT);
 }
 
 void wined3d_cs_emit_draw_indirect(struct wined3d_cs *cs, enum wined3d_primitive_type primitive_type,
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 7e123661cdb..a683f4096f6 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4445,7 +4445,7 @@ HRESULT CDECL wined3d_device_draw_primitive(struct wined3d_device *device, UINT
 
     TRACE("device %p, start_vertex %u, vertex_count %u.\n", device, start_vertex, vertex_count);
 
-    wined3d_cs_emit_draw(device->cs, state->primitive_type,
+    wined3d_device_context_emit_draw(&device->cs->c, state->primitive_type,
             state->patch_vertex_count, 0, start_vertex, vertex_count, 0, 0, false);
 
     return WINED3D_OK;
@@ -4459,7 +4459,7 @@ void CDECL wined3d_device_draw_primitive_instanced(struct wined3d_device *device
     TRACE("device %p, start_vertex %u, vertex_count %u, start_instance %u, instance_count %u.\n",
             device, start_vertex, vertex_count, start_instance, instance_count);
 
-    wined3d_cs_emit_draw(device->cs, state->primitive_type, state->patch_vertex_count,
+    wined3d_device_context_emit_draw(&device->cs->c, state->primitive_type, state->patch_vertex_count,
             0, start_vertex, vertex_count, start_instance, instance_count, false);
 }
 
@@ -4490,7 +4490,7 @@ HRESULT CDECL wined3d_device_draw_indexed_primitive(struct wined3d_device *devic
         return WINED3DERR_INVALIDCALL;
     }
 
-    wined3d_cs_emit_draw(device->cs, state->primitive_type, state->patch_vertex_count,
+    wined3d_device_context_emit_draw(&device->cs->c, state->primitive_type, state->patch_vertex_count,
             state->base_vertex_index, start_idx, index_count, 0, 0, true);
 
     return WINED3D_OK;
@@ -4504,7 +4504,7 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
     TRACE("device %p, start_idx %u, index_count %u, start_instance %u, instance_count %u.\n",
             device, start_idx, index_count, start_instance, instance_count);
 
-    wined3d_cs_emit_draw(device->cs, state->primitive_type, state->patch_vertex_count,
+    wined3d_device_context_emit_draw(&device->cs->c, state->primitive_type, state->patch_vertex_count,
             state->base_vertex_index, start_idx, index_count, start_instance, instance_count, true);
 }
 
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index f0205a41c7e..a60c3691c82 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -4735,9 +4735,6 @@ void wined3d_cs_emit_clear_unordered_access_view_uint(struct wined3d_cs *cs,
         struct wined3d_unordered_access_view *view, const struct wined3d_uvec4 *clear_value) DECLSPEC_HIDDEN;
 void wined3d_cs_emit_copy_uav_counter(struct wined3d_cs *cs, struct wined3d_buffer *dst_buffer,
         unsigned int offset, struct wined3d_unordered_access_view *uav) DECLSPEC_HIDDEN;
-void wined3d_cs_emit_draw(struct wined3d_cs *cs, enum wined3d_primitive_type primitive_type,
-        unsigned int patch_vertex_count, int base_vertex_idx, unsigned int start_idx, unsigned int index_count,
-        unsigned int start_instance, unsigned int instance_count, bool indexed) DECLSPEC_HIDDEN;
 void wined3d_cs_emit_draw_indirect(struct wined3d_cs *cs, enum wined3d_primitive_type primitive_type,
         unsigned int patch_vertex_count, struct wined3d_buffer *buffer,
         unsigned int offset, bool indexed) DECLSPEC_HIDDEN;
@@ -4789,6 +4786,10 @@ static inline void wined3d_cs_push_constants(struct wined3d_cs *cs, enum wined3d
     cs->c.ops->push_constants(&cs->c, p, start_idx, count, constants);
 }
 
+void wined3d_device_context_emit_draw(struct wined3d_device_context *context,
+        enum wined3d_primitive_type primitive_type, unsigned int patch_vertex_count, int base_vertex_idx,
+        unsigned int start_idx, unsigned int index_count, unsigned int start_instance, unsigned int instance_count,
+        bool indexed) DECLSPEC_HIDDEN;
 void wined3d_device_context_emit_set_blend_state(struct wined3d_device_context *context,
         struct wined3d_blend_state *state, const struct wined3d_color *blend_factor,
         unsigned int sample_mask) DECLSPEC_HIDDEN;




More information about the wine-cvs mailing list