mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
wined3d-CSMT_Main: Added patch to fix occlusion query tests.
This commit is contained in:
parent
56ed08d2e1
commit
0006045c66
@ -7763,6 +7763,7 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
echo '+ { "Nils Kuhnhenn", "wined3d: Fix incorrect return value in wined3d_cs_exec_set_light.", 1 },';
|
||||
echo '+ { "Nils Kuhnhenn", "wined3d: Fix context_acquire not being called from the command thread in wined3d_texture_add_dirty_region.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Do not signal CS event when we manage to unset waiting_for_event quickly enough.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Fix occlusion query tests.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Enable CSMT by default, print a winediag message informing about this patchset.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
@ -0,0 +1,30 @@
|
||||
From 7ca9013cbb089978d3a6cfa90d73ae37c8bc1df1 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 15 Dec 2016 05:21:00 +0100
|
||||
Subject: wined3d: Fix occlusion query tests.
|
||||
|
||||
---
|
||||
dlls/wined3d/cs.c | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index b480705..c55afad 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -2286,13 +2286,6 @@ static UINT wined3d_cs_exec_query_issue(struct wined3d_cs *cs, const void *data)
|
||||
{
|
||||
list_add_tail(&cs->query_poll_list, &query->poll_list_entry);
|
||||
}
|
||||
- else if (!poll && !list_empty(&query->poll_list_entry))
|
||||
- {
|
||||
- /* Can happen if occlusion queries are restarted. This discards the old
|
||||
- * result, polling it could result in a GL error */
|
||||
- list_remove(&query->poll_list_entry);
|
||||
- list_init(&query->poll_list_entry);
|
||||
- }
|
||||
else if (op->flags & WINED3DISSUE_END)
|
||||
{
|
||||
/* Can happen when an occlusion query is ended without being started,
|
||||
--
|
||||
2.9.0
|
||||
|
@ -2893,7 +2893,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_destroy_object(struct wined3d_cs *cs, void (*callback)(void *object), void *object)
|
||||
@@ -1292,15 +2258,57 @@ void wined3d_cs_emit_destroy_object(struct wined3d_cs *cs, void (*callback)(void
|
||||
@@ -1292,15 +2258,50 @@ void wined3d_cs_emit_destroy_object(struct wined3d_cs *cs, void (*callback)(void
|
||||
op->callback = callback;
|
||||
op->object = object;
|
||||
|
||||
@ -2925,13 +2925,6 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
+ {
|
||||
+ list_add_tail(&cs->query_poll_list, &query->poll_list_entry);
|
||||
+ }
|
||||
+ else if (!poll && !list_empty(&query->poll_list_entry))
|
||||
+ {
|
||||
+ /* Can happen if occlusion queries are restarted. This discards the old
|
||||
+ * result, polling it could result in a GL error */
|
||||
+ list_remove(&query->poll_list_entry);
|
||||
+ list_init(&query->poll_list_entry);
|
||||
+ }
|
||||
+ else if (op->flags & WINED3DISSUE_END)
|
||||
+ {
|
||||
+ /* Can happen when an occlusion query is ended without being started,
|
||||
@ -2951,7 +2944,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_query_issue(struct wined3d_cs *cs, struct wined3d_query *query, DWORD flags)
|
||||
@@ -1312,16 +2320,27 @@ void wined3d_cs_emit_query_issue(struct wined3d_cs *cs, struct wined3d_query *qu
|
||||
@@ -1312,16 +2313,27 @@ void wined3d_cs_emit_query_issue(struct wined3d_cs *cs, struct wined3d_query *qu
|
||||
op->query = query;
|
||||
op->flags = flags;
|
||||
|
||||
@ -2979,7 +2972,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_preload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource)
|
||||
@@ -1334,16 +2353,27 @@ void wined3d_cs_emit_preload_resource(struct wined3d_cs *cs, struct wined3d_reso
|
||||
@@ -1334,16 +2346,27 @@ void wined3d_cs_emit_preload_resource(struct wined3d_cs *cs, struct wined3d_reso
|
||||
|
||||
wined3d_resource_acquire(resource);
|
||||
|
||||
@ -3007,7 +3000,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource)
|
||||
@@ -1356,6 +2386,7 @@ void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resou
|
||||
@@ -1356,6 +2379,7 @@ void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resou
|
||||
|
||||
wined3d_resource_acquire(resource);
|
||||
|
||||
@ -3015,7 +3008,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@@ -1561,5 +2592,1175 @@ void wined3d_cs_destroy(struct wined3d_cs *cs)
|
||||
@@ -1561,5 +2585,1175 @@ void wined3d_cs_destroy(struct wined3d_cs *cs)
|
||||
state_cleanup(&cs->state);
|
||||
HeapFree(GetProcessHeap(), 0, cs->fb.render_targets);
|
||||
HeapFree(GetProcessHeap(), 0, cs->data);
|
||||
|
Loading…
x
Reference in New Issue
Block a user