diff --git a/src/intel/vulkan_hasvk/genX_cmd_buffer.c b/src/intel/vulkan_hasvk/genX_cmd_buffer.c index 01a5e60922d..0c3bb12871b 100644 --- a/src/intel/vulkan_hasvk/genX_cmd_buffer.c +++ b/src/intel/vulkan_hasvk/genX_cmd_buffer.c @@ -4029,12 +4029,8 @@ void genX(CmdDrawIndexedIndirect)( static struct mi_value prepare_for_draw_count_predicate(struct anv_cmd_buffer *cmd_buffer, struct mi_builder *b, - struct anv_buffer *count_buffer, - uint64_t countBufferOffset) + struct anv_address count_address) { - struct anv_address count_address = - anv_address_add(count_buffer->address, countBufferOffset); - struct mi_value ret = mi_imm(0); if (cmd_buffer->state.conditional_render_enabled) { @@ -4160,9 +4156,10 @@ void genX(CmdDrawIndirectCount)( struct mi_builder b; mi_builder_init(&b, cmd_buffer->device->info, &cmd_buffer->batch); + struct anv_address count_address = + anv_address_add(count_buffer->address, countBufferOffset); struct mi_value max = - prepare_for_draw_count_predicate(cmd_buffer, &b, - count_buffer, countBufferOffset); + prepare_for_draw_count_predicate(cmd_buffer, &b, count_address); for (uint32_t i = 0; i < maxDrawCount; i++) { struct anv_address draw = anv_address_add(buffer->address, offset); @@ -4228,9 +4225,10 @@ void genX(CmdDrawIndexedIndirectCount)( struct mi_builder b; mi_builder_init(&b, cmd_buffer->device->info, &cmd_buffer->batch); + struct anv_address count_address = + anv_address_add(count_buffer->address, countBufferOffset); struct mi_value max = - prepare_for_draw_count_predicate(cmd_buffer, &b, - count_buffer, countBufferOffset); + prepare_for_draw_count_predicate(cmd_buffer, &b, count_address); for (uint32_t i = 0; i < maxDrawCount; i++) { struct anv_address draw = anv_address_add(buffer->address, offset);