iris: flush batch when asking for result via QBO

This commit is contained in:
Kenneth Graunke 2018-09-27 12:14:26 +02:00
parent cf261caad9
commit ad14795805
1 changed files with 8 additions and 1 deletions

View File

@ -329,7 +329,14 @@ iris_get_query_result_resource(struct pipe_context *ctx,
offsetof(struct iris_query_snapshots, snapshots_landed);
if (index == -1) {
/* They're asking for the availability of the result. */
/* They're asking for the availability of the result. If we still
* have commands queued up which produce the result, submit them
* now so that progress happens. Either way, copy the snapshots
* landed field to the destination resource.
*/
if (iris_batch_references(batch, q->bo))
iris_batch_flush(batch);
ice->vtbl.copy_mem_mem(batch, iris_resource_bo(p_res), offset,
q->bo, snapshots_landed_offset,
result_type <= PIPE_QUERY_TYPE_U32 ? 4 : 8);