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: {
((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);
}
((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);
}
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;
&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] = {};
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);
}
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);
}
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);
}
}