mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 654e960e340cc37a9282c52ba8aca5f779a13dbb.
This commit is contained in:
parent
3f111101a8
commit
5989fb0938
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "51c7df4f376fa7924752dc32a9715a4475e038df"
|
||||
echo "654e960e340cc37a9282c52ba8aca5f779a13dbb"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c7352c62f7ed224bd01b3ee734a73e864f39c617 Mon Sep 17 00:00:00 2001
|
||||
From 52053fbf98485763b27e2fd9e4dacd62187e5643 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sat, 6 Jul 2013 18:15:00 +0200
|
||||
Subject: wined3d: wined3d_*_query_issue never fails
|
||||
@ -9,10 +9,10 @@ Subject: wined3d: wined3d_*_query_issue never fails
|
||||
2 files changed, 10 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
index d692054..5169e60 100644
|
||||
index ef93d3b..09c8657 100644
|
||||
--- a/dlls/wined3d/query.c
|
||||
+++ b/dlls/wined3d/query.c
|
||||
@@ -321,7 +321,8 @@ HRESULT CDECL wined3d_query_issue(struct wined3d_query *query, DWORD flags)
|
||||
@@ -327,7 +327,8 @@ HRESULT CDECL wined3d_query_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@ -22,7 +22,7 @@ index d692054..5169e60 100644
|
||||
}
|
||||
|
||||
static void fill_query_data(void *out, unsigned int out_size, const void *result, unsigned int result_size)
|
||||
@@ -450,7 +451,7 @@ enum wined3d_query_type CDECL wined3d_query_get_type(const struct wined3d_query
|
||||
@@ -456,7 +457,7 @@ enum wined3d_query_type CDECL wined3d_query_get_type(const struct wined3d_query
|
||||
return query->type;
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ index d692054..5169e60 100644
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@@ -470,11 +471,9 @@ static HRESULT wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
@@ -476,11 +477,9 @@ static HRESULT wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
query->state = QUERY_BUILDING;
|
||||
else
|
||||
query->state = QUERY_SIGNALLED;
|
||||
@ -44,7 +44,7 @@ index d692054..5169e60 100644
|
||||
{
|
||||
struct wined3d_occlusion_query *oq = wined3d_occlusion_query_from_query(query);
|
||||
struct wined3d_device *device = query->device;
|
||||
@@ -546,7 +545,7 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
@@ -552,7 +551,7 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
else
|
||||
query->state = QUERY_SIGNALLED;
|
||||
|
||||
@ -53,16 +53,16 @@ index d692054..5169e60 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -609,7 +608,7 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -615,7 +614,7 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
return res;
|
||||
}
|
||||
|
||||
-static HRESULT wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
+static void wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
struct wined3d_timestamp_query *tq = query->extendedData;
|
||||
struct wined3d_timestamp_query *tq = wined3d_timestamp_query_from_query(query);
|
||||
struct wined3d_device *device = query->device;
|
||||
@@ -634,8 +633,6 @@ static HRESULT wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DW
|
||||
@@ -640,8 +639,6 @@ static HRESULT wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DW
|
||||
|
||||
query->state = QUERY_SIGNALLED;
|
||||
}
|
||||
@ -71,7 +71,7 @@ index d692054..5169e60 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -664,7 +661,7 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
@@ -670,7 +667,7 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ index d692054..5169e60 100644
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@@ -672,8 +669,6 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *
|
||||
@@ -678,8 +675,6 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *
|
||||
query->state = QUERY_BUILDING;
|
||||
if (flags & WINED3DISSUE_END)
|
||||
query->state = QUERY_SIGNALLED;
|
||||
@ -89,7 +89,7 @@ index d692054..5169e60 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -688,10 +683,9 @@ static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query
|
||||
@@ -694,10 +689,9 @@ static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ index d692054..5169e60 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -706,10 +700,9 @@ static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -712,10 +706,9 @@ static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ index d692054..5169e60 100644
|
||||
|
||||
static const struct wined3d_query_ops event_query_ops =
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 28b2345..db2793b 100644
|
||||
index 7f565bb..976e3b7 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1382,7 +1382,7 @@ enum wined3d_query_state
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1149a8cf01cf52bca052748213958c0623829b1e Mon Sep 17 00:00:00 2001
|
||||
From f4a2f28e195b9b5125e5360f4e7167fa2aaca230 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sat, 6 Jul 2013 18:31:41 +0200
|
||||
Subject: wined3d: Check our CS state to find out if a query is done
|
||||
@ -28,10 +28,10 @@ index 4aaf259..94232db 100644
|
||||
return sizeof(*op);
|
||||
}
|
||||
diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
index f656bd1..7e7c993 100644
|
||||
index fbbd4f2..726da3b 100644
|
||||
--- a/dlls/wined3d/query.c
|
||||
+++ b/dlls/wined3d/query.c
|
||||
@@ -301,6 +301,12 @@ HRESULT CDECL wined3d_query_get_data(struct wined3d_query *query,
|
||||
@@ -314,6 +314,12 @@ HRESULT CDECL wined3d_query_get_data(struct wined3d_query *query,
|
||||
TRACE("query %p, data %p, data_size %u, flags %#x.\n",
|
||||
query, data, data_size, flags);
|
||||
|
||||
@ -44,7 +44,7 @@ index f656bd1..7e7c993 100644
|
||||
wined3d_cs_emit_query_get_data(query->device->cs, query, data, data_size,
|
||||
flags, &hr);
|
||||
|
||||
@@ -318,6 +324,9 @@ HRESULT CDECL wined3d_query_issue(struct wined3d_query *query, DWORD flags)
|
||||
@@ -331,6 +337,9 @@ HRESULT CDECL wined3d_query_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@ -55,7 +55,7 @@ index f656bd1..7e7c993 100644
|
||||
return WINED3D_OK;
|
||||
}
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index d554882..2aa2623 100644
|
||||
index 6f00f06..232f099 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1395,6 +1395,7 @@ struct wined3d_query
|
||||
@ -63,9 +63,9 @@ index d554882..2aa2623 100644
|
||||
DWORD data_size;
|
||||
const struct wined3d_query_ops *query_ops;
|
||||
+ LONG counter_main, counter_worker;
|
||||
|
||||
void *extendedData;
|
||||
};
|
||||
|
||||
union wined3d_gl_query_object
|
||||
--
|
||||
2.8.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 27c40b29b5eabe6a2c131152282fa8568b4abcb7 Mon Sep 17 00:00:00 2001
|
||||
From 2353a70817f7f380819049b3d5b5d65a5d216e14 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sat, 6 Jul 2013 19:18:48 +0200
|
||||
Subject: wined3d: Poll queries automatically in the CS
|
||||
@ -143,7 +143,7 @@ index 94232db..213943f 100644
|
||||
{
|
||||
continue;
|
||||
diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
index 1a26fa9..e3b91b0 100644
|
||||
index 726da3b..7d743b7 100644
|
||||
--- a/dlls/wined3d/query.c
|
||||
+++ b/dlls/wined3d/query.c
|
||||
@@ -35,6 +35,7 @@ static void wined3d_query_init(struct wined3d_query *query, struct wined3d_devic
|
||||
@ -154,7 +154,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
}
|
||||
|
||||
static struct wined3d_event_query *wined3d_event_query_from_query(struct wined3d_query *query)
|
||||
@@ -296,7 +297,18 @@ ULONG CDECL wined3d_query_decref(struct wined3d_query *query)
|
||||
@@ -302,7 +303,18 @@ ULONG CDECL wined3d_query_decref(struct wined3d_query *query)
|
||||
TRACE("%p decreasing refcount to %u.\n", query, refcount);
|
||||
|
||||
if (!refcount)
|
||||
@ -173,7 +173,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
|
||||
return refcount;
|
||||
}
|
||||
@@ -304,20 +316,10 @@ ULONG CDECL wined3d_query_decref(struct wined3d_query *query)
|
||||
@@ -310,20 +322,10 @@ ULONG CDECL wined3d_query_decref(struct wined3d_query *query)
|
||||
HRESULT CDECL wined3d_query_get_data(struct wined3d_query *query,
|
||||
void *data, UINT data_size, DWORD flags)
|
||||
{
|
||||
@ -195,7 +195,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
}
|
||||
|
||||
UINT CDECL wined3d_query_get_data_size(const struct wined3d_query *query)
|
||||
@@ -347,14 +349,7 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -353,14 +355,7 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
void *data, DWORD size, DWORD flags)
|
||||
{
|
||||
struct wined3d_occlusion_query *oq = wined3d_occlusion_query_from_query(query);
|
||||
@ -210,7 +210,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
|
||||
if (!oq->context)
|
||||
query->state = QUERY_CREATED;
|
||||
@@ -368,6 +363,8 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -374,6 +369,8 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -219,7 +219,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
if (query->state == QUERY_BUILDING)
|
||||
{
|
||||
/* Msdn says this returns an error, but our tests show that S_FALSE is returned */
|
||||
@@ -375,12 +372,37 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -381,12 +378,37 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
@ -260,7 +260,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
}
|
||||
|
||||
context = context_acquire(device, context_get_rt_surface(oq->context));
|
||||
@@ -391,61 +413,71 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -397,61 +419,71 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
|
||||
if (available)
|
||||
{
|
||||
@ -360,10 +360,10 @@ index 1a26fa9..e3b91b0 100644
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
@@ -565,33 +597,57 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -571,33 +603,57 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
void *data, DWORD size, DWORD flags)
|
||||
{
|
||||
struct wined3d_timestamp_query *tq = query->extendedData;
|
||||
struct wined3d_timestamp_query *tq = wined3d_timestamp_query_from_query(query);
|
||||
+
|
||||
+ TRACE("(%p) : type D3DQUERY_TIMESTAMP, data %p, size %#x, flags %#x.\n", query, data, size, flags);
|
||||
+
|
||||
@ -395,7 +395,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
+
|
||||
+static BOOL wined3d_timestamp_query_ops_poll(struct wined3d_query *query)
|
||||
+{
|
||||
+ struct wined3d_timestamp_query *tq = query->extendedData;
|
||||
+ struct wined3d_timestamp_query *tq = wined3d_timestamp_query_from_query(query);
|
||||
struct wined3d_device *device = query->device;
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
struct wined3d_context *context;
|
||||
@ -433,7 +433,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
}
|
||||
|
||||
context = context_acquire(device, context_get_rt_surface(tq->context));
|
||||
@@ -602,23 +658,20 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -608,23 +664,20 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
|
||||
if (available)
|
||||
{
|
||||
@ -464,7 +464,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
}
|
||||
|
||||
static void wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
@@ -652,7 +705,6 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
@@ -658,7 +711,6 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
void *data, DWORD size, DWORD flags)
|
||||
{
|
||||
TRACE("query %p, data %p, size %#x, flags %#x.\n", query, data, size, flags);
|
||||
@ -472,7 +472,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
if (query->type == WINED3D_QUERY_TYPE_TIMESTAMP_DISJOINT)
|
||||
{
|
||||
static const struct wined3d_query_data_timestamp_disjoint disjoint_data = {1000 * 1000 * 1000, FALSE};
|
||||
@@ -674,6 +726,11 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
@@ -680,6 +732,11 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -484,7 +484,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
static void wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
@@ -696,6 +753,11 @@ static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query
|
||||
@@ -702,6 +759,11 @@ static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -496,7 +496,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
static void wined3d_statistics_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
FIXME("query %p, flags %#x.\n", query, flags);
|
||||
@@ -713,6 +775,11 @@ static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -719,6 +781,11 @@ static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -508,7 +508,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
static void wined3d_overflow_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
FIXME("query %p, flags %#x.\n", query, flags);
|
||||
@@ -721,6 +788,7 @@ static void wined3d_overflow_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
@@ -727,6 +794,7 @@ static void wined3d_overflow_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
static const struct wined3d_query_ops event_query_ops =
|
||||
{
|
||||
wined3d_event_query_ops_get_data,
|
||||
@ -516,7 +516,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
wined3d_event_query_ops_issue,
|
||||
};
|
||||
|
||||
@@ -752,6 +820,7 @@ static HRESULT wined3d_event_query_create(struct wined3d_device *device,
|
||||
@@ -758,6 +826,7 @@ static HRESULT wined3d_event_query_create(struct wined3d_device *device,
|
||||
static const struct wined3d_query_ops occlusion_query_ops =
|
||||
{
|
||||
wined3d_occlusion_query_ops_get_data,
|
||||
@ -524,7 +524,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
wined3d_occlusion_query_ops_issue,
|
||||
};
|
||||
|
||||
@@ -783,24 +852,28 @@ static HRESULT wined3d_occlusion_query_create(struct wined3d_device *device,
|
||||
@@ -789,6 +858,7 @@ static HRESULT wined3d_occlusion_query_create(struct wined3d_device *device,
|
||||
static const struct wined3d_query_ops timestamp_query_ops =
|
||||
{
|
||||
wined3d_timestamp_query_ops_get_data,
|
||||
@ -532,6 +532,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
wined3d_timestamp_query_ops_issue,
|
||||
};
|
||||
|
||||
@@ -820,18 +890,21 @@ static HRESULT wined3d_timestamp_query_create(struct wined3d_device *device,
|
||||
static const struct wined3d_query_ops timestamp_disjoint_query_ops =
|
||||
{
|
||||
wined3d_timestamp_disjoint_query_ops_get_data,
|
||||
@ -553,7 +554,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
wined3d_overflow_query_ops_issue
|
||||
};
|
||||
|
||||
@@ -877,6 +950,7 @@ static HRESULT query_init(struct wined3d_query *query, struct wined3d_device *de
|
||||
@@ -887,6 +960,7 @@ static HRESULT query_init(struct wined3d_query *query, struct wined3d_device *de
|
||||
query->state = QUERY_CREATED;
|
||||
query->device = device;
|
||||
query->ref = 1;
|
||||
@ -562,7 +563,7 @@ index 1a26fa9..e3b91b0 100644
|
||||
return WINED3D_OK;
|
||||
}
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index eda6563..9e8b8ad 100644
|
||||
index 232f099..3688ef9 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1382,6 +1382,7 @@ enum wined3d_query_state
|
||||
@ -580,10 +581,10 @@ index eda6563..9e8b8ad 100644
|
||||
- LONG counter_main, counter_worker;
|
||||
+ LONG counter_main, counter_retrieved;
|
||||
+ struct list poll_list_entry;
|
||||
|
||||
void *extendedData;
|
||||
};
|
||||
@@ -1437,6 +1439,7 @@ struct wined3d_occlusion_query
|
||||
|
||||
union wined3d_gl_query_object
|
||||
@@ -1435,6 +1437,7 @@ struct wined3d_occlusion_query
|
||||
struct list entry;
|
||||
GLuint id;
|
||||
struct wined3d_context *context;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1f6b44c380c0157cc08d25af4798f365944a9b4b Mon Sep 17 00:00:00 2001
|
||||
From 680600405dcf957ecaa1ff7915268afc112e33f7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 24 Jul 2013 17:27:35 +0200
|
||||
Subject: wined3d: Don't poll queries that failed to start
|
||||
@ -28,10 +28,10 @@ index 2f66eff..7178624 100644
|
||||
list_add_tail(&cs->query_poll_list, &query->poll_list_entry);
|
||||
|
||||
diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
index 8d4213e..2a9dc2f 100644
|
||||
index 337ec9b..8682e22 100644
|
||||
--- a/dlls/wined3d/query.c
|
||||
+++ b/dlls/wined3d/query.c
|
||||
@@ -494,7 +494,7 @@ enum wined3d_query_type CDECL wined3d_query_get_type(const struct wined3d_query
|
||||
@@ -500,7 +500,7 @@ enum wined3d_query_type CDECL wined3d_query_get_type(const struct wined3d_query
|
||||
return query->type;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ index 8d4213e..2a9dc2f 100644
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@@ -503,20 +503,23 @@ static void wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD fla
|
||||
@@ -509,20 +509,23 @@ static void wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD fla
|
||||
struct wined3d_event_query *event_query = wined3d_event_query_from_query(query);
|
||||
|
||||
wined3d_event_query_issue(event_query, query->device);
|
||||
@ -65,7 +65,7 @@ index 8d4213e..2a9dc2f 100644
|
||||
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@@ -578,9 +581,10 @@ static void wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
@@ -584,9 +587,10 @@ static void wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
}
|
||||
}
|
||||
oq->started = FALSE;
|
||||
@ -77,16 +77,16 @@ index 8d4213e..2a9dc2f 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -664,7 +668,7 @@ static BOOL wined3d_timestamp_query_ops_poll(struct wined3d_query *query)
|
||||
@@ -670,7 +674,7 @@ static BOOL wined3d_timestamp_query_ops_poll(struct wined3d_query *query)
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static void wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
+static BOOL wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
struct wined3d_timestamp_query *tq = query->extendedData;
|
||||
struct wined3d_timestamp_query *tq = wined3d_timestamp_query_from_query(query);
|
||||
struct wined3d_device *device = query->device;
|
||||
@@ -687,6 +691,10 @@ static void wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
@@ -693,6 +697,10 @@ static void wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
checkGLcall("glQueryCounter()");
|
||||
context_release(context);
|
||||
}
|
||||
@ -97,7 +97,7 @@ index 8d4213e..2a9dc2f 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -719,9 +727,10 @@ static BOOL wined3d_timestamp_disjoint_query_ops_poll(struct wined3d_query *quer
|
||||
@@ -725,9 +733,10 @@ static BOOL wined3d_timestamp_disjoint_query_ops_poll(struct wined3d_query *quer
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -109,7 +109,7 @@ index 8d4213e..2a9dc2f 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -741,9 +750,10 @@ static BOOL wined3d_statistics_query_ops_poll(struct wined3d_query *query)
|
||||
@@ -747,9 +756,10 @@ static BOOL wined3d_statistics_query_ops_poll(struct wined3d_query *query)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -121,7 +121,7 @@ index 8d4213e..2a9dc2f 100644
|
||||
}
|
||||
|
||||
static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -763,9 +773,10 @@ static BOOL wined3d_overflow_query_ops_poll(struct wined3d_query *query)
|
||||
@@ -769,9 +779,10 @@ static BOOL wined3d_overflow_query_ops_poll(struct wined3d_query *query)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -134,7 +134,7 @@ index 8d4213e..2a9dc2f 100644
|
||||
|
||||
static const struct wined3d_query_ops event_query_ops =
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 52038aa..13e72f8 100644
|
||||
index b3374bf..d70804f 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1383,7 +1383,7 @@ struct wined3d_query_ops
|
||||
|
@ -5050,7 +5050,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
}
|
||||
|
||||
static struct wined3d_event_query *wined3d_event_query_from_query(struct wined3d_query *query)
|
||||
@@ -259,6 +262,11 @@ static void wined3d_query_destroy_object(void *object)
|
||||
@@ -264,6 +267,11 @@ static void wined3d_query_destroy_object(void *object)
|
||||
{
|
||||
struct wined3d_query *query = object;
|
||||
|
||||
@ -5062,7 +5062,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
/* Queries are specific to the GL context that created them. Not
|
||||
* deleting the query will obviously leak it, but that's still better
|
||||
* than potentially deleting a different query with the same id in this
|
||||
@@ -321,7 +329,21 @@ HRESULT CDECL wined3d_query_issue(struct wined3d_query *query, DWORD flags)
|
||||
@@ -327,7 +335,21 @@ HRESULT CDECL wined3d_query_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@ -5084,7 +5084,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
}
|
||||
|
||||
static void fill_query_data(void *out, unsigned int out_size, const void *result, unsigned int result_size)
|
||||
@@ -333,6 +355,7 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -339,6 +361,7 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
void *data, DWORD size, DWORD flags)
|
||||
{
|
||||
struct wined3d_occlusion_query *oq = wined3d_occlusion_query_from_query(query);
|
||||
@ -5092,7 +5092,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
struct wined3d_device *device = query->device;
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
struct wined3d_context *context;
|
||||
@@ -344,6 +367,9 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -350,6 +373,9 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
|
||||
if (!oq->context)
|
||||
query->state = QUERY_CREATED;
|
||||
@ -5102,7 +5102,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
|
||||
if (query->state == QUERY_CREATED)
|
||||
{
|
||||
@@ -354,6 +380,10 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -360,6 +386,10 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -5113,7 +5113,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
if (query->state == QUERY_BUILDING)
|
||||
{
|
||||
/* Msdn says this returns an error, but our tests show that S_FALSE is returned */
|
||||
@@ -361,12 +391,45 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -367,12 +397,45 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
@ -5159,7 +5159,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
}
|
||||
|
||||
context = context_acquire(device, context_get_rt_surface(oq->context));
|
||||
@@ -377,6 +440,7 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -383,6 +446,7 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
|
||||
if (available)
|
||||
{
|
||||
@ -5167,7 +5167,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
if (size)
|
||||
{
|
||||
GL_EXTCALL(glGetQueryObjectuiv(oq->id, GL_QUERY_RESULT, &samples));
|
||||
@@ -385,34 +449,55 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -391,34 +455,55 @@ static HRESULT wined3d_occlusion_query_ops_get_data(struct wined3d_query *query,
|
||||
fill_query_data(data, size, &samples, sizeof(samples));
|
||||
}
|
||||
res = S_OK;
|
||||
@ -5223,7 +5223,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
signaled = TRUE;
|
||||
fill_query_data(data, size, &signaled, sizeof(signaled));
|
||||
break;
|
||||
@@ -421,17 +506,58 @@ static HRESULT wined3d_event_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -427,17 +512,58 @@ static HRESULT wined3d_event_query_ops_get_data(struct wined3d_query *query,
|
||||
signaled = FALSE;
|
||||
fill_query_data(data, size, &signaled, sizeof(signaled));
|
||||
break;
|
||||
@ -5282,7 +5282,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
@@ -450,7 +576,11 @@ enum wined3d_query_type CDECL wined3d_query_get_type(const struct wined3d_query
|
||||
@@ -456,7 +582,11 @@ enum wined3d_query_type CDECL wined3d_query_get_type(const struct wined3d_query
|
||||
return query->type;
|
||||
}
|
||||
|
||||
@ -5294,7 +5294,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@@ -459,12 +589,16 @@ static HRESULT wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
@@ -465,12 +595,16 @@ static HRESULT wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
struct wined3d_event_query *event_query = wined3d_event_query_from_query(query);
|
||||
|
||||
wined3d_event_query_issue(event_query, query->device);
|
||||
@ -5311,7 +5311,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
|
||||
if (flags & WINED3DISSUE_BEGIN)
|
||||
query->state = QUERY_BUILDING;
|
||||
@@ -475,11 +609,20 @@ static HRESULT wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
@@ -481,11 +615,20 @@ static HRESULT wined3d_event_query_ops_issue(struct wined3d_query *query, DWORD
|
||||
}
|
||||
|
||||
static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
@ -5332,7 +5332,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
|
||||
@@ -487,7 +630,11 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
@@ -493,7 +636,11 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
* restart. */
|
||||
if (flags & WINED3DISSUE_BEGIN)
|
||||
{
|
||||
@ -5344,7 +5344,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
{
|
||||
if (oq->context->tid != GetCurrentThreadId())
|
||||
{
|
||||
@@ -517,13 +664,20 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
@@ -523,13 +670,20 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
checkGLcall("glBeginQuery()");
|
||||
|
||||
context_release(context);
|
||||
@ -5365,7 +5365,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
{
|
||||
if (oq->context->tid != GetCurrentThreadId())
|
||||
{
|
||||
@@ -537,6 +691,7 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
@@ -543,6 +697,7 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
checkGLcall("glEndQuery()");
|
||||
|
||||
context_release(context);
|
||||
@ -5373,7 +5373,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -547,17 +702,61 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
@@ -553,17 +708,61 @@ static HRESULT wined3d_occlusion_query_ops_issue(struct wined3d_query *query, DW
|
||||
query->state = QUERY_SIGNALLED;
|
||||
|
||||
return WINED3D_OK; /* can be WINED3DERR_INVALIDCALL. */
|
||||
@ -5391,7 +5391,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
void *data, DWORD size, DWORD flags)
|
||||
{
|
||||
struct wined3d_timestamp_query *tq = query->extendedData;
|
||||
struct wined3d_timestamp_query *tq = wined3d_timestamp_query_from_query(query);
|
||||
+#if defined(STAGING_CSMT)
|
||||
+
|
||||
+ TRACE("(%p) : type D3DQUERY_TIMESTAMP, data %p, size %#x, flags %#x.\n", query, data, size, flags);
|
||||
@ -5424,7 +5424,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
+
|
||||
+static BOOL wined3d_timestamp_query_ops_poll(struct wined3d_query *query)
|
||||
+{
|
||||
+ struct wined3d_timestamp_query *tq = query->extendedData;
|
||||
+ struct wined3d_timestamp_query *tq = wined3d_timestamp_query_from_query(query);
|
||||
+#endif /* STAGING_CSMT */
|
||||
struct wined3d_device *device = query->device;
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
@ -5435,7 +5435,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
HRESULT res;
|
||||
|
||||
TRACE("query %p, data %p, size %#x, flags %#x.\n", query, data, size, flags);
|
||||
@@ -572,14 +771,28 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -578,14 +777,28 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
timestamp = 0;
|
||||
fill_query_data(data, size, ×tamp, sizeof(timestamp));
|
||||
return S_OK;
|
||||
@ -5464,7 +5464,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
}
|
||||
|
||||
context = context_acquire(device, context_get_rt_surface(tq->context));
|
||||
@@ -590,6 +803,7 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -596,6 +809,7 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
|
||||
if (available)
|
||||
{
|
||||
@ -5472,7 +5472,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
if (size)
|
||||
{
|
||||
GL_EXTCALL(glGetQueryObjectui64v(tq->id, GL_QUERY_RESULT, ×tamp));
|
||||
@@ -598,18 +812,36 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -604,18 +818,36 @@ static HRESULT wined3d_timestamp_query_ops_get_data(struct wined3d_query *query,
|
||||
fill_query_data(data, size, ×tamp, sizeof(timestamp));
|
||||
}
|
||||
res = S_OK;
|
||||
@ -5507,9 +5507,9 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
+static BOOL wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
+#endif /* STAGING_CSMT */
|
||||
{
|
||||
struct wined3d_timestamp_query *tq = query->extendedData;
|
||||
struct wined3d_timestamp_query *tq = wined3d_timestamp_query_from_query(query);
|
||||
struct wined3d_device *device = query->device;
|
||||
@@ -631,18 +863,28 @@ static HRESULT wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DW
|
||||
@@ -637,18 +869,28 @@ static HRESULT wined3d_timestamp_query_ops_issue(struct wined3d_query *query, DW
|
||||
GL_EXTCALL(glQueryCounter(tq->id, GL_TIMESTAMP));
|
||||
checkGLcall("glQueryCounter()");
|
||||
context_release(context);
|
||||
@ -5538,7 +5538,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
if (query->type == WINED3D_QUERY_TYPE_TIMESTAMP_DISJOINT)
|
||||
{
|
||||
static const struct wined3d_query_data_timestamp_disjoint disjoint_data = {1000 * 1000 * 1000, FALSE};
|
||||
@@ -664,6 +906,7 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
@@ -670,6 +912,7 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_get_data(struct wined3d_quer
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -5546,7 +5546,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
static HRESULT wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *query, DWORD flags)
|
||||
{
|
||||
TRACE("query %p, flags %#x.\n", query, flags);
|
||||
@@ -674,6 +917,17 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *
|
||||
@@ -680,6 +923,17 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *
|
||||
query->state = QUERY_SIGNALLED;
|
||||
|
||||
return WINED3D_OK;
|
||||
@ -5564,7 +5564,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
}
|
||||
|
||||
static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -688,10 +942,22 @@ static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query
|
||||
@@ -694,10 +948,22 @@ static HRESULT wined3d_statistics_query_ops_get_data(struct wined3d_query *query
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -5587,7 +5587,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
}
|
||||
|
||||
static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -706,15 +972,30 @@ static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
@@ -712,15 +978,30 @@ static HRESULT wined3d_overflow_query_ops_get_data(struct wined3d_query *query,
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -5618,7 +5618,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
wined3d_event_query_ops_issue,
|
||||
};
|
||||
|
||||
@@ -746,6 +1027,9 @@ static HRESULT wined3d_event_query_create(struct wined3d_device *device,
|
||||
@@ -752,6 +1033,9 @@ static HRESULT wined3d_event_query_create(struct wined3d_device *device,
|
||||
static const struct wined3d_query_ops occlusion_query_ops =
|
||||
{
|
||||
wined3d_occlusion_query_ops_get_data,
|
||||
@ -5628,7 +5628,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
wined3d_occlusion_query_ops_issue,
|
||||
};
|
||||
|
||||
@@ -777,24 +1061,36 @@ static HRESULT wined3d_occlusion_query_create(struct wined3d_device *device,
|
||||
@@ -783,6 +1067,9 @@ static HRESULT wined3d_occlusion_query_create(struct wined3d_device *device,
|
||||
static const struct wined3d_query_ops timestamp_query_ops =
|
||||
{
|
||||
wined3d_timestamp_query_ops_get_data,
|
||||
@ -5638,6 +5638,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
wined3d_timestamp_query_ops_issue,
|
||||
};
|
||||
|
||||
@@ -814,18 +1101,27 @@ static HRESULT wined3d_timestamp_query_create(struct wined3d_device *device,
|
||||
static const struct wined3d_query_ops timestamp_disjoint_query_ops =
|
||||
{
|
||||
wined3d_timestamp_disjoint_query_ops_get_data,
|
||||
@ -5665,7 +5666,7 @@ diff --git a/dlls/wined3d/query.c b/dlls/wined3d/query.c
|
||||
wined3d_overflow_query_ops_issue
|
||||
};
|
||||
|
||||
@@ -871,6 +1167,9 @@ static HRESULT query_init(struct wined3d_query *query, struct wined3d_device *de
|
||||
@@ -881,6 +1177,9 @@ static HRESULT query_init(struct wined3d_query *query, struct wined3d_device *de
|
||||
query->state = QUERY_CREATED;
|
||||
query->device = device;
|
||||
query->ref = 1;
|
||||
@ -8706,10 +8707,10 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
+ LONG counter_main, counter_retrieved;
|
||||
+ struct list poll_list_entry;
|
||||
+#endif /* STAGING_CSMT */
|
||||
|
||||
void *extendedData;
|
||||
};
|
||||
@@ -1434,6 +1449,10 @@ struct wined3d_occlusion_query
|
||||
|
||||
union wined3d_gl_query_object
|
||||
@@ -1432,6 +1447,10 @@ struct wined3d_occlusion_query
|
||||
struct list entry;
|
||||
GLuint id;
|
||||
struct wined3d_context *context;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5c8a708a60962f1495e22d13240f62b5ff6a2eea Mon Sep 17 00:00:00 2001
|
||||
From 1295d2929164a855aee33f52350cf457f8028ff9 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,9 +7,9 @@ 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 | 62 +++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/query.c | 60 +++++++++++++++++++++++++++++++++++++++++++
|
||||
include/wine/wined3d.h | 6 +++++
|
||||
4 files changed, 72 insertions(+), 4 deletions(-)
|
||||
4 files changed, 70 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c
|
||||
index 9b3a943..fb1ec06 100644
|
||||
@ -42,10 +42,10 @@ index df45eb5..4c65997 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 3168c30..d692054 100644
|
||||
index 976cdd9..ef93d3b 100644
|
||||
--- a/dlls/wined3d/query.c
|
||||
+++ b/dlls/wined3d/query.c
|
||||
@@ -676,6 +676,42 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *
|
||||
@@ -682,6 +682,42 @@ static HRESULT wined3d_timestamp_disjoint_query_ops_issue(struct wined3d_query *
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@ index 3168c30..d692054 100644
|
||||
static const struct wined3d_query_ops event_query_ops =
|
||||
{
|
||||
wined3d_event_query_ops_get_data,
|
||||
@@ -750,6 +786,18 @@ static const struct wined3d_query_ops timestamp_disjoint_query_ops =
|
||||
@@ -781,6 +817,18 @@ static const struct wined3d_query_ops timestamp_disjoint_query_ops =
|
||||
wined3d_timestamp_disjoint_query_ops_issue,
|
||||
};
|
||||
|
||||
@ -107,7 +107,7 @@ index 3168c30..d692054 100644
|
||||
static HRESULT query_init(struct wined3d_query *query, struct wined3d_device *device,
|
||||
enum wined3d_query_type type, void *parent)
|
||||
{
|
||||
@@ -759,6 +807,20 @@ static HRESULT query_init(struct wined3d_query *query, struct wined3d_device *de
|
||||
@@ -790,6 +838,18 @@ static HRESULT query_init(struct wined3d_query *query, struct wined3d_device *de
|
||||
|
||||
switch (type)
|
||||
{
|
||||
@ -115,19 +115,17 @@ index 3168c30..d692054 100644
|
||||
+ FIXME("Statistics query.\n");
|
||||
+ query->query_ops = &statistics_query_ops;
|
||||
+ query->data_size = sizeof(struct wined3d_query_data_so_statistics);
|
||||
+ query->extendedData = NULL;
|
||||
+ break;
|
||||
+
|
||||
+ case WINED3D_QUERY_TYPE_SO_OVERFLOW:
|
||||
+ FIXME("Overflow query.\n");
|
||||
+ query->query_ops = &overflow_query_ops;
|
||||
+ query->data_size = sizeof(BOOL);
|
||||
+ query->extendedData = NULL;
|
||||
+ break;
|
||||
+
|
||||
case WINED3D_QUERY_TYPE_TIMESTAMP:
|
||||
TRACE("Timestamp query.\n");
|
||||
if (!gl_info->supported[ARB_TIMER_QUERY])
|
||||
case WINED3D_QUERY_TYPE_TIMESTAMP_DISJOINT:
|
||||
case WINED3D_QUERY_TYPE_TIMESTAMP_FREQ:
|
||||
TRACE("TIMESTAMP_DISJOINT query.\n");
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index 36de1de..468ce98 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
|
Loading…
Reference in New Issue
Block a user