mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-18 23:48:22 +02:00
anv: Replace va.dynamic_state_pool access with a function
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42133>
This commit is contained in:
parent
f745f87711
commit
f6c0ef6a26
6 changed files with 18 additions and 12 deletions
|
|
@ -672,7 +672,7 @@ anv_cmd_buffer_bind_descriptor_set(struct anv_cmd_buffer *cmd_buffer,
|
|||
push->desc_surface_offsets[set_index] |= offset;
|
||||
push->desc_sampler_offsets[set_index] =
|
||||
anv_address_physical(set->desc_sampler_addr) -
|
||||
cmd_buffer->device->physical->va.dynamic_state_pool.addr;
|
||||
anv_physical_device_get_dynamic_state_pool_va(cmd_buffer->device->physical)->addr;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -503,9 +503,9 @@ anv_state_pools_init(struct anv_device *device)
|
|||
result = anv_state_pool_init(&device->dynamic_state_pool, device,
|
||||
&(struct anv_state_pool_params) {
|
||||
.name = "dynamic pool",
|
||||
.base_address = device->physical->va.dynamic_state_pool.addr,
|
||||
.base_address = anv_physical_device_get_dynamic_state_pool_va(device->physical)->addr,
|
||||
.block_size = 16384,
|
||||
.max_size = device->physical->va.dynamic_state_pool.size,
|
||||
.max_size = anv_physical_device_get_dynamic_state_pool_va(device->physical)->size,
|
||||
});
|
||||
if (result != VK_SUCCESS)
|
||||
goto fail_general_state_pool;
|
||||
|
|
@ -804,7 +804,7 @@ VkResult anv_CreateDevice(
|
|||
intel_batch_stats_reset(decoder);
|
||||
|
||||
decoder->engine = physical_device->queue.families[i].engine_class;
|
||||
decoder->dynamic_base = physical_device->va.dynamic_state_pool.addr;
|
||||
decoder->dynamic_base = anv_physical_device_get_dynamic_state_pool_va(physical_device)->addr;
|
||||
decoder->surface_base = anv_physical_device_get_internal_surface_state_pool_va(physical_device)->addr;
|
||||
decoder->instruction_base = physical_device->va.shader_heap.addr;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1737,6 +1737,12 @@ anv_physical_device_get_internal_surface_state_pool_va(const struct anv_physical
|
|||
return &pdevice->va.internal_surface_state_pool;
|
||||
}
|
||||
|
||||
static inline const struct anv_va_range *
|
||||
anv_physical_device_get_dynamic_state_pool_va(const struct anv_physical_device *pdevice)
|
||||
{
|
||||
return &pdevice->va.dynamic_state_pool;
|
||||
}
|
||||
|
||||
VkResult anv_physical_device_try_create(struct vk_instance *vk_instance,
|
||||
struct _drmDevice *drm_device,
|
||||
struct vk_physical_device **out);
|
||||
|
|
|
|||
|
|
@ -181,10 +181,10 @@ fill_state_base_addr(struct anv_cmd_buffer *cmd_buffer,
|
|||
#endif
|
||||
|
||||
sba->DynamicStateBaseAddress = (struct anv_address) {
|
||||
.offset = device->physical->va.dynamic_state_pool.addr,
|
||||
.offset = anv_physical_device_get_dynamic_state_pool_va(device->physical)->addr,
|
||||
};
|
||||
sba->DynamicStateBufferSize =
|
||||
(device->physical->va.dynamic_state_pool.size +
|
||||
(anv_physical_device_get_dynamic_state_pool_va(device->physical)->size +
|
||||
anv_physical_device_get_dynamic_visible_pool_va(device->physical)->size +
|
||||
device->physical->va.push_descriptor_buffer_pool.size) / 4096;
|
||||
sba->DynamicStateMOCS = mocs;
|
||||
|
|
@ -3435,7 +3435,7 @@ compute_descriptor_set_sampler_offset(const struct anv_cmd_buffer *cmd_buffer,
|
|||
device->va.push_descriptor_buffer_pool.addr :
|
||||
cmd_buffer->state.descriptor_buffers.address[buffer_index];
|
||||
|
||||
return (buffer_address - device->va.dynamic_state_pool.addr) +
|
||||
return (buffer_address - anv_physical_device_get_dynamic_state_pool_va(device)->addr) +
|
||||
pipe_state->descriptor_buffers[set_idx].buffer_offset;
|
||||
}
|
||||
|
||||
|
|
@ -3470,7 +3470,7 @@ genX(flush_descriptor_buffers)(struct anv_cmd_buffer *cmd_buffer,
|
|||
cmd_buffer->device->physical->va.dynamic_visible_pool.addr;
|
||||
push_constants->desc_surface_offsets[1] =
|
||||
cmd_buffer->state.descriptor_buffers.samplers_address -
|
||||
cmd_buffer->device->physical->va.dynamic_state_pool.addr;
|
||||
anv_physical_device_get_dynamic_state_pool_va(cmd_buffer->device->physical)->addr;
|
||||
cmd_buffer->state.push_constants_dirty |=
|
||||
(cmd_buffer->state.descriptor_buffers.offsets_dirty & active_stages);
|
||||
pipe_state->push_constants_data_dirty = true;
|
||||
|
|
|
|||
|
|
@ -289,9 +289,9 @@ genX(cmd_buffer_emit_indirect_generated_draws_inplace)(struct anv_cmd_buffer *cm
|
|||
genX(cmd_buffer_set_binding_for_gfx8_vb_flush)(
|
||||
cmd_buffer, 0,
|
||||
(struct anv_address) {
|
||||
.offset = device->physical->va.dynamic_state_pool.addr,
|
||||
.offset = anv_physical_device_get_dynamic_state_pool_va(device->physical)->addr,
|
||||
},
|
||||
device->physical->va.dynamic_state_pool.size);
|
||||
anv_physical_device_get_dynamic_state_pool_va(device->physical)->size);
|
||||
}
|
||||
|
||||
const struct anv_cmd_graphics_state *gfx = &cmd_buffer->state.gfx;
|
||||
|
|
|
|||
|
|
@ -270,9 +270,9 @@ init_common_queue_state(struct anv_queue *queue, struct anv_batch *batch)
|
|||
|
||||
sba.DynamicStateBaseAddress =
|
||||
(struct anv_address) { .offset =
|
||||
device->physical->va.dynamic_state_pool.addr,
|
||||
anv_physical_device_get_dynamic_state_pool_va(device->physical)->addr,
|
||||
};
|
||||
sba.DynamicStateBufferSize = (device->physical->va.dynamic_state_pool.size +
|
||||
sba.DynamicStateBufferSize = (anv_physical_device_get_dynamic_state_pool_va(device->physical)->size +
|
||||
anv_physical_device_get_dynamic_visible_pool_va(device->physical)->size) / 4096;
|
||||
sba.DynamicStateMOCS = mocs;
|
||||
sba.DynamicStateBaseAddressModifyEnable = true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue