Józef Kucia : wined3d: Invalidate STATE_CONSTANT_BUFFER(*) device state in buffer_destroy_buffer_object() when needed.
Module: wine Branch: master Commit: de19ba7c23b3fd3c80ce7221bdb3ce138b3d4400 URL: http://source.winehq.org/git/wine.git/?a=commit;h=de19ba7c23b3fd3c80ce7221bd... Author: Józef Kucia <jkucia(a)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(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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)
participants (1)
-
Alexandre Julliard