From 3e1f731d3eef6142bf3d4aed529e9ef8131bb817 Mon Sep 17 00:00:00 2001 From: Axel Davy Date: Mon, 24 Nov 2014 23:32:18 +0100 Subject: st/nine: Queries: Always return D3D_OK when issuing with D3DISSUE_BEGIN This is the behaviour that Wine tests. Reviewed-by: David Heidelberg Reviewed-by: Ilia Mirkin Signed-off-by: Axel Davy --- src/gallium/state_trackers/nine/query9.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/state_trackers/nine/query9.c b/src/gallium/state_trackers/nine/query9.c index 937255667be..6df4ead08c4 100644 --- a/src/gallium/state_trackers/nine/query9.c +++ b/src/gallium/state_trackers/nine/query9.c @@ -163,10 +163,15 @@ NineQuery9_Issue( struct NineQuery9 *This, DBG("This=%p dwIssueFlags=%d\n", This, dwIssueFlags); - user_assert((dwIssueFlags == D3DISSUE_BEGIN && !This->instant) || + user_assert((dwIssueFlags == D3DISSUE_BEGIN) || (dwIssueFlags == 0) || (dwIssueFlags == D3DISSUE_END), D3DERR_INVALIDCALL); + /* Wine tests: always return D3D_OK on D3DISSUE_BEGIN + * even when the call is supposed to be forbidden */ + if (dwIssueFlags == D3DISSUE_BEGIN && This->instant) + return D3D_OK; + if (dwIssueFlags == D3DISSUE_BEGIN) { if (This->state == NINE_QUERY_STATE_RUNNING) { pipe->end_query(pipe, This->pq); -- cgit v1.2.3