pvr: feature promotion to core from derived

RGX_FEATURE_USC_ITR_PARALLEL_INSTANCES is no longer a derived feature
for Volcanic, it is a core feature. This improvement is related to the
introduction of Volcanic device information.

Signed-off-by: leonperianu <leon.perianu@imgtec.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38423>
This commit is contained in:
leonperianu 2025-04-24 15:57:33 +01:00 committed by Marge Bot
parent bf1d9d1339
commit 1e548195d2
11 changed files with 25 additions and 36 deletions

View file

@ -62,6 +62,7 @@ static const struct pvr_device_features pvr_device_features_33_V_11_3 = {
.has_tpu_parallel_instances = true,
.has_unified_store_depth = true,
.has_usc_f16sop_u8 = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_pixel_partition_mask = true,
.has_usc_slots = true,
@ -86,6 +87,7 @@ static const struct pvr_device_features pvr_device_features_33_V_11_3 = {
.tile_size_y = 16U,
.tpu_parallel_instances = 1U,
.unified_store_depth = 64U,
.usc_itr_parallel_instances = 4U,
.usc_min_output_registers_per_pix = 1U,
.usc_slots = 14U,
.uvs_banks = 2U,
@ -94,9 +96,6 @@ static const struct pvr_device_features pvr_device_features_33_V_11_3 = {
.vdm_cam_size = 32U,
.has_s8xe = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 4U,
};
static const struct pvr_device_enhancements pvr_device_enhancements_33_15_11_3 = {

View file

@ -53,6 +53,8 @@ static const struct pvr_device_features pvr_device_features_36_V_52_182 = {
.has_usc_f16sop_u8 = true,
.has_usc_itrsmp = true,
.has_usc_itrsmp_enhanced = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_pixel_partition_mask = true,
.has_usc_slots = true,
@ -78,6 +80,7 @@ static const struct pvr_device_features pvr_device_features_36_V_52_182 = {
.tile_size_y = 16U,
.tpu_parallel_instances = 2U,
.unified_store_depth = 128U,
.usc_itr_parallel_instances = 8U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 32U,
.uvs_banks = 4U,
@ -87,9 +90,6 @@ static const struct pvr_device_features pvr_device_features_36_V_52_182 = {
.xpu_max_slaves = 3U,
.has_s8xe = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 8U,
};
static const struct pvr_device_enhancements

View file

@ -54,6 +54,7 @@ static const struct pvr_device_features pvr_device_features_36_V_54_182 = {
.has_usc_itrsmp = true,
.has_usc_itrsmp_enhanced = true,
.has_usc_f16sop_u8 = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_pixel_partition_mask = true,
.has_usc_slots = true,
@ -79,6 +80,7 @@ static const struct pvr_device_features pvr_device_features_36_V_54_182 = {
.tile_size_y = 16U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 208U,
.usc_itr_parallel_instances = 16U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 64U,
.uvs_banks = 8U,
@ -88,9 +90,6 @@ static const struct pvr_device_features pvr_device_features_36_V_54_182 = {
.xpu_max_slaves = 3U,
.has_s8xe = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 16U,
};
static const struct pvr_device_enhancements

View file

@ -54,6 +54,7 @@ static const struct pvr_device_features pvr_device_features_36_V_104_182 = {
.has_usc_f16sop_u8 = true,
.has_usc_itrsmp = true,
.has_usc_itrsmp_enhanced = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_pixel_partition_mask = true,
.has_usc_slots = true,
@ -79,6 +80,7 @@ static const struct pvr_device_features pvr_device_features_36_V_104_182 = {
.tile_size_y = 16U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 256U,
.usc_itr_parallel_instances = 16U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 64U,
.uvs_banks = 8U,
@ -89,9 +91,6 @@ static const struct pvr_device_features pvr_device_features_36_V_104_182 = {
/* Derived features. */
.has_s8xe = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 16U,
};
static const struct pvr_device_enhancements

View file

@ -72,6 +72,7 @@ static const struct pvr_device_features pvr_device_features_36_V_104_796 = {
.has_usc_f16sop_u8 = true,
.has_usc_itrsmp = true,
.has_usc_itrsmp_enhanced = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_pixel_partition_mask = true,
.has_usc_slots = true,
@ -98,6 +99,7 @@ static const struct pvr_device_features pvr_device_features_36_V_104_796 = {
.tile_size_y = 16U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 256U,
.usc_itr_parallel_instances = 16U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 64U,
.uvs_banks = 8U,
@ -107,9 +109,6 @@ static const struct pvr_device_features pvr_device_features_36_V_104_796 = {
.xpu_max_slaves = 3U,
.has_s8xe = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 16U,
};
static const struct pvr_device_enhancements

View file

@ -34,6 +34,7 @@ static const struct pvr_device_features pvr_device_features_5_V_1_46 = {
.has_tile_size_y = true,
.has_tpu_parallel_instances = true,
.has_unified_store_depth = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_slots = true,
.has_uvs_banks = true,
@ -56,6 +57,7 @@ static const struct pvr_device_features pvr_device_features_5_V_1_46 = {
.tile_size_y = 32U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 208U,
.usc_itr_parallel_instances = 16U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 56U,
.uvs_banks = 8U,
@ -64,9 +66,6 @@ static const struct pvr_device_features pvr_device_features_5_V_1_46 = {
.vdm_cam_size = 64U,
.has_requires_fb_cdc_zls_setup = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 16U,
};
static const struct pvr_device_enhancements pvr_device_enhancements_5_9_1_46 = {

View file

@ -36,6 +36,7 @@ static const struct pvr_device_features pvr_device_features_15_V_1_64 = {
.has_tpu_parallel_instances = true,
.has_unified_store_depth = true,
.has_usc_f16sop_u8 = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_slots = true,
.has_uvs_banks = true,
@ -58,6 +59,7 @@ static const struct pvr_device_features pvr_device_features_15_V_1_64 = {
.tile_size_y = 32U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 208U,
.usc_itr_parallel_instances = 16U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 56U,
.uvs_banks = 8U,
@ -66,9 +68,6 @@ static const struct pvr_device_features pvr_device_features_15_V_1_64 = {
.vdm_cam_size = 128U,
.has_requires_fb_cdc_zls_setup = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 16U,
};
static const struct pvr_device_enhancements

View file

@ -45,6 +45,7 @@ static const struct pvr_device_features pvr_device_features_22_V_54_30 = {
.has_usc_f16sop_u8 = true,
.has_usc_itrsmp = true,
.has_usc_itrsmp_enhanced = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_slots = true,
.has_uvs_banks = true,
@ -67,6 +68,7 @@ static const struct pvr_device_features pvr_device_features_22_V_54_30 = {
.tile_size_y = 16U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 208U,
.usc_itr_parallel_instances = 16U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 64U,
.uvs_banks = 4U,
@ -75,9 +77,6 @@ static const struct pvr_device_features pvr_device_features_22_V_54_30 = {
.vdm_cam_size = 64U,
.has_s8xe = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 16U,
};
static const struct pvr_device_enhancements

View file

@ -63,6 +63,7 @@ static const struct pvr_device_features pvr_device_features_4_V_2_51 = {
.has_unified_store_depth = true,
.has_usc_f16sop_u8 = true,
.has_usc_itrsmp = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_slots = true,
.has_uvs_banks = true,
@ -87,6 +88,7 @@ static const struct pvr_device_features pvr_device_features_4_V_2_51 = {
.tile_size_y = 32U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 256U,
.usc_itr_parallel_instances = 8U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 32U,
.uvs_banks = 8U,
@ -95,9 +97,6 @@ static const struct pvr_device_features pvr_device_features_4_V_2_51 = {
.vdm_cam_size = 256U,
.has_requires_fb_cdc_zls_setup = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 8U,
};
static const struct pvr_device_enhancements pvr_device_enhancements_4_40_2_51 = {
@ -175,6 +174,7 @@ static const struct pvr_device_features pvr_device_features_4_V_2_58 = {
.has_unified_store_depth = true,
.has_usc_f16sop_u8 = true,
.has_usc_itrsmp = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_slots = true,
.has_uvs_banks = true,
@ -199,6 +199,7 @@ static const struct pvr_device_features pvr_device_features_4_V_2_58 = {
.tile_size_y = 32U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 256U,
.usc_itr_parallel_instances = 8U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 32U,
.uvs_banks = 8U,
@ -207,9 +208,6 @@ static const struct pvr_device_features pvr_device_features_4_V_2_58 = {
.vdm_cam_size = 256U,
.has_requires_fb_cdc_zls_setup = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 8U,
};
static const struct pvr_device_enhancements pvr_device_enhancements_4_45_2_58 = {

View file

@ -46,6 +46,7 @@ static const struct pvr_device_features pvr_device_features_4_V_6_62 = {
.has_unified_store_depth = true,
.has_usc_f16sop_u8 = true,
.has_usc_itrsmp = true,
.has_usc_itr_parallel_instances = true,
.has_usc_min_output_registers_per_pix = true,
.has_usc_slots = true,
.has_uvs_banks = true,
@ -70,6 +71,7 @@ static const struct pvr_device_features pvr_device_features_4_V_6_62 = {
.tile_size_y = 32U,
.tpu_parallel_instances = 4U,
.unified_store_depth = 256U,
.usc_itr_parallel_instances = 8U,
.usc_min_output_registers_per_pix = 2U,
.usc_slots = 32U,
.uvs_banks = 8U,
@ -78,9 +80,6 @@ static const struct pvr_device_features pvr_device_features_4_V_6_62 = {
.vdm_cam_size = 256U,
.has_requires_fb_cdc_zls_setup = true,
.has_usc_itr_parallel_instances = true,
.usc_itr_parallel_instances = 8U,
};
static const struct pvr_device_enhancements pvr_device_enhancements_4_46_6_62 = {

View file

@ -297,6 +297,7 @@ struct pvr_device_features {
bool has_usc_f16sop_u8 : 1;
bool has_usc_itrsmp : 1;
bool has_usc_itrsmp_enhanced : 1;
bool has_usc_itr_parallel_instances : 1;
bool has_usc_min_output_registers_per_pix : 1;
bool has_usc_pixel_partition_mask : 1;
bool has_usc_slots : 1;
@ -325,6 +326,7 @@ struct pvr_device_features {
uint32_t tile_size_y;
uint32_t tpu_parallel_instances;
uint32_t unified_store_depth;
uint32_t usc_itr_parallel_instances;
uint32_t usc_min_output_registers_per_pix;
uint32_t usc_slots;
uint32_t uvs_banks;
@ -336,9 +338,6 @@ struct pvr_device_features {
/* Derived features. */
bool has_requires_fb_cdc_zls_setup : 1;
bool has_s8xe : 1;
bool has_usc_itr_parallel_instances : 1;
uint32_t usc_itr_parallel_instances;
};
struct pvr_device_enhancements {