Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/d3d11/device.c | 10 +++++----- dlls/d3d8/device.c | 12 ++++++++---- dlls/d3d9/device.c | 12 ++++++++---- dlls/ddraw/device.c | 18 ++++++++++++------ dlls/ddraw/executebuffer.c | 6 +++--- dlls/wined3d/device.c | 8 ++++---- dlls/wined3d/wined3d.spec | 2 +- include/wine/wined3d.h | 4 ++-- 8 files changed, 43 insertions(+), 29 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index f1361f306ff..c2d2ccd0259 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -766,7 +766,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_GSSetShader(ID3D11DeviceCo static void STDMETHODCALLTYPE d3d11_immediate_context_IASetPrimitiveTopology(ID3D11DeviceContext1 *iface, D3D11_PRIMITIVE_TOPOLOGY topology) { - struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface); + struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface); enum wined3d_primitive_type primitive_type; unsigned int patch_vertex_count;
@@ -775,7 +775,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_IASetPrimitiveTopology(ID3 wined3d_primitive_type_from_d3d11_primitive_topology(topology, &primitive_type, &patch_vertex_count);
wined3d_mutex_lock(); - wined3d_device_set_primitive_type(device->wined3d_device, primitive_type, patch_vertex_count); + wined3d_device_context_set_primitive_type(context->wined3d_context, primitive_type, patch_vertex_count); wined3d_mutex_unlock(); }
@@ -2605,7 +2605,6 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSGetConstantBuffers(ID3D1 static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceContext1 *iface) { struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface); - struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface); static const float blend_factor[] = {1.0f, 1.0f, 1.0f, 1.0f}; unsigned int i, j;
@@ -2628,7 +2627,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_ClearState(ID3D11DeviceCon } wined3d_device_context_set_index_buffer(context->wined3d_context, NULL, WINED3DFMT_UNKNOWN, 0); wined3d_device_context_set_vertex_declaration(context->wined3d_context, NULL); - wined3d_device_set_primitive_type(device->wined3d_device, WINED3D_PT_UNDEFINED, 0); + wined3d_device_context_set_primitive_type(context->wined3d_context, WINED3D_PT_UNDEFINED, 0); for (i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i) { wined3d_device_context_set_rendertarget_view(context->wined3d_context, i, NULL, FALSE); @@ -4631,7 +4630,8 @@ static void STDMETHODCALLTYPE d3d10_device_IASetPrimitiveTopology(ID3D10Device1 TRACE("iface %p, topology %s.\n", iface, debug_d3d10_primitive_topology(topology));
wined3d_mutex_lock(); - wined3d_device_set_primitive_type(device->wined3d_device, (enum wined3d_primitive_type)topology, 0); + wined3d_device_context_set_primitive_type(device->immediate_context.wined3d_context, + (enum wined3d_primitive_type)topology, 0); wined3d_mutex_unlock(); }
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index 938eb19c8f5..b14e6679763 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -2505,7 +2505,8 @@ static HRESULT WINAPI d3d8_device_DrawPrimitive(IDirect3DDevice8 *iface, vertex_count = vertex_count_from_primitive_count(primitive_type, primitive_count); wined3d_mutex_lock(); d3d8_device_upload_sysmem_vertex_buffers(device, start_vertex, vertex_count); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); wined3d_device_context_draw(device->immediate_context, start_vertex, vertex_count, 0, 0); wined3d_mutex_unlock(); @@ -2535,7 +2536,8 @@ static HRESULT WINAPI d3d8_device_DrawIndexedPrimitive(IDirect3DDevice8 *iface, base_vertex_index = device->stateblock_state->base_vertex_index; d3d8_device_upload_sysmem_vertex_buffers(device, base_vertex_index + min_vertex_idx, vertex_count); d3d8_device_upload_sysmem_index_buffer(device, start_idx, index_count); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); wined3d_device_context_draw_indexed(device->immediate_context, base_vertex_index, start_idx, index_count, 0, 0); wined3d_mutex_unlock(); @@ -2629,7 +2631,8 @@ static HRESULT WINAPI d3d8_device_DrawPrimitiveUP(IDirect3DDevice8 *iface, if (FAILED(hr)) goto done;
- wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); wined3d_device_context_draw(device->immediate_context, vb_pos / stride, vtx_count, 0, 0); wined3d_stateblock_set_stream_source(device->state, 0, NULL, 0, 0); @@ -2759,7 +2762,8 @@ static HRESULT WINAPI d3d8_device_DrawIndexedPrimitiveUP(IDirect3DDevice8 *iface base_vertex_idx = vb_pos / vertex_stride - min_vertex_idx; wined3d_stateblock_set_base_vertex_index(device->state, base_vertex_idx);
- wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); wined3d_device_context_draw_indexed(device->immediate_context, base_vertex_idx, ib_pos / idx_fmt_size, idx_count, 0, 0); diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index ee1cdc87567..932d6d2d814 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -3036,7 +3036,8 @@ static HRESULT WINAPI d3d9_device_DrawPrimitive(IDirect3DDevice9Ex *iface, vertex_count = vertex_count_from_primitive_count(primitive_type, primitive_count); d3d9_device_upload_sysmem_vertex_buffers(device, 0, start_vertex, vertex_count); d3d9_generate_auto_mipmaps(device); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_context_draw(device->immediate_context, start_vertex, vertex_count, 0, 0); d3d9_rts_flag_auto_gen_mipmap(device); wined3d_mutex_unlock(); @@ -3073,7 +3074,8 @@ static HRESULT WINAPI d3d9_device_DrawIndexedPrimitive(IDirect3DDevice9Ex *iface d3d9_device_upload_sysmem_vertex_buffers(device, base_vertex_idx, min_vertex_idx, vertex_count); d3d9_device_upload_sysmem_index_buffer(device, start_idx, index_count); d3d9_generate_auto_mipmaps(device); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); wined3d_device_context_draw_indexed(device->immediate_context, base_vertex_idx, start_idx, index_count, 0, 0); d3d9_rts_flag_auto_gen_mipmap(device); @@ -3181,7 +3183,8 @@ static HRESULT WINAPI d3d9_device_DrawPrimitiveUP(IDirect3DDevice9Ex *iface, goto done;
d3d9_generate_auto_mipmaps(device); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); wined3d_device_context_draw(device->immediate_context, vb_pos / stride, vtx_count, 0, 0); wined3d_stateblock_set_stream_source(device->state, 0, NULL, 0, 0); @@ -3323,7 +3326,8 @@ static HRESULT WINAPI d3d9_device_DrawIndexedPrimitiveUP(IDirect3DDevice9Ex *ifa wined3dformat_from_d3dformat(index_format));
wined3d_device_apply_stateblock(device->wined3d_device, device->state); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_d3d(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_d3d(primitive_type), 0); wined3d_device_context_draw_indexed(device->immediate_context, vb_pos / vertex_stride - min_vertex_idx, ib_pos / idx_fmt_size, idx_count, 0, 0);
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 898bef5e534..e9070cfbda6 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -3520,7 +3520,8 @@ static HRESULT d3d_device7_DrawPrimitive(IDirect3DDevice7 *iface, goto done;
wined3d_stateblock_set_vertex_declaration(device->state, ddraw_find_decl(device->ddraw, fvf)); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_ddraw(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_ddraw(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); d3d_device_sync_surfaces(device); wined3d_device_context_draw(device->immediate_context, vb_pos / stride, vertex_count, 0, 0); @@ -3732,7 +3733,8 @@ static HRESULT d3d_device7_DrawIndexedPrimitive(IDirect3DDevice7 *iface, wined3d_stateblock_set_index_buffer(device->state, device->index_buffer, WINED3DFMT_R16_UINT);
wined3d_stateblock_set_vertex_declaration(device->state, ddraw_find_decl(device->ddraw, fvf)); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_ddraw(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_ddraw(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); d3d_device_sync_surfaces(device); wined3d_device_context_draw_indexed(device->immediate_context, vb_pos / stride, @@ -4060,7 +4062,8 @@ static HRESULT d3d_device7_DrawPrimitiveStrided(IDirect3DDevice7 *iface, D3DPRIM goto done; wined3d_stateblock_set_vertex_declaration(device->state, ddraw_find_decl(device->ddraw, fvf));
- wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_ddraw(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_ddraw(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); d3d_device_sync_surfaces(device); wined3d_device_context_draw(device->immediate_context, vb_pos / dst_stride, vertex_count, 0, 0); @@ -4196,7 +4199,8 @@ static HRESULT d3d_device7_DrawIndexedPrimitiveStrided(IDirect3DDevice7 *iface, wined3d_stateblock_set_index_buffer(device->state, device->index_buffer, WINED3DFMT_R16_UINT);
wined3d_stateblock_set_vertex_declaration(device->state, ddraw_find_decl(device->ddraw, fvf)); - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_ddraw(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_ddraw(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); d3d_device_sync_surfaces(device); wined3d_device_context_draw_indexed(device->immediate_context, @@ -4320,7 +4324,8 @@ static HRESULT d3d_device7_DrawPrimitiveVB(IDirect3DDevice7 *iface, D3DPRIMITIVE }
/* Now draw the primitives */ - wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_ddraw(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_ddraw(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); d3d_device_sync_surfaces(device); wined3d_device_context_draw(device->immediate_context, start_vertex, vertex_count, 0, 0); @@ -4474,7 +4479,8 @@ static HRESULT d3d_device7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface, return hr; }
- wined3d_device_set_primitive_type(device->wined3d_device, wined3d_primitive_type_from_ddraw(primitive_type), 0); + wined3d_device_context_set_primitive_type(device->immediate_context, + wined3d_primitive_type_from_ddraw(primitive_type), 0); wined3d_device_apply_stateblock(device->wined3d_device, device->state); d3d_device_sync_surfaces(device); wined3d_device_context_draw_indexed(device->immediate_context, start_vertex, diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c index 7b477a79415..686b1dd325f 100644 --- a/dlls/ddraw/executebuffer.c +++ b/dlls/ddraw/executebuffer.c @@ -74,7 +74,7 @@ HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *buffer, struct d3d case D3DOP_POINT: { const D3DPOINT *p = (D3DPOINT *)instr; - wined3d_device_set_primitive_type(device->wined3d_device, WINED3D_PT_POINTLIST, 0); + wined3d_device_context_set_primitive_type(device->immediate_context, WINED3D_PT_POINTLIST, 0); wined3d_stateblock_set_stream_source(device->state, 0, buffer->dst_vertex_buffer, 0, sizeof(D3DTLVERTEX)); wined3d_stateblock_set_vertex_declaration(device->state, @@ -91,7 +91,7 @@ HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *buffer, struct d3d
case D3DOP_LINE: primitive_size = 2; - wined3d_device_set_primitive_type(device->wined3d_device, WINED3D_PT_LINELIST, 0); + wined3d_device_context_set_primitive_type(device->immediate_context, WINED3D_PT_LINELIST, 0); /* Drop through. */ case D3DOP_TRIANGLE: { @@ -104,7 +104,7 @@ HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *buffer, struct d3d
if (!primitive_size) { - wined3d_device_set_primitive_type(device->wined3d_device, WINED3D_PT_TRIANGLELIST, 0); + wined3d_device_context_set_primitive_type(device->immediate_context, WINED3D_PT_TRIANGLELIST, 0); primitive_size = 3; }
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 19ab5b1e52a..623f969d690 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -4488,13 +4488,13 @@ void CDECL wined3d_device_dispatch_compute_indirect(struct wined3d_device *devic wined3d_device_context_dispatch_indirect(&device->cs->c, buffer, offset); }
-void CDECL wined3d_device_set_primitive_type(struct wined3d_device *device, +void CDECL wined3d_device_context_set_primitive_type(struct wined3d_device_context *context, enum wined3d_primitive_type primitive_type, unsigned int patch_vertex_count) { - struct wined3d_state *state = device->cs->c.state; + struct wined3d_state *state = context->state;
- TRACE("device %p, primitive_type %s, patch_vertex_count %u.\n", - device, debug_d3dprimitivetype(primitive_type), patch_vertex_count); + TRACE("context %p, primitive_type %s, patch_vertex_count %u.\n", + context, debug_d3dprimitivetype(primitive_type), patch_vertex_count);
state->primitive_type = primitive_type; state->patch_vertex_count = patch_vertex_count; diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec index aae9474c03a..54f93e87679 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec @@ -124,7 +124,6 @@ @ cdecl wined3d_device_set_npatch_mode(ptr float) @ cdecl wined3d_device_set_pixel_shader(ptr ptr) @ cdecl wined3d_device_set_predication(ptr ptr long) -@ cdecl wined3d_device_set_primitive_type(ptr long long) @ cdecl wined3d_device_set_ps_resource_view(ptr long ptr) @ cdecl wined3d_device_set_ps_sampler(ptr long ptr) @ cdecl wined3d_device_set_rasterizer_state(ptr ptr) @@ -184,6 +183,7 @@ @ cdecl wined3d_device_context_set_depth_stencil_view(ptr ptr) @ cdecl wined3d_device_context_set_index_buffer(ptr ptr long long) @ cdecl wined3d_device_context_set_predication(ptr ptr long) +@ cdecl wined3d_device_context_set_primitive_type(ptr long 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 657f8cd6758..3e31de44711 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -2483,8 +2483,6 @@ HRESULT __cdecl wined3d_device_set_npatch_mode(struct wined3d_device *device, fl void __cdecl wined3d_device_set_pixel_shader(struct wined3d_device *device, struct wined3d_shader *shader); void __cdecl wined3d_device_set_predication(struct wined3d_device *device, struct wined3d_query *predicate, BOOL value); -void __cdecl wined3d_device_set_primitive_type(struct wined3d_device *device, - enum wined3d_primitive_type primitive_topology, unsigned int patch_vertex_count); void __cdecl wined3d_device_set_ps_resource_view(struct wined3d_device *device, UINT idx, struct wined3d_shader_resource_view *view); void __cdecl wined3d_device_set_ps_sampler(struct wined3d_device *device, UINT idx, struct wined3d_sampler *sampler); @@ -2599,6 +2597,8 @@ void __cdecl wined3d_device_context_set_index_buffer(struct wined3d_device_conte struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset); void __cdecl wined3d_device_context_set_predication(struct wined3d_device_context *context, struct wined3d_query *predicate, BOOL value); +void __cdecl wined3d_device_context_set_primitive_type(struct wined3d_device_context *context, + enum wined3d_primitive_type primitive_topology, unsigned int patch_vertex_count); 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,