radv: move gs_table_depth to the physical_device
This is not a logical device property. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16603>
This commit is contained in:

committed by
Marge Bot

parent
6c44e25078
commit
7fb4849314
@@ -824,6 +824,9 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm
|
||||
goto fail_disk_cache;
|
||||
}
|
||||
|
||||
device->gs_table_depth =
|
||||
ac_get_gs_table_depth(device->rad_info.gfx_level, device->rad_info.family);
|
||||
|
||||
*device_out = device;
|
||||
|
||||
return VK_SUCCESS;
|
||||
@@ -2735,13 +2738,6 @@ radv_queue_finish(struct radv_queue *queue)
|
||||
vk_queue_finish(&queue->vk);
|
||||
}
|
||||
|
||||
static void
|
||||
radv_device_init_gs_info(struct radv_device *device)
|
||||
{
|
||||
device->gs_table_depth = ac_get_gs_table_depth(device->physical_device->rad_info.gfx_level,
|
||||
device->physical_device->rad_info.family);
|
||||
}
|
||||
|
||||
static VkResult
|
||||
radv_device_init_border_color(struct radv_device *device)
|
||||
{
|
||||
@@ -3342,8 +3338,6 @@ radv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCr
|
||||
device->dispatch_initiator |= S_00B800_ORDER_MODE(1);
|
||||
}
|
||||
|
||||
radv_device_init_gs_info(device);
|
||||
|
||||
ac_get_hs_info(&device->physical_device->rad_info,
|
||||
&device->hs);
|
||||
|
||||
|
@@ -1472,7 +1472,7 @@ radv_compute_ia_multi_vgt_param_helpers(struct radv_pipeline *pipeline)
|
||||
/* GS requirement. */
|
||||
ia_multi_vgt_param.partial_es_wave = false;
|
||||
if (radv_pipeline_has_gs(pipeline) && device->physical_device->rad_info.gfx_level <= GFX8)
|
||||
if (SI_GS_PER_ES / ia_multi_vgt_param.primgroup_size >= pipeline->device->gs_table_depth - 3)
|
||||
if (SI_GS_PER_ES / ia_multi_vgt_param.primgroup_size >= pipeline->device->physical_device->gs_table_depth - 3)
|
||||
ia_multi_vgt_param.partial_es_wave = true;
|
||||
|
||||
ia_multi_vgt_param.ia_switch_on_eoi = false;
|
||||
|
@@ -327,6 +327,8 @@ struct radv_physical_device {
|
||||
|
||||
enum radv_queue_family vk_queue_to_radv[RADV_MAX_QUEUE_FAMILIES];
|
||||
uint32_t num_queues;
|
||||
|
||||
uint32_t gs_table_depth;
|
||||
};
|
||||
|
||||
struct radv_instance {
|
||||
@@ -780,7 +782,6 @@ struct radv_device {
|
||||
/* Number of entries in the task shader ring buffers. */
|
||||
uint32_t task_num_entries;
|
||||
|
||||
uint32_t gs_table_depth;
|
||||
struct ac_hs_info hs;
|
||||
|
||||
/* MSAA sample locations.
|
||||
|
Reference in New Issue
Block a user