Module: wine Branch: master Commit: de19ba7c23b3fd3c80ce7221bdb3ce138b3d4400 URL: http://source.winehq.org/git/wine.git/?a=commit;h=de19ba7c23b3fd3c80ce7221bd...
Author: Józef Kucia jkucia@codeweavers.com Date: Wed Nov 2 10:55:36 2016 +0100
wined3d: Invalidate STATE_CONSTANT_BUFFER(*) device state in buffer_destroy_buffer_object() when needed.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/buffer.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c index d2b54be..72c45ee 100644 --- a/dlls/wined3d/buffer.c +++ b/dlls/wined3d/buffer.c @@ -162,6 +162,15 @@ static void buffer_destroy_buffer_object(struct wined3d_buffer *buffer, const st device_invalidate_state(resource->device, STATE_STREAMSRC); if (buffer->bind_flags & WINED3D_BIND_INDEX_BUFFER) device_invalidate_state(resource->device, STATE_INDEXBUFFER); + if (buffer->bind_flags & WINED3D_BIND_CONSTANT_BUFFER) + { + device_invalidate_state(resource->device, STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_VERTEX)); + device_invalidate_state(resource->device, STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_HULL)); + device_invalidate_state(resource->device, STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_DOMAIN)); + device_invalidate_state(resource->device, STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GEOMETRY)); + device_invalidate_state(resource->device, STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_PIXEL)); + device_invalidate_state(resource->device, STATE_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_COMPUTE)); + } }
if (buffer->query)