mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 709935314458bd0ce27aab3986ae98cc556cb663.
This commit is contained in:
parent
14acf51a2d
commit
3003efacdb
@ -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:
|
||||
|
@ -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=---
|
||||
|
@ -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?= <michael@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -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 <titan.costa@gmail.com>
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -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?= <michael@fds-team.de>
|
||||
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;
|
||||
};
|
||||
|
||||
|
@ -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?= <michael@fds-team.de>
|
||||
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;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user