diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/anv_batch_chain.c index 8c0bf571795..a1516b0c37a 100644 --- a/src/intel/vulkan/anv_batch_chain.c +++ b/src/intel/vulkan/anv_batch_chain.c @@ -711,10 +711,9 @@ anv_cmd_buffer_alloc_space(struct anv_cmd_buffer *cmd_buffer, size, alignment); return (struct anv_cmd_alloc) { - .address = (struct anv_address) { - .bo = cmd_buffer->device->dynamic_state_pool.block_pool.bo, - .offset = state.offset, - }, + .address = anv_state_pool_state_address( + &cmd_buffer->device->dynamic_state_pool, + state), .map = state.map, .size = size, }; diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 220c77152c2..70eab29ae9d 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -338,10 +338,9 @@ anv_cmd_buffer_set_ray_query_buffer(struct anv_cmd_buffer *cmd_buffer, struct anv_state ray_query_global_state = anv_genX(device->info, cmd_buffer_ray_query_globals)(cmd_buffer); - struct anv_address ray_query_globals_addr = (struct anv_address) { - .bo = device->dynamic_state_pool.block_pool.bo, - .offset = ray_query_global_state.offset, - }; + struct anv_address ray_query_globals_addr = + anv_state_pool_state_address(&device->dynamic_state_pool, + ray_query_global_state); pipeline_state->push_constants.ray_query_globals = anv_address_physical(ray_query_globals_addr); cmd_buffer->state.push_constants_dirty |= stages; diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 2dd9945b5c7..ff3e478d3ec 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -2787,10 +2787,9 @@ get_push_range_address(struct anv_cmd_buffer *cmd_buffer, gfx_state->base.push_constants_state = anv_cmd_buffer_gfx_push_constants(cmd_buffer); } - return (struct anv_address) { - .bo = cmd_buffer->device->dynamic_state_pool.block_pool.bo, - .offset = gfx_state->base.push_constants_state.offset, - }; + return anv_state_pool_state_address( + &cmd_buffer->device->dynamic_state_pool, + gfx_state->base.push_constants_state); } default: { @@ -3794,10 +3793,9 @@ emit_base_vertex_instance(struct anv_cmd_buffer *cmd_buffer, ((uint32_t *)id_state.map)[0] = base_vertex; ((uint32_t *)id_state.map)[1] = base_instance; - struct anv_address addr = { - .bo = cmd_buffer->device->dynamic_state_pool.block_pool.bo, - .offset = id_state.offset, - }; + struct anv_address addr = + anv_state_pool_state_address(&cmd_buffer->device->dynamic_state_pool, + id_state); emit_base_vertex_instance_bo(cmd_buffer, addr); } @@ -3811,10 +3809,9 @@ emit_draw_index(struct anv_cmd_buffer *cmd_buffer, uint32_t draw_index) ((uint32_t *)state.map)[0] = draw_index; - struct anv_address addr = { - .bo = cmd_buffer->device->dynamic_state_pool.block_pool.bo, - .offset = state.offset, - }; + struct anv_address addr = + anv_state_pool_state_address(&cmd_buffer->device->dynamic_state_pool, + state); emit_vertex_bo(cmd_buffer, addr, 4, ANV_DRAWID_VB_INDEX); } @@ -5346,10 +5343,9 @@ void genX(CmdDispatchBase)( sizes[0] = groupCountX; sizes[1] = groupCountY; sizes[2] = groupCountZ; - cmd_buffer->state.compute.num_workgroups = (struct anv_address) { - .bo = cmd_buffer->device->dynamic_state_pool.block_pool.bo, - .offset = state.offset, - }; + cmd_buffer->state.compute.num_workgroups = + anv_state_pool_state_address(&cmd_buffer->device->dynamic_state_pool, + state); /* The num_workgroups buffer goes in the binding table */ cmd_buffer->state.descriptors_dirty |= VK_SHADER_STAGE_COMPUTE_BIT; @@ -5698,10 +5694,9 @@ cmd_buffer_trace_rays(struct anv_cmd_buffer *cmd_buffer, &cmd_buffer->state.rt.base.push_constants, sizeof(struct anv_push_constants)); - struct anv_address rtdg_addr = { - .bo = cmd_buffer->device->dynamic_state_pool.block_pool.bo, - .offset = rtdg_state.offset, - }; + struct anv_address rtdg_addr = + anv_state_pool_state_address(&cmd_buffer->device->dynamic_state_pool, + rtdg_state); uint8_t local_size_log2[3]; uint32_t global_size[3] = {}; @@ -7229,10 +7224,9 @@ void genX(CmdSetEvent2)( pc.DestinationAddressType = DAT_PPGTT, pc.PostSyncOperation = WriteImmediateData, - pc.Address = (struct anv_address) { - cmd_buffer->device->dynamic_state_pool.block_pool.bo, - event->state.offset - }; + pc.Address = anv_state_pool_state_address( + &cmd_buffer->device->dynamic_state_pool, + event->state); pc.ImmediateData = VK_EVENT_SET; anv_debug_dump_pc(pc); } @@ -7257,10 +7251,9 @@ void genX(CmdResetEvent2)( pc.DestinationAddressType = DAT_PPGTT; pc.PostSyncOperation = WriteImmediateData; - pc.Address = (struct anv_address) { - cmd_buffer->device->dynamic_state_pool.block_pool.bo, - event->state.offset - }; + pc.Address = anv_state_pool_state_address( + &cmd_buffer->device->dynamic_state_pool, + event->state); pc.ImmediateData = VK_EVENT_RESET; anv_debug_dump_pc(pc); } @@ -7278,13 +7271,12 @@ void genX(CmdWaitEvents2)( ANV_FROM_HANDLE(anv_event, event, pEvents[i]); anv_batch_emit(&cmd_buffer->batch, GENX(MI_SEMAPHORE_WAIT), sem) { - sem.WaitMode = PollingMode, - sem.CompareOperation = COMPARE_SAD_EQUAL_SDD, - sem.SemaphoreDataDword = VK_EVENT_SET, - sem.SemaphoreAddress = (struct anv_address) { - cmd_buffer->device->dynamic_state_pool.block_pool.bo, - event->state.offset - }; + sem.WaitMode = PollingMode; + sem.CompareOperation = COMPARE_SAD_EQUAL_SDD; + sem.SemaphoreDataDword = VK_EVENT_SET; + sem.SemaphoreAddress = anv_state_pool_state_address( + &cmd_buffer->device->dynamic_state_pool, + event->state); } }