From 3003efacdbf1fd59b702424ade742f909ad959f2 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 14 Apr 2017 15:28:19 +0200 Subject: [PATCH] Rebase against 709935314458bd0ce27aab3986ae98cc556cb663. --- patches/patchinstall.sh | 60 +------------------ patches/wined3d-CSMT_Main/definition | 1 + ...ort-for-DXTn-software-decoding-throu.patch | 32 +++++----- ...DXTn-support-and-export-conversion-f.patch | 18 +++--- ...s-for-QUERY_TYPE_SO_STATISTICS-and-Q.patch | 40 +++++++------ ...support-for-D3D11_QUERY_PIPELINE_STA.patch | 38 ++++++------ 6 files changed, 69 insertions(+), 120 deletions(-) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 9b7a2d4c..79f9fdf2 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "aa1580398e4c9eda851d475213e07d865d9238bd" + echo "709935314458bd0ce27aab3986ae98cc556cb663" } # Show version information @@ -416,7 +416,6 @@ patch_enable_all () enable_wined3d_1DTextures="$1" enable_wined3d_Accounting="$1" enable_wined3d_CSMT_Helper="$1" - enable_wined3d_CSMT_Main="$1" enable_wined3d_DXTn="$1" enable_wined3d_GTX_560M="$1" enable_wined3d_Limit_Vram="$1" @@ -1478,9 +1477,6 @@ patch_enable () wined3d-CSMT_Helper) enable_wined3d_CSMT_Helper="$2" ;; - wined3d-CSMT_Main) - enable_wined3d_CSMT_Main="$2" - ;; wined3d-DXTn) enable_wined3d_DXTn="$2" ;; @@ -2030,13 +2026,6 @@ if test "$enable_winex11_WM_WINDOWPOSCHANGING" -eq 1; then enable_winex11__NET_ACTIVE_WINDOW=1 fi -if test "$enable_wined3d_CSMT_Main" -eq 1; then - if test "$enable_wined3d_CSMT_Helper" -gt 1; then - abort "Patchset wined3d-CSMT_Helper disabled, but wined3d-CSMT_Main depends on that." - fi - enable_wined3d_CSMT_Helper=1 -fi - if test "$enable_wined3d_CSMT_Helper" -eq 1; then if test "$enable_d3d11_Deferred_Context" -gt 1; then abort "Patchset d3d11-Deferred_Context disabled, but wined3d-CSMT_Helper depends on that." @@ -8734,53 +8723,6 @@ if test "$enable_wined3d_check_format_support" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-CSMT_Main -# | -# | This patchset has the following (direct or indirect) dependencies: -# | * d3d11-Deferred_Context, d3d9-Tests, makedep-PARENTSPEC, ntdll-Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll- -# | Loader_Machine_Type, ntdll-DllRedirects, wined3d-1DTextures, wined3d-Accounting, wined3d-DXTn, wined3d-QUERY_Stubs, -# | wined3d-Revert_Buffer_Upload, wined3d-Revert_Pixel_Center_Offset, wined3d-Silence_FIXMEs, wined3d-CSMT_Helper -# | -# | This patchset fixes the following Wine bugs: -# | * [#11674] Support for CSMT (command stream) to increase graphic performance -# | -# | Modified files: -# | * dlls/wined3d/buffer.c, dlls/wined3d/context.c, dlls/wined3d/cs.c, dlls/wined3d/device.c, dlls/wined3d/query.c, -# | dlls/wined3d/resource.c, dlls/wined3d/surface.c, dlls/wined3d/swapchain.c, dlls/wined3d/texture.c, dlls/wined3d/view.c, -# | dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h -# | -if test "$enable_wined3d_CSMT_Main" -eq 1; then - patch_apply wined3d-CSMT_Main/9999-IfDefined.patch - ( - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Add additional synchronization CS ops.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Send push_constants through the CS.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Prevent the command stream from running ahead too far.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Send blits through the command stream.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Get rid of the end_scene flush and finish.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Send query_poll through the command stream.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Wrap GL BOs in a structure.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Add a separate variable to check if queries are started.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Wait for the cs to finish before destroying the device.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Add swapchain waits.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Hackily introduce a multithreaded command stream.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Run the cs asynchronously.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Introduce a separate priority queue.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Use priority queue for maps/unmaps.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Use priority queue for query polls.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Don'\''t call glFinish before swapping.", 1 },'; - printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Use an event to block the worker thread when it is idle.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Do not immediately submit stateblock updates.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Use priority queue for update_sub_resource.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "wined3d: Use spin lock for cs list critical sections.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "wined3d: Don'\''t wait for events that have not been issued yet.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Reset context before destruction.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Synchronize before resizing swapchain context array.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "wined3d: Improve wined3d_cs_emit_update_sub_resource.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "wined3d: Discard buffer during upload when replacing complete content.", 1 },'; - printf '%s\n' '+ { "Sebastian Lackner", "wined3d: Enforce a memory limit of about 16 MB for CSMT blocks.", 1 },'; - ) >> "$patchlist" -fi - # Patchset winedbg-Process_Arguments # | # | Modified files: diff --git a/patches/wined3d-CSMT_Main/definition b/patches/wined3d-CSMT_Main/definition index b3acc9dd..dcae18bb 100644 --- a/patches/wined3d-CSMT_Main/definition +++ b/patches/wined3d-CSMT_Main/definition @@ -5,6 +5,7 @@ Fixes: [11674] Support for CSMT (command stream) to increase graphic performance Apply-After: dlls/wined3d/* Depends: wined3d-CSMT_Helper IfDefined: STAGING_CSMT +Disabled: true # Known issues: # https://bugs.wine-staging.com/buglist.cgi?component=Bugs&keywords=csmt%2C%20&keywords_type=allwords&list_id=3690&query_format=advanced&resolution=--- diff --git a/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch b/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch index a9a0506d..a9604da4 100644 --- a/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch +++ b/patches/wined3d-DXTn/0001-wined3d-Add-support-for-DXTn-software-decoding-throu.patch @@ -1,4 +1,4 @@ -From b14633555358bcce6ab3dbef2573f19f72a5b2e8 Mon Sep 17 00:00:00 2001 +From 6fb6fb2e293e57e2645d988e82c12782db1c30b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 20 Sep 2014 02:48:07 +0200 Subject: wined3d: Add support for DXTn software decoding through libtxc_dxtn. @@ -22,10 +22,10 @@ Changes in rev 3: create mode 100644 dlls/wined3d/dxtn.c diff --git a/configure.ac b/configure.ac -index 76fb87d..7a80fff 100644 +index 1a5b0de0e3..adf7cd0f4d 100644 --- a/configure.ac +++ b/configure.ac -@@ -1622,6 +1622,9 @@ fi +@@ -1633,6 +1633,9 @@ fi WINE_NOTICE_WITH(tiff,[test "x$ac_cv_lib_soname_tiff" = "x"], [libtiff ${notice_platform}development files not found, TIFF won't be supported.]) @@ -36,7 +36,7 @@ index 76fb87d..7a80fff 100644 if test "x$with_mpg123" != "xno" then diff --git a/dlls/wined3d/Makefile.in b/dlls/wined3d/Makefile.in -index 655800b..ee0615f 100644 +index edee58845a..70f47c6a5f 100644 --- a/dlls/wined3d/Makefile.in +++ b/dlls/wined3d/Makefile.in @@ -11,6 +11,7 @@ C_SRCS = \ @@ -49,7 +49,7 @@ index 655800b..ee0615f 100644 nvidia_texture_shader.c \ diff --git a/dlls/wined3d/dxtn.c b/dlls/wined3d/dxtn.c new file mode 100644 -index 0000000..ce98949 +index 0000000000..ce989490ef --- /dev/null +++ b/dlls/wined3d/dxtn.c @@ -0,0 +1,299 @@ @@ -353,10 +353,10 @@ index 0000000..ce98949 + wine_dlclose(txc_dxtn_handle, NULL, 0); +} diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index abbab26..3668c25 100644 +index 2ba80605a5..3a91e98e98 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c -@@ -1697,6 +1697,66 @@ static void convert_yuy2_r5g6b5(const BYTE *src, BYTE *dst, +@@ -1215,6 +1215,66 @@ static void convert_yuy2_r5g6b5(const BYTE *src, BYTE *dst, } } @@ -423,7 +423,7 @@ index abbab26..3668c25 100644 struct d3dfmt_converter_desc { enum wined3d_format_id from, to; -@@ -1713,6 +1773,20 @@ static const struct d3dfmt_converter_desc converters[] = +@@ -1231,6 +1291,20 @@ static const struct d3dfmt_converter_desc converters[] = {WINED3DFMT_YUY2, WINED3DFMT_B5G6R5_UNORM, convert_yuy2_r5g6b5}, }; @@ -444,7 +444,7 @@ index abbab26..3668c25 100644 static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_format_id from, enum wined3d_format_id to) { -@@ -1724,6 +1798,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo +@@ -1242,6 +1316,12 @@ static inline const struct d3dfmt_converter_desc *find_converter(enum wined3d_fo return &converters[i]; } @@ -458,10 +458,10 @@ index abbab26..3668c25 100644 } diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c -index d584664..cb55ef8 100644 +index f662c3a48d..dca6a2a64d 100644 --- a/dlls/wined3d/wined3d_main.c +++ b/dlls/wined3d/wined3d_main.c -@@ -333,6 +333,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL) +@@ -336,6 +336,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL) if (appkey) RegCloseKey( appkey ); if (hkey) RegCloseKey( hkey ); @@ -470,7 +470,7 @@ index d584664..cb55ef8 100644 return TRUE; } -@@ -364,6 +366,9 @@ static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL) +@@ -367,6 +369,9 @@ static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL) DeleteCriticalSection(&wined3d_wndproc_cs); DeleteCriticalSection(&wined3d_cs); @@ -481,11 +481,11 @@ index d584664..cb55ef8 100644 } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 9a7dff4..e14786c 100644 +index 1ed0846939..e6f9ebc79a 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -3483,6 +3483,19 @@ static inline struct wined3d_surface *context_get_rt_surface(const struct wined3 - return texture->sub_resources[context->current_rt.sub_resource_idx].u.surface; +@@ -4062,6 +4062,19 @@ static inline void wined3d_not_from_cs(struct wined3d_cs *cs) + assert(cs->thread_id != GetCurrentThreadId()); } +BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out, @@ -505,5 +505,5 @@ index 9a7dff4..e14786c 100644 #define WINED3D_OPENGL_WINDOW_CLASS_NAME "WineD3D_OpenGL" -- -2.7.1 +2.11.0 diff --git a/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch b/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch index 0361485e..a74b1209 100644 --- a/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch +++ b/patches/wined3d-DXTn/0002-wined3d-Improve-DXTn-support-and-export-conversion-f.patch @@ -1,4 +1,4 @@ -From 0e6a390ce17ae3d5d7fd05fb904b430ef3f6afaa Mon Sep 17 00:00:00 2001 +From 3887fb8fe306cce71cd026c060346083659bf20b Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Tue, 4 Nov 2014 22:41:45 +0100 Subject: wined3d: Improve DXTn support and export conversion functions for @@ -153,10 +153,10 @@ index ce989490ef..77f7d550a5 100644 #undef LOAD_FUNCPTR diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c -index a9b24419f9..26c75b6d88 100644 +index 3a91e98e98..a694de41d2 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c -@@ -1269,6 +1269,30 @@ static void convert_dxt1_x8r8g8b8(const BYTE *src, BYTE *dst, +@@ -1227,6 +1227,30 @@ static void convert_dxt1_x8r8g8b8(const BYTE *src, BYTE *dst, wined3d_dxt1_decode(src, dst, pitch_in, pitch_out, WINED3DFMT_B8G8R8X8_UNORM, w, h); } @@ -187,7 +187,7 @@ index a9b24419f9..26c75b6d88 100644 static void convert_a8r8g8b8_dxt1(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out, unsigned int w, unsigned int h) { -@@ -1335,8 +1359,15 @@ static const struct d3dfmt_converter_desc converters[] = +@@ -1293,8 +1317,15 @@ static const struct d3dfmt_converter_desc converters[] = static const struct d3dfmt_converter_desc dxtn_converters[] = { @@ -220,11 +220,11 @@ index 12246122f0..ed943dcf69 100644 +@ cdecl wined3d_dxt5_decode(ptr ptr long long long long long) +@ cdecl wined3d_dxt5_encode(ptr ptr long long long long long) diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index 0ee4c9dc38..b88d89105e 100644 +index e6f9ebc79a..a5eeb31f3e 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h -@@ -4007,17 +4007,7 @@ static inline struct wined3d_surface *context_get_rt_surface(const struct wined3 - return texture->sub_resources[context->current_rt.sub_resource_idx].u.surface; +@@ -4062,17 +4062,7 @@ static inline void wined3d_not_from_cs(struct wined3d_cs *cs) + assert(cs->thread_id != GetCurrentThreadId()); } -BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out, @@ -242,10 +242,10 @@ index 0ee4c9dc38..b88d89105e 100644 /* The WNDCLASS-Name for the fake window which we use to retrieve the GL capabilities */ diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 25c75f251a..bb85326a90 100644 +index 2831357c6e..bbd5be95bf 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -2679,4 +2679,18 @@ static inline void wined3d_box_set(struct wined3d_box *box, unsigned int left, u +@@ -2680,4 +2680,18 @@ static inline void wined3d_box_set(struct wined3d_box *box, unsigned int left, u box->back = back; } diff --git a/patches/wined3d-QUERY_Stubs/0001-wined3d-Add-stubs-for-QUERY_TYPE_SO_STATISTICS-and-Q.patch b/patches/wined3d-QUERY_Stubs/0001-wined3d-Add-stubs-for-QUERY_TYPE_SO_STATISTICS-and-Q.patch index 109efb8a..9dd2a1b0 100644 --- a/patches/wined3d-QUERY_Stubs/0001-wined3d-Add-stubs-for-QUERY_TYPE_SO_STATISTICS-and-Q.patch +++ b/patches/wined3d-QUERY_Stubs/0001-wined3d-Add-stubs-for-QUERY_TYPE_SO_STATISTICS-and-Q.patch @@ -1,4 +1,4 @@ -From 5237dd1b75bc109101d8476cdd0c8ce30cc628d4 Mon Sep 17 00:00:00 2001 +From 94cd7b33b2e9a1a60cda6f5e6b474b29065f1d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 16 Apr 2016 18:18:54 +0200 Subject: wined3d: Add stubs for QUERY_TYPE_SO_STATISTICS and @@ -7,15 +7,15 @@ Subject: wined3d: Add stubs for QUERY_TYPE_SO_STATISTICS and --- dlls/d3d10core/tests/device.c | 4 +- dlls/d3d11/tests/d3d11.c | 4 +- - dlls/wined3d/query.c | 90 +++++++++++++++++++++++++++++++++++++++++++ + dlls/wined3d/query.c | 94 +++++++++++++++++++++++++++++++++++++++++++ include/wine/wined3d.h | 6 +++ - 4 files changed, 100 insertions(+), 4 deletions(-) + 4 files changed, 104 insertions(+), 4 deletions(-) diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c -index 0b38265c83f..3c47f9cbcdb 100644 +index 566529016b..8276f98873 100644 --- a/dlls/d3d10core/tests/device.c +++ b/dlls/d3d10core/tests/device.c -@@ -3591,8 +3591,8 @@ static void test_create_query(void) +@@ -3660,8 +3660,8 @@ static void test_create_query(void) {D3D10_QUERY_TIMESTAMP_DISJOINT, FALSE, FALSE}, {D3D10_QUERY_PIPELINE_STATISTICS, FALSE, TRUE}, {D3D10_QUERY_OCCLUSION_PREDICATE, TRUE, FALSE}, @@ -27,10 +27,10 @@ index 0b38265c83f..3c47f9cbcdb 100644 ULONG refcount, expected_refcount; diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index ac4393dd3b3..ac96918aed3 100644 +index bba52b5d7b..e532ee28c8 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -4566,8 +4566,8 @@ static void test_create_query(void) +@@ -4647,8 +4647,8 @@ static void test_create_query(void) {D3D11_QUERY_TIMESTAMP_DISJOINT, D3D_FEATURE_LEVEL_10_0, FALSE, FALSE, FALSE}, {D3D11_QUERY_PIPELINE_STATISTICS, D3D_FEATURE_LEVEL_10_0, FALSE, FALSE, TRUE}, {D3D11_QUERY_OCCLUSION_PREDICATE, D3D_FEATURE_LEVEL_10_0, TRUE, TRUE, FALSE}, @@ -42,10 +42,10 @@ index ac4393dd3b3..ac96918aed3 100644 {D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0, D3D_FEATURE_LEVEL_11_0, TRUE, FALSE, TRUE}, {D3D11_QUERY_SO_STATISTICS_STREAM1, D3D_FEATURE_LEVEL_11_0, FALSE, FALSE, TRUE}, diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c -index 9f75a493d5f..c5ca37d4878 100644 +index 79e61763a0..95d735c05e 100644 --- a/dlls/wined3d/query.c +++ b/dlls/wined3d/query.c -@@ -296,6 +296,14 @@ static void wined3d_query_destroy_object(void *object) +@@ -293,6 +293,14 @@ static void wined3d_query_destroy_object(void *object) { HeapFree(GetProcessHeap(), 0, query); } @@ -60,8 +60,8 @@ index 9f75a493d5f..c5ca37d4878 100644 else { ERR("Query %p has invalid type %#x.\n", query, query->type); -@@ -614,6 +622,30 @@ static void wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *que - TRACE("query %p, flags %#x.\n", query, flags); +@@ -633,6 +641,34 @@ static BOOL wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *que + return FALSE; } +static BOOL wined3d_statistics_query_ops_poll(struct wined3d_query *query, DWORD flags) @@ -71,27 +71,31 @@ index 9f75a493d5f..c5ca37d4878 100644 + return TRUE; +} + -+static void wined3d_statistics_query_ops_issue(struct wined3d_query *query, DWORD flags) ++static BOOL wined3d_statistics_query_ops_issue(struct wined3d_query *query, DWORD flags) +{ + FIXME("query %p, flags %#x.\n", query, flags); ++ ++ return FALSE; +} + -+static HRESULT wined3d_overflow_query_ops_poll(struct wined3d_query *query, DWORD flags) ++static BOOL wined3d_overflow_query_ops_poll(struct wined3d_query *query, DWORD flags) +{ + TRACE("query %p, flags %#x.\n", query, flags); + + return TRUE; +} + -+static void wined3d_overflow_query_ops_issue(struct wined3d_query *query, DWORD flags) ++static BOOL wined3d_overflow_query_ops_issue(struct wined3d_query *query, DWORD flags) +{ + FIXME("query %p, flags %#x.\n", query, flags); ++ ++ return FALSE; +} + static const struct wined3d_query_ops event_query_ops = { wined3d_event_query_ops_poll, -@@ -754,6 +786,58 @@ static HRESULT wined3d_timestamp_disjoint_query_create(struct wined3d_device *de +@@ -773,6 +809,58 @@ static HRESULT wined3d_timestamp_disjoint_query_create(struct wined3d_device *de return WINED3D_OK; } @@ -150,7 +154,7 @@ index 9f75a493d5f..c5ca37d4878 100644 HRESULT CDECL wined3d_query_create(struct wined3d_device *device, enum wined3d_query_type type, void *parent, struct wined3d_query **query) { -@@ -774,6 +858,12 @@ HRESULT CDECL wined3d_query_create(struct wined3d_device *device, +@@ -793,6 +881,12 @@ HRESULT CDECL wined3d_query_create(struct wined3d_device *device, case WINED3D_QUERY_TYPE_TIMESTAMP_FREQ: return wined3d_timestamp_disjoint_query_create(device, type, parent, query); @@ -164,10 +168,10 @@ index 9f75a493d5f..c5ca37d4878 100644 FIXME("Unhandled query type %#x.\n", type); return WINED3DERR_NOTAVAILABLE; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 7271ec055ae..0357bfda6d8 100644 +index 1bf5a6c97b..30925d2ca3 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -705,6 +705,12 @@ struct wined3d_query_data_timestamp_disjoint +@@ -709,6 +709,12 @@ struct wined3d_query_data_timestamp_disjoint BOOL disjoint; }; diff --git a/patches/wined3d-QUERY_Stubs/0002-d3d11-Add-dummy-support-for-D3D11_QUERY_PIPELINE_STA.patch b/patches/wined3d-QUERY_Stubs/0002-d3d11-Add-dummy-support-for-D3D11_QUERY_PIPELINE_STA.patch index 4ee2da01..b4b73222 100644 --- a/patches/wined3d-QUERY_Stubs/0002-d3d11-Add-dummy-support-for-D3D11_QUERY_PIPELINE_STA.patch +++ b/patches/wined3d-QUERY_Stubs/0002-d3d11-Add-dummy-support-for-D3D11_QUERY_PIPELINE_STA.patch @@ -1,4 +1,4 @@ -From d02a092f2e480b6ca82273de0a50534c5cb7d42f Mon Sep 17 00:00:00 2001 +From 834cd708e0bc3ea23ea2a8b0c3563f9add49fcdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 22 Jan 2017 01:51:51 +0100 Subject: d3d11: Add dummy support for D3D11_QUERY_PIPELINE_STATISTICS query. @@ -6,15 +6,15 @@ Subject: d3d11: Add dummy support for D3D11_QUERY_PIPELINE_STATISTICS query. --- dlls/d3d10core/tests/device.c | 2 +- dlls/d3d11/tests/d3d11.c | 2 +- - dlls/wined3d/query.c | 45 +++++++++++++++++++++++++++++++++++++++++++ - include/wine/wined3d.h | 15 +++++++++++++++ - 4 files changed, 62 insertions(+), 2 deletions(-) + dlls/wined3d/query.c | 47 +++++++++++++++++++++++++++++++++++++++++++ + include/wine/wined3d.h | 15 ++++++++++++++ + 4 files changed, 64 insertions(+), 2 deletions(-) diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c -index 6c87a979ba6..be915a8ff86 100644 +index 8276f98873..12d690fb6d 100644 --- a/dlls/d3d10core/tests/device.c +++ b/dlls/d3d10core/tests/device.c -@@ -3604,7 +3604,7 @@ static void test_create_query(void) +@@ -3658,7 +3658,7 @@ static void test_create_query(void) {D3D10_QUERY_OCCLUSION, FALSE, FALSE}, {D3D10_QUERY_TIMESTAMP, FALSE, FALSE}, {D3D10_QUERY_TIMESTAMP_DISJOINT, FALSE, FALSE}, @@ -24,10 +24,10 @@ index 6c87a979ba6..be915a8ff86 100644 {D3D10_QUERY_SO_STATISTICS, FALSE, FALSE}, {D3D10_QUERY_SO_OVERFLOW_PREDICATE, TRUE, FALSE}, diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c -index 9d8d827b306..fbbede8dd79 100644 +index e532ee28c8..97b1f2ce1b 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c -@@ -4564,7 +4564,7 @@ static void test_create_query(void) +@@ -4645,7 +4645,7 @@ static void test_create_query(void) {D3D11_QUERY_OCCLUSION, D3D_FEATURE_LEVEL_10_0, FALSE, FALSE, FALSE}, {D3D11_QUERY_TIMESTAMP, D3D_FEATURE_LEVEL_10_0, FALSE, FALSE, FALSE}, {D3D11_QUERY_TIMESTAMP_DISJOINT, D3D_FEATURE_LEVEL_10_0, FALSE, FALSE, FALSE}, @@ -37,10 +37,10 @@ index 9d8d827b306..fbbede8dd79 100644 {D3D11_QUERY_SO_STATISTICS, D3D_FEATURE_LEVEL_10_0, FALSE, FALSE, FALSE}, {D3D11_QUERY_SO_OVERFLOW_PREDICATE, D3D_FEATURE_LEVEL_10_0, TRUE, TRUE, FALSE}, diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c -index c5ca37d4878..23a07a9e09c 100644 +index 95d735c05e..f1e0d680b9 100644 --- a/dlls/wined3d/query.c +++ b/dlls/wined3d/query.c -@@ -304,6 +304,10 @@ static void wined3d_query_destroy_object(void *object) +@@ -301,6 +301,10 @@ static void wined3d_query_destroy_object(void *object) { HeapFree(GetProcessHeap(), 0, query); } @@ -51,26 +51,28 @@ index c5ca37d4878..23a07a9e09c 100644 else { ERR("Query %p has invalid type %#x.\n", query, query->type); -@@ -646,6 +650,18 @@ static void wined3d_overflow_query_ops_issue(struct wined3d_query *query, DWORD - FIXME("query %p, flags %#x.\n", query, flags); +@@ -669,6 +673,20 @@ static BOOL wined3d_overflow_query_ops_issue(struct wined3d_query *query, DWORD + return FALSE; } -+static HRESULT wined3d_pipeline_query_ops_poll(struct wined3d_query *query, DWORD flags) ++static BOOL wined3d_pipeline_query_ops_poll(struct wined3d_query *query, DWORD flags) +{ + TRACE("query %p, flags %#x.\n", query, flags); + + return TRUE; +} + -+static void wined3d_pipeline_query_ops_issue(struct wined3d_query *query, DWORD flags) ++static BOOL wined3d_pipeline_query_ops_issue(struct wined3d_query *query, DWORD flags) +{ + FIXME("query %p, flags %#x.\n", query, flags); ++ ++ return FALSE; +} + static const struct wined3d_query_ops event_query_ops = { wined3d_event_query_ops_poll, -@@ -838,6 +854,32 @@ static HRESULT wined3d_overflow_query_create(struct wined3d_device *device, +@@ -861,6 +879,32 @@ static HRESULT wined3d_overflow_query_create(struct wined3d_device *device, return WINED3D_OK; } @@ -103,7 +105,7 @@ index c5ca37d4878..23a07a9e09c 100644 HRESULT CDECL wined3d_query_create(struct wined3d_device *device, enum wined3d_query_type type, void *parent, struct wined3d_query **query) { -@@ -864,6 +906,9 @@ HRESULT CDECL wined3d_query_create(struct wined3d_device *device, +@@ -887,6 +931,9 @@ HRESULT CDECL wined3d_query_create(struct wined3d_device *device, case WINED3D_QUERY_TYPE_SO_OVERFLOW: return wined3d_overflow_query_create(device, type, parent, query); @@ -114,10 +116,10 @@ index c5ca37d4878..23a07a9e09c 100644 FIXME("Unhandled query type %#x.\n", type); return WINED3DERR_NOTAVAILABLE; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index 0357bfda6d8..2625cf5a879 100644 +index 30925d2ca3..52db093676 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -711,6 +711,21 @@ struct wined3d_query_data_so_statistics +@@ -715,6 +715,21 @@ struct wined3d_query_data_so_statistics UINT64 needed; };