d3d11: Use wined3d_device_context_draw_indexed().

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>
This commit is contained in:
Zebediah Figura 2021-04-02 11:00:05 -05:00 committed by Alexandre Julliard
parent 8cdad7d4b0
commit 7c74b5b971
1 changed files with 6 additions and 7 deletions

View File

@ -576,14 +576,14 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_VSSetShader(ID3D11DeviceCo
static void STDMETHODCALLTYPE d3d11_immediate_context_DrawIndexed(ID3D11DeviceContext1 *iface,
UINT index_count, UINT start_index_location, INT base_vertex_location)
{
struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface);
struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface);
TRACE("iface %p, index_count %u, start_index_location %u, base_vertex_location %d.\n",
iface, index_count, start_index_location, base_vertex_location);
wined3d_mutex_lock();
wined3d_device_set_base_vertex_index(device->wined3d_device, base_vertex_location);
wined3d_device_draw_indexed_primitive(device->wined3d_device, start_index_location, index_count);
wined3d_device_context_draw_indexed(context->wined3d_context,
base_vertex_location, start_index_location, index_count, 0, 0);
wined3d_mutex_unlock();
}
@ -704,7 +704,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_DrawIndexedInstanced(ID3D1
UINT instance_index_count, UINT instance_count, UINT start_index_location, INT base_vertex_location,
UINT start_instance_location)
{
struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface);
struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface);
TRACE("iface %p, instance_index_count %u, instance_count %u, start_index_location %u, "
"base_vertex_location %d, start_instance_location %u.\n",
@ -712,9 +712,8 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_DrawIndexedInstanced(ID3D1
base_vertex_location, start_instance_location);
wined3d_mutex_lock();
wined3d_device_set_base_vertex_index(device->wined3d_device, base_vertex_location);
wined3d_device_draw_indexed_primitive_instanced(device->wined3d_device, start_index_location,
instance_index_count, start_instance_location, instance_count);
wined3d_device_context_draw_indexed(context->wined3d_context, base_vertex_location,
start_index_location, instance_index_count, start_instance_location, instance_count);
wined3d_mutex_unlock();
}