wined3d-CSMT_Main: Get rid of unnecessary wait.

This commit is contained in:
Sebastian Lackner 2017-05-12 03:47:26 +02:00
parent 975205155e
commit 171d05fffe
3 changed files with 334 additions and 152 deletions

View File

@ -1,28 +1,15 @@
From 9c3480193d90c7553b03b3d61cc9db4c08aeffbc Mon Sep 17 00:00:00 2001
From 8b3b6277835cb2d546d103b196456aead8677267 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 19 Feb 2017 00:57:12 +0100
Subject: wined3d: Add additional synchronization CS ops.
---
dlls/wined3d/cs.c | 1 +
dlls/wined3d/view.c | 6 ++++++
dlls/wined3d/wined3d_main.c | 2 +-
3 files changed, 8 insertions(+), 1 deletion(-)
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index fd6968634b..a2d4885167 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -2557,6 +2557,7 @@ void wined3d_cs_destroy(struct wined3d_cs *cs)
if (cs->thread)
{
wined3d_cs_emit_stop(cs);
+ WaitForSingleObject(cs->thread, INFINITE);
CloseHandle(cs->thread);
if (!CloseHandle(cs->event))
ERR("Closing event failed.\n");
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index 0a458803a7..0184b21cdb 100644
index 0a458803a72..0184b21cdb9 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -716,6 +716,8 @@ static void wined3d_shader_resource_view_cs_init(void *object)
@ -60,7 +47,7 @@ index 0a458803a7..0184b21cdb 100644
return WINED3D_OK;
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
index 1dab57a545..ecebc3eed9 100644
index 1dab57a5454..ecebc3eed97 100644
--- a/dlls/wined3d/wined3d_main.c
+++ b/dlls/wined3d/wined3d_main.c
@@ -72,7 +72,7 @@ static CRITICAL_SECTION wined3d_wndproc_cs = {&wined3d_wndproc_cs_debug, -1, 0,

File diff suppressed because it is too large Load Diff