Added patch to implement stub for vcomp._vcomp_flush.

This commit is contained in:
Sebastian Lackner 2015-08-07 23:25:05 +02:00
parent 7a3bc88055
commit 45e6770be6
5 changed files with 164 additions and 13 deletions

View File

@ -39,10 +39,11 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features included in the next upcoming release [3]:**
**Bug fixes and features included in the next upcoming release [4]:**
* Add stub dlls required for MSVC 2015 runtime library (Windows 10)
* Add stubs for additional wininet options in InternetSetOption
* Implement stub for vcomp._vcomp_flush ([Wine Bug #39058](https://bugs.winehq.org/show_bug.cgi?id=39058))
* Improve stubs for dxgi MakeWindowAssociation and GetWindowAssociation

1
debian/changelog vendored
View File

@ -4,6 +4,7 @@ wine-staging (1.7.49) UNRELEASED; urgency=low
* Added patch for stub dlls required by the MSVC 2015 runtime library.
* Added patch with stubs for additional wininet options in InternetSetOption
(fixes Wine Staging Bug #443).
* Added patch to implement stub for vcomp._vcomp_flush.
* Removed patch to avoid race-conditions with long running threadpool tasks
(accepted upstream).
* Removed patch to add support for ThreadQuerySetWin32StartAddress info class

View File

@ -238,6 +238,7 @@ patch_enable_all ()
enable_user32_Painting="$1"
enable_user32_ScrollWindowEx="$1"
enable_user32_WndProc="$1"
enable_vcomp_Functions="$1"
enable_version_VerQueryValue="$1"
enable_wbemdisp_ISWbemSecurity="$1"
enable_wbemdisp_Timeout="$1"
@ -790,6 +791,9 @@ patch_enable ()
user32-WndProc)
enable_user32_WndProc="$2"
;;
vcomp-Functions)
enable_vcomp_Functions="$2"
;;
version-VerQueryValue)
enable_version_VerQueryValue="$2"
;;
@ -4712,6 +4716,22 @@ if test "$enable_user32_WndProc" -eq 1; then
) >> "$patchlist"
fi
# Patchset vcomp-Functions
# |
# | This patchset fixes the following Wine bugs:
# | * [#39058] Implement stub for vcomp._vcomp_flush
# |
# | Modified files:
# | * dlls/vcomp/main.c, dlls/vcomp/tests/vcomp.c, dlls/vcomp/vcomp.spec, dlls/vcomp100/vcomp100.spec,
# | dlls/vcomp110/vcomp110.spec, dlls/vcomp90/vcomp90.spec
# |
if test "$enable_vcomp_Functions" -eq 1; then
patch_apply vcomp-Functions/0001-vcomp-Implement-_vcomp_flush-and-add-tests.patch
(
echo '+ { "Sebastian Lackner", "vcomp: Implement _vcomp_flush and add tests.", 1 },';
) >> "$patchlist"
fi
# Patchset version-VerQueryValue
# |
# | Modified files:
@ -4901,6 +4921,18 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-resource_check_usage
# |
# | Modified files:
# | * dlls/wined3d/resource.c
# |
if test "$enable_wined3d_resource_check_usage" -eq 1; then
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
(
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
) >> "$patchlist"
fi
# Patchset wined3d-wined3d_swapchain_present
# |
# | Modified files:
@ -5000,18 +5032,6 @@ if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-resource_check_usage
# |
# | Modified files:
# | * dlls/wined3d/resource.c
# |
if test "$enable_wined3d_resource_check_usage" -eq 1; then
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
(
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
) >> "$patchlist"
fi
# Patchset wined3d-CSMT_Main
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,128 @@
From 7f7a6eb2828e1400e298e7a2a315c81b04cfb2b1 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 7 Aug 2015 23:22:28 +0200
Subject: vcomp: Implement _vcomp_flush and add tests.
---
dlls/vcomp/main.c | 6 ++++++
dlls/vcomp/tests/vcomp.c | 10 ++++++++++
dlls/vcomp/vcomp.spec | 2 +-
dlls/vcomp100/vcomp100.spec | 2 +-
dlls/vcomp110/vcomp110.spec | 2 +-
dlls/vcomp90/vcomp90.spec | 2 +-
6 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/vcomp/main.c b/dlls/vcomp/main.c
index 10ac465..0f733a9 100644
--- a/dlls/vcomp/main.c
+++ b/dlls/vcomp/main.c
@@ -465,6 +465,12 @@ void CDECL omp_set_num_threads(int num_threads)
vcomp_num_threads = num_threads;
}
+void CDECL _vcomp_flush(void)
+{
+ TRACE("(): stub\n");
+ /* FIXME: What kind of memory barrier is this? */
+}
+
void CDECL _vcomp_barrier(void)
{
struct vcomp_team_data *team_data = vcomp_init_thread_data()->team;
diff --git a/dlls/vcomp/tests/vcomp.c b/dlls/vcomp/tests/vcomp.c
index f24c654..3df547a 100644
--- a/dlls/vcomp/tests/vcomp.c
+++ b/dlls/vcomp/tests/vcomp.c
@@ -52,6 +52,7 @@ static void (CDECL *p_vcomp_atomic_sub_r8)(double *dest, double val);
static void (CDECL *p_vcomp_atomic_xor_i4)(int *dest, int val);
static void (CDECL *p_vcomp_barrier)(void);
static void (CDECL *p_vcomp_enter_critsect)(CRITICAL_SECTION **critsect);
+static void (CDECL *p_vcomp_flush)(void);
static void (CDECL *p_vcomp_for_dynamic_init)(unsigned int flags, unsigned int first, unsigned int last,
int step, unsigned int chunksize);
static int (CDECL *p_vcomp_for_dynamic_next)(unsigned int *begin, unsigned int *end);
@@ -229,6 +230,7 @@ static BOOL init_vcomp(void)
VCOMP_GET_PROC(_vcomp_atomic_xor_i4);
VCOMP_GET_PROC(_vcomp_barrier);
VCOMP_GET_PROC(_vcomp_enter_critsect);
+ VCOMP_GET_PROC(_vcomp_flush);
VCOMP_GET_PROC(_vcomp_for_dynamic_init);
VCOMP_GET_PROC(_vcomp_for_dynamic_next);
VCOMP_GET_PROC(_vcomp_for_static_end);
@@ -1269,6 +1271,13 @@ static void test_vcomp_enter_critsect(void)
pomp_set_num_threads(max_threads);
}
+static void test_vcomp_flush(void)
+{
+ p_vcomp_flush();
+ p_vcomp_flush();
+ p_vcomp_flush();
+}
+
static void test_atomic_integer32(void)
{
struct
@@ -1388,6 +1397,7 @@ START_TEST(vcomp)
test_vcomp_master_begin();
test_vcomp_single_begin();
test_vcomp_enter_critsect();
+ test_vcomp_flush();
test_atomic_integer32();
test_atomic_float();
test_atomic_double();
diff --git a/dlls/vcomp/vcomp.spec b/dlls/vcomp/vcomp.spec
index 55b699f..40110d2 100644
--- a/dlls/vcomp/vcomp.spec
+++ b/dlls/vcomp/vcomp.spec
@@ -54,7 +54,7 @@
@ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr)
-@ stub _vcomp_flush
+@ cdecl _vcomp_flush()
@ cdecl _vcomp_for_dynamic_init(long long long long long)
@ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr)
diff --git a/dlls/vcomp100/vcomp100.spec b/dlls/vcomp100/vcomp100.spec
index 7bf6238..1974f7e 100644
--- a/dlls/vcomp100/vcomp100.spec
+++ b/dlls/vcomp100/vcomp100.spec
@@ -54,7 +54,7 @@
@ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect
-@ stub _vcomp_flush
+@ cdecl _vcomp_flush() vcomp._vcomp_flush
@ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init
@ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next
diff --git a/dlls/vcomp110/vcomp110.spec b/dlls/vcomp110/vcomp110.spec
index c84e44c..d1b27ed 100644
--- a/dlls/vcomp110/vcomp110.spec
+++ b/dlls/vcomp110/vcomp110.spec
@@ -55,7 +55,7 @@
@ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect
-@ stub _vcomp_flush
+@ cdecl _vcomp_flush() vcomp._vcomp_flush
@ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init
@ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next
diff --git a/dlls/vcomp90/vcomp90.spec b/dlls/vcomp90/vcomp90.spec
index 7bf6238..1974f7e 100644
--- a/dlls/vcomp90/vcomp90.spec
+++ b/dlls/vcomp90/vcomp90.spec
@@ -54,7 +54,7 @@
@ stub _vcomp_copyprivate_broadcast
@ stub _vcomp_copyprivate_receive
@ cdecl _vcomp_enter_critsect(ptr) vcomp._vcomp_enter_critsect
-@ stub _vcomp_flush
+@ cdecl _vcomp_flush() vcomp._vcomp_flush
@ cdecl _vcomp_for_dynamic_init(long long long long long) vcomp._vcomp_for_dynamic_init
@ stub _vcomp_for_dynamic_init_i8
@ cdecl _vcomp_for_dynamic_next(ptr ptr) vcomp._vcomp_for_dynamic_next
--
2.5.0

View File

@ -0,0 +1 @@
Fixes: [39058] Implement stub for vcomp._vcomp_flush