Module: wine Branch: master Commit: c885524cf6cd0b8d9a1bd8ea5c7812bb2f710f25 URL: https://gitlab.winehq.org/wine/wine/-/commit/c885524cf6cd0b8d9a1bd8ea5c7812b...
Author: Zebediah Figura zfigura@codeweavers.com Date: Mon Jul 18 14:48:52 2022 -0500
d3d9: Correctly check for sysmem index buffers in d3d9_stateblock_Apply().
This fixes a regression introduced by 66f37aae7e25740857aeb8ea9c2f0395781389f5.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53372
---
dlls/d3d9/stateblock.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/dlls/d3d9/stateblock.c b/dlls/d3d9/stateblock.c index c797ce54b49..2a0731437e3 100644 --- a/dlls/d3d9/stateblock.c +++ b/dlls/d3d9/stateblock.c @@ -113,9 +113,10 @@ static HRESULT WINAPI d3d9_stateblock_Capture(IDirect3DStateBlock9 *iface) static HRESULT WINAPI d3d9_stateblock_Apply(IDirect3DStateBlock9 *iface) { struct d3d9_stateblock *stateblock = impl_from_IDirect3DStateBlock9(iface); + struct d3d9_vertexbuffer *vertex_buffer; struct wined3d_texture *wined3d_texture; + struct d3d9_indexbuffer *index_buffer; struct wined3d_buffer *wined3d_buffer; - struct d3d9_vertexbuffer *buffer; struct d3d9_texture *texture; struct d3d9_device *device; unsigned int i; @@ -136,13 +137,13 @@ static HRESULT WINAPI d3d9_stateblock_Apply(IDirect3DStateBlock9 *iface) { if (!(wined3d_buffer = device->stateblock_state->streams[i].buffer)) continue; - if (!(buffer = wined3d_buffer_get_parent(wined3d_buffer))) + if (!(vertex_buffer = wined3d_buffer_get_parent(wined3d_buffer))) continue; - if (buffer->draw_buffer) + if (vertex_buffer->draw_buffer) device->sysmem_vb |= 1u << i; } device->sysmem_ib = (wined3d_buffer = device->stateblock_state->index_buffer) - && (buffer = wined3d_buffer_get_parent(wined3d_buffer)) && buffer->draw_buffer; + && (index_buffer = wined3d_buffer_get_parent(wined3d_buffer)) && index_buffer->sysmem; device->auto_mipmaps = 0; for (i = 0; i < D3D9_MAX_TEXTURE_UNITS; ++i) {