d3d9: Handle stateblocks in d3d9_device_SetStreamSource().

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>
stable
Zebediah Figura 2019-11-11 19:55:59 -06:00 committed by Alexandre Julliard
parent fa4b0690a7
commit d028e44d73
1 changed files with 9 additions and 5 deletions

View File

@ -3630,13 +3630,17 @@ static HRESULT WINAPI d3d9_device_SetStreamSource(IDirect3DDevice9Ex *iface,
else
wined3d_buffer = buffer_impl->wined3d_buffer;
hr = wined3d_device_set_stream_source(device->wined3d_device, stream_idx, wined3d_buffer, offset, stride);
hr = wined3d_stateblock_set_stream_source(device->update_state, stream_idx, wined3d_buffer, offset, stride);
if (SUCCEEDED(hr) && !device->recording)
{
if (buffer_impl && buffer_impl->draw_buffer)
device->sysmem_vb |= (1u << stream_idx);
else
device->sysmem_vb &= ~(1u << stream_idx);
hr = wined3d_device_set_stream_source(device->wined3d_device, stream_idx, wined3d_buffer, offset, stride);
if (SUCCEEDED(hr))
{
if (buffer_impl && buffer_impl->draw_buffer)
device->sysmem_vb |= (1u << stream_idx);
else
device->sysmem_vb &= ~(1u << stream_idx);
}
}
wined3d_mutex_unlock();