diff --git a/src/imagination/common/device_info/axe-1-16m.h b/src/imagination/common/device_info/axe-1-16m.h index e9a607a7adf..bc381e7cf60 100644 --- a/src/imagination/common/device_info/axe-1-16m.h +++ b/src/imagination/common/device_info/axe-1-16m.h @@ -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 = { diff --git a/src/imagination/common/device_info/bxe-2-32.h b/src/imagination/common/device_info/bxe-2-32.h index ca3dabc3bb1..25c9fcaeb0f 100644 --- a/src/imagination/common/device_info/bxe-2-32.h +++ b/src/imagination/common/device_info/bxe-2-32.h @@ -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 diff --git a/src/imagination/common/device_info/bxe-4-32.h b/src/imagination/common/device_info/bxe-4-32.h index 594ab9b2a96..0f103ea293d 100644 --- a/src/imagination/common/device_info/bxe-4-32.h +++ b/src/imagination/common/device_info/bxe-4-32.h @@ -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 diff --git a/src/imagination/common/device_info/bxm-4-64.h b/src/imagination/common/device_info/bxm-4-64.h index f65ac08d459..970ccc0690d 100644 --- a/src/imagination/common/device_info/bxm-4-64.h +++ b/src/imagination/common/device_info/bxm-4-64.h @@ -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 diff --git a/src/imagination/common/device_info/bxs-4-64.h b/src/imagination/common/device_info/bxs-4-64.h index a0833fa1410..73ad3c58375 100644 --- a/src/imagination/common/device_info/bxs-4-64.h +++ b/src/imagination/common/device_info/bxs-4-64.h @@ -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 diff --git a/src/imagination/common/device_info/g6110.h b/src/imagination/common/device_info/g6110.h index ab6898f89e7..c7464749eb7 100644 --- a/src/imagination/common/device_info/g6110.h +++ b/src/imagination/common/device_info/g6110.h @@ -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 = { diff --git a/src/imagination/common/device_info/ge7800.h b/src/imagination/common/device_info/ge7800.h index cfbe12d43b6..3e831ed8961 100644 --- a/src/imagination/common/device_info/ge7800.h +++ b/src/imagination/common/device_info/ge7800.h @@ -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 diff --git a/src/imagination/common/device_info/ge8300.h b/src/imagination/common/device_info/ge8300.h index 0b5db122798..2f83adab67d 100644 --- a/src/imagination/common/device_info/ge8300.h +++ b/src/imagination/common/device_info/ge8300.h @@ -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 diff --git a/src/imagination/common/device_info/gx6250.h b/src/imagination/common/device_info/gx6250.h index 2276203fb2f..ecaff64db98 100644 --- a/src/imagination/common/device_info/gx6250.h +++ b/src/imagination/common/device_info/gx6250.h @@ -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 = { diff --git a/src/imagination/common/device_info/gx6650.h b/src/imagination/common/device_info/gx6650.h index b8f294b4a77..26174dcf44b 100644 --- a/src/imagination/common/device_info/gx6650.h +++ b/src/imagination/common/device_info/gx6650.h @@ -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 = { diff --git a/src/imagination/common/pvr_device_info.h b/src/imagination/common/pvr_device_info.h index adc850e850a..7e6657fb59c 100644 --- a/src/imagination/common/pvr_device_info.h +++ b/src/imagination/common/pvr_device_info.h @@ -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 {