d3d11: Use wined3d_device_context_draw_indirect().

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:07 -05:00 committed by Alexandre Julliard
parent fb54d9212f
commit 72043f8cc7
1 changed files with 4 additions and 6 deletions

View File

@ -1082,7 +1082,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_DrawAuto(ID3D11DeviceConte
static void STDMETHODCALLTYPE d3d11_immediate_context_DrawIndexedInstancedIndirect(ID3D11DeviceContext1 *iface,
ID3D11Buffer *buffer, UINT offset)
{
struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface);
struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface);
struct d3d_buffer *d3d_buffer;
TRACE("iface %p, buffer %p, offset %u.\n", iface, buffer, offset);
@ -1090,15 +1090,14 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_DrawIndexedInstancedIndire
d3d_buffer = unsafe_impl_from_ID3D11Buffer(buffer);
wined3d_mutex_lock();
wined3d_device_draw_indexed_primitive_instanced_indirect(device->wined3d_device,
d3d_buffer->wined3d_buffer, offset);
wined3d_device_context_draw_indirect(context->wined3d_context, d3d_buffer->wined3d_buffer, offset, true);
wined3d_mutex_unlock();
}
static void STDMETHODCALLTYPE d3d11_immediate_context_DrawInstancedIndirect(ID3D11DeviceContext1 *iface,
ID3D11Buffer *buffer, UINT offset)
{
struct d3d_device *device = device_from_immediate_ID3D11DeviceContext1(iface);
struct d3d11_immediate_context *context = impl_from_ID3D11DeviceContext1(iface);
struct d3d_buffer *d3d_buffer;
TRACE("iface %p, buffer %p, offset %u.\n", iface, buffer, offset);
@ -1106,8 +1105,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_DrawInstancedIndirect(ID3D
d3d_buffer = unsafe_impl_from_ID3D11Buffer(buffer);
wined3d_mutex_lock();
wined3d_device_draw_primitive_instanced_indirect(device->wined3d_device,
d3d_buffer->wined3d_buffer, offset);
wined3d_device_context_draw_indirect(context->wined3d_context, d3d_buffer->wined3d_buffer, offset, false);
wined3d_mutex_unlock();
}