diff options
author | Axel Davy <[email protected]> | 2014-11-24 23:32:18 +0100 |
---|---|---|
committer | Axel Davy <[email protected]> | 2014-12-03 16:39:24 +0100 |
commit | 3e1f731d3eef6142bf3d4aed529e9ef8131bb817 (patch) | |
tree | a2d40d913841acbd7eb80fc89af78b5415a4eae7 /src/gallium/state_trackers/nine | |
parent | 2f78259c1115bd84257a120b5d24366d6d1429bf (diff) |
st/nine: Queries: Always return D3D_OK when issuing with D3DISSUE_BEGIN
This is the behaviour that Wine tests.
Reviewed-by: David Heidelberg <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/nine')
-rw-r--r-- | src/gallium/state_trackers/nine/query9.c | 7 |
1 files changed, 6 insertions, 1 deletions
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); |