d3d8: Handle stateblocks in d3d8_device_SetIndices().

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 2019-11-07 18:28:56 -06:00 committed by Alexandre Julliard
parent 056a2440b5
commit 8d54ca4f4e
1 changed files with 6 additions and 2 deletions

View File

@ -3063,10 +3063,14 @@ static HRESULT WINAPI d3d8_device_SetIndices(IDirect3DDevice8 *iface,
* problem)
*/
wined3d_mutex_lock();
wined3d_device_set_base_vertex_index(device->wined3d_device, base_vertex_idx);
wined3d_device_set_index_buffer(device->wined3d_device, wined3d_buffer, ib ? ib->format : WINED3DFMT_UNKNOWN, 0);
wined3d_stateblock_set_base_vertex_index(device->update_state, base_vertex_idx);
wined3d_stateblock_set_index_buffer(device->update_state, wined3d_buffer, ib ? ib->format : WINED3DFMT_UNKNOWN);
if (!device->recording)
{
wined3d_device_set_base_vertex_index(device->wined3d_device, base_vertex_idx);
wined3d_device_set_index_buffer(device->wined3d_device, wined3d_buffer, ib ? ib->format : WINED3DFMT_UNKNOWN, 0);
device->sysmem_ib = ib && ib->draw_buffer;
}
wined3d_mutex_unlock();
return D3D_OK;