st/nine: Queries: Always return D3D_OK when issuing with D3DISSUE_BEGIN

This is the behaviour that Wine tests.

Reviewed-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
This commit is contained in:
Axel Davy
2014-11-24 23:32:18 +01:00
parent 2f78259c11
commit 3e1f731d3e
+6 -1
View File
@@ -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);