anv/query: handle out of host memory without crashing in compute_query_result()

We don't need to make the caller (CmdCopyQueryPoolResults) aware of the
problem since compute_query_result() only emits state. The caller is also
expected to hit OOM in this scenario right after calling this function, but
it is already handling it safely.

Fixes:
dEQP-VK.api.out_of_host_memory.cmd_copy_query_pool_results

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
This commit is contained in:
Iago Toral Quiroga 2017-03-22 10:15:59 +01:00
parent ddb2bb3ed4
commit 129fd58131
1 changed files with 5 additions and 0 deletions

View File

@ -627,6 +627,11 @@ compute_query_result(struct anv_batch *batch, uint32_t dst_reg,
/* FIXME: We need to clamp the result for 32 bit. */
uint32_t *dw = anv_batch_emitn(batch, 5, GENX(MI_MATH));
if (!dw) {
anv_batch_set_error(batch, VK_ERROR_OUT_OF_HOST_MEMORY);
return;
}
dw[1] = alu(OPCODE_LOAD, OPERAND_SRCA, OPERAND_R1);
dw[2] = alu(OPCODE_LOAD, OPERAND_SRCB, OPERAND_R0);
dw[3] = alu(OPCODE_SUB, 0, 0);