Henri Verbeet : wined3d: Pass a wined3d_context_gl structure to draw_primitive_arrays().
Alexandre Julliard
julliard at winehq.org
Tue Jun 18 17:21:46 CDT 2019
Module: wine
Branch: master
Commit: 578e7cd56620f9f1432f8dfdfeb4c6e06c9cad0a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=578e7cd56620f9f1432f8dfdfeb4c6e06c9cad0a
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Tue Jun 18 02:51:35 2019 +0430
wined3d: Pass a wined3d_context_gl structure to draw_primitive_arrays().
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wined3d/context.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index d7c9252..6a7aafc 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -4347,15 +4347,15 @@ void dispatch_compute(struct wined3d_device *device, const struct wined3d_state
}
/* Context activation is done by the caller. */
-static void draw_primitive_arrays(struct wined3d_context *context, const struct wined3d_state *state,
- const void *idx_data, unsigned int idx_size, int base_vertex_idx, unsigned int start_idx,
- unsigned int count, unsigned int start_instance, unsigned int instance_count)
+static void wined3d_context_gl_draw_primitive_arrays(struct wined3d_context_gl *context_gl,
+ const struct wined3d_state *state, const void *idx_data, unsigned int idx_size, int base_vertex_idx,
+ unsigned int start_idx, unsigned int count, unsigned int start_instance, unsigned int instance_count)
{
- const struct wined3d_ffp_attrib_ops *ops = &context->d3d_info->ffp_attrib_ops;
+ const struct wined3d_ffp_attrib_ops *ops = &context_gl->c.d3d_info->ffp_attrib_ops;
GLenum idx_type = idx_size == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT;
- const struct wined3d_stream_info *si = &context->stream_info;
+ const struct wined3d_stream_info *si = &context_gl->c.stream_info;
+ const struct wined3d_gl_info *gl_info = context_gl->c.gl_info;
unsigned int instanced_elements[ARRAY_SIZE(si->elements)];
- const struct wined3d_gl_info *gl_info = context->gl_info;
unsigned int instanced_element_count = 0;
GLenum mode = state->gl_primitive_type;
const void *indices;
@@ -4460,7 +4460,8 @@ static void draw_primitive_arrays(struct wined3d_context *context, const struct
element = &si->elements[element_idx];
ptr = element->data.addr + element->stride * i;
if (element->data.buffer_object)
- ptr += (ULONG_PTR)wined3d_buffer_load_sysmem(state->streams[element->stream_idx].buffer, context);
+ ptr += (ULONG_PTR)wined3d_buffer_load_sysmem(state->streams[element->stream_idx].buffer,
+ &context_gl->c);
ops->generic[element->format->emit_idx](element_idx, ptr);
}
@@ -4991,9 +4992,9 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s
idx_size, parameters->u.direct.base_vertex_idx,
parameters->u.direct.start_idx, parameters->u.direct.index_count, instance_count);
else
- draw_primitive_arrays(context, state, idx_data, idx_size, parameters->u.direct.base_vertex_idx,
- parameters->u.direct.start_idx, parameters->u.direct.index_count,
- parameters->u.direct.start_instance, instance_count);
+ wined3d_context_gl_draw_primitive_arrays(context_gl, state, idx_data, idx_size,
+ parameters->u.direct.base_vertex_idx, parameters->u.direct.start_idx,
+ parameters->u.direct.index_count, parameters->u.direct.start_instance, instance_count);
}
if (context->uses_uavs)
More information about the wine-cvs
mailing list