mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Added patch to invalidate INDEXBUFFER device state when bound index buffer is unloaded.
This commit is contained in:
parent
8f707d32ac
commit
1f8b19cb25
@ -370,6 +370,7 @@ patch_enable_all ()
|
||||
enable_wined3d_CSMT_Helper="$1"
|
||||
enable_wined3d_DXTn="$1"
|
||||
enable_wined3d_GTX_560M="$1"
|
||||
enable_wined3d_Invalidate_INDEXBUFFER="$1"
|
||||
enable_wined3d_Limit_Vram="$1"
|
||||
enable_wined3d_QUERY_Stubs="$1"
|
||||
enable_wined3d_Revert_Pixel_Center_Offset="$1"
|
||||
@ -1293,6 +1294,9 @@ patch_enable ()
|
||||
wined3d-GTX_560M)
|
||||
enable_wined3d_GTX_560M="$2"
|
||||
;;
|
||||
wined3d-Invalidate_INDEXBUFFER)
|
||||
enable_wined3d_Invalidate_INDEXBUFFER="$2"
|
||||
;;
|
||||
wined3d-Limit_Vram)
|
||||
enable_wined3d_Limit_Vram="$2"
|
||||
;;
|
||||
@ -7566,6 +7570,18 @@ if test "$enable_wined3d_GTX_560M" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Invalidate_INDEXBUFFER
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/buffer.c
|
||||
# |
|
||||
if test "$enable_wined3d_Invalidate_INDEXBUFFER" -eq 1; then
|
||||
patch_apply wined3d-Invalidate_INDEXBUFFER/0001-wined3d-Invalidate-INDEXBUFFER-device-state-when-bou.patch
|
||||
(
|
||||
echo '+ { "Józef Kucia", "wined3d: Invalidate INDEXBUFFER device state when bound index buffer is unloaded.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Limit_Vram
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -0,0 +1,39 @@
|
||||
From cda4f405aae949edf1ad29b2277b28a57c661ad5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=B3zef=20Kucia?= <jkucia@codeweavers.com>
|
||||
Date: Mon, 31 Oct 2016 12:48:31 +0100
|
||||
Subject: wined3d: Invalidate INDEXBUFFER device state when bound index buffer
|
||||
is unloaded.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes a regression introduced by commit
|
||||
e3a8cd20ced9f33db64a35f60bc8487ae8173e47.
|
||||
|
||||
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 | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
index a81cd64..13953c9 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);
|
||||
--
|
||||
2.9.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user