diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index a81cd645e02..13953c9600e 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -665,7 +665,12 @@ static void buffer_unload(struct wined3d_resource *resource) * happens only once per changed vertexbuffer and should occur rather * rarely. */ if (resource->bind_count) + { device_invalidate_state(device, STATE_STREAMSRC); + + if (buffer->buffer_type_hint == GL_ELEMENT_ARRAY_BUFFER) + device_invalidate_state(device, STATE_INDEXBUFFER); + } } resource_unload(resource);