From: Axel Davy Date: Mon, 24 Nov 2014 22:32:18 +0000 (+0100) Subject: st/nine: Queries: Always return D3D_OK when issuing with D3DISSUE_BEGIN X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3e1f731d3eef6142bf3d4aed529e9ef8131bb817;p=mesa.git 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 --- 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);