From 18bc7d9d3f91515fb97773b2247414b3ede691fd Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Sat, 27 Feb 2021 15:38:53 -0800 Subject: [PATCH] intel: Use devinfo genx10 field Signed-off-by: Jordan Justen Reviewed-by: Kenneth Graunke Reviewed-by: Anuj Phogat Part-of: --- src/gallium/drivers/iris/iris_context.c | 19 ++++----- src/gallium/drivers/iris/iris_screen.c | 19 ++++----- src/intel/compiler/brw_fs.cpp | 5 +-- src/intel/compiler/brw_fs_nir.cpp | 4 +- src/intel/compiler/brw_gen_enum.h | 21 ++++++---- src/intel/compiler/test_eu_compact.cpp | 1 + src/intel/compiler/test_fs_cmod_propagation.cpp | 1 + src/intel/compiler/test_fs_copy_propagation.cpp | 1 + .../compiler/test_fs_saturate_propagation.cpp | 1 + src/intel/compiler/test_fs_scoreboard.cpp | 1 + src/intel/compiler/test_vec4_cmod_propagation.cpp | 1 + src/intel/compiler/test_vec4_copy_propagation.cpp | 1 + .../compiler/test_vec4_dead_code_eliminate.cpp | 1 + src/intel/compiler/test_vec4_register_coalesce.cpp | 1 + src/intel/dev/gen_device_info.c | 6 +-- src/intel/dev/gen_device_info.h | 4 -- src/intel/genxml/gen_bits_header.py | 48 ++++++---------------- src/intel/isl/isl.c | 45 +++++++++----------- src/intel/isl/isl.h | 8 ++-- src/intel/vulkan/anv_blorp.c | 30 +++++++------- src/intel/vulkan/anv_cmd_buffer.c | 2 +- src/intel/vulkan/anv_measure.c | 28 ++++++------- src/intel/vulkan/anv_nir_compute_push_layout.c | 3 +- src/intel/vulkan/anv_private.h | 30 +++++++------- 24 files changed, 125 insertions(+), 156 deletions(-) diff --git a/src/gallium/drivers/iris/iris_context.c b/src/gallium/drivers/iris/iris_context.c index bd236f3..d61745d 100644 --- a/src/gallium/drivers/iris/iris_context.c +++ b/src/gallium/drivers/iris/iris_context.c @@ -257,21 +257,20 @@ iris_destroy_context(struct pipe_context *ctx) } #define genX_call(devinfo, func, ...) \ - switch ((devinfo)->gen) { \ - case 12: \ - if (gen_device_info_is_12hp(devinfo)) { \ - gen125_##func(__VA_ARGS__); \ - } else { \ - gen12_##func(__VA_ARGS__); \ - } \ + switch ((devinfo)->genx10) { \ + case 125: \ + gen125_##func(__VA_ARGS__); \ break; \ - case 11: \ + case 120: \ + gen12_##func(__VA_ARGS__); \ + break; \ + case 110: \ gen11_##func(__VA_ARGS__); \ break; \ - case 9: \ + case 90: \ gen9_##func(__VA_ARGS__); \ break; \ - case 8: \ + case 80: \ gen8_##func(__VA_ARGS__); \ break; \ default: \ diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index 876b215..aa737e6 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -59,21 +59,20 @@ #include "iris_monitor.h" #define genX_call(devinfo, func, ...) \ - switch ((devinfo)->gen) { \ - case 12: \ - if (gen_device_info_is_12hp(devinfo)) { \ - gen125_##func(__VA_ARGS__); \ - } else { \ - gen12_##func(__VA_ARGS__); \ - } \ + switch ((devinfo)->genx10) { \ + case 125: \ + gen125_##func(__VA_ARGS__); \ break; \ - case 11: \ + case 120: \ + gen12_##func(__VA_ARGS__); \ + break; \ + case 110: \ gen11_##func(__VA_ARGS__); \ break; \ - case 9: \ + case 90: \ gen9_##func(__VA_ARGS__); \ break; \ - case 8: \ + case 80: \ gen8_##func(__VA_ARGS__); \ break; \ default: \ diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index bce328b..41b6386 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -1621,8 +1621,7 @@ fs_visitor::assign_curb_setup() uint64_t used = 0; - if (stage == MESA_SHADER_COMPUTE && - (devinfo->gen > 12 || gen_device_info_is_12hp(devinfo))) { + if (stage == MESA_SHADER_COMPUTE && devinfo->genx10 >= 125) { fs_builder ubld = bld.exec_all().group(8, 0).at( cfg->first_block(), cfg->first_block()->start()); @@ -2269,7 +2268,7 @@ get_subgroup_id_param_index(const gen_device_info *devinfo, if (prog_data->nr_params == 0) return -1; - if (devinfo->gen > 12 || gen_device_info_is_12hp(devinfo)) + if (devinfo->genx10 >= 125) return -1; /* The local thread id is always the last parameter in the list */ diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index ff22266..91a92d4 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -108,7 +108,7 @@ fs_visitor::nir_setup_uniforms() uniforms = nir->num_uniforms / 4; if ((stage == MESA_SHADER_COMPUTE || stage == MESA_SHADER_KERNEL) && - devinfo->gen <= 12 && !gen_device_info_is_12hp(devinfo)) { + devinfo->genx10 < 125) { /* Add uniforms for builtins after regular NIR uniforms. */ assert(uniforms == prog_data->nr_params); @@ -3675,7 +3675,7 @@ fs_visitor::nir_emit_cs_intrinsic(const fs_builder &bld, break; case nir_intrinsic_load_subgroup_id: - if (devinfo->gen > 12 || gen_device_info_is_12hp(devinfo)) + if (devinfo->genx10 >= 125) bld.AND(retype(dest, BRW_REGISTER_TYPE_UD), retype(brw_vec1_grf(0, 2), BRW_REGISTER_TYPE_UD), brw_imm_ud(INTEL_MASK(7, 0))); diff --git a/src/intel/compiler/brw_gen_enum.h b/src/intel/compiler/brw_gen_enum.h index c224e9b..9d2d0f4 100644 --- a/src/intel/compiler/brw_gen_enum.h +++ b/src/intel/compiler/brw_gen_enum.h @@ -47,15 +47,18 @@ enum gen { static enum gen gen_from_devinfo(const struct gen_device_info *devinfo) { - switch (devinfo->gen) { - case 4: return devinfo->is_g4x ? GEN45 : GEN4; - case 5: return GEN5; - case 6: return GEN6; - case 7: return devinfo->is_haswell ? GEN75 : GEN7; - case 8: return GEN8; - case 9: return GEN9; - case 11: return GEN11; - case 12: return gen_device_info_is_12hp(devinfo) ? GEN125 : GEN12; + switch (devinfo->genx10) { + case 40: return GEN4; + case 45: return GEN45; + case 50: return GEN5; + case 60: return GEN6; + case 70: return GEN7; + case 75: return GEN75; + case 80: return GEN8; + case 90: return GEN9; + case 110: return GEN11; + case 120: return GEN12; + case 125: return GEN125; default: unreachable("not reached"); } diff --git a/src/intel/compiler/test_eu_compact.cpp b/src/intel/compiler/test_eu_compact.cpp index f966ba4..7482993 100644 --- a/src/intel/compiler/test_eu_compact.cpp +++ b/src/intel/compiler/test_eu_compact.cpp @@ -337,6 +337,7 @@ main(UNUSED int argc, UNUSED char **argv) if (devinfo->gen == 10) continue; + devinfo->genx10 = devinfo->gen * 10; fail |= run_tests(devinfo); } diff --git a/src/intel/compiler/test_fs_cmod_propagation.cpp b/src/intel/compiler/test_fs_cmod_propagation.cpp index 6abd7ee..c45fe01 100644 --- a/src/intel/compiler/test_fs_cmod_propagation.cpp +++ b/src/intel/compiler/test_fs_cmod_propagation.cpp @@ -77,6 +77,7 @@ void cmod_propagation_test::SetUp() v = new cmod_propagation_fs_visitor(compiler, ctx, prog_data, shader); devinfo->gen = 7; + devinfo->genx10 = devinfo->gen * 10; } void cmod_propagation_test::TearDown() diff --git a/src/intel/compiler/test_fs_copy_propagation.cpp b/src/intel/compiler/test_fs_copy_propagation.cpp index 8ec01f4..d00bbd8 100644 --- a/src/intel/compiler/test_fs_copy_propagation.cpp +++ b/src/intel/compiler/test_fs_copy_propagation.cpp @@ -67,6 +67,7 @@ void copy_propagation_test::SetUp() v = new copy_propagation_fs_visitor(compiler, ctx, prog_data, shader); devinfo->gen = 4; + devinfo->genx10 = devinfo->gen * 10; } void copy_propagation_test::TearDown() diff --git a/src/intel/compiler/test_fs_saturate_propagation.cpp b/src/intel/compiler/test_fs_saturate_propagation.cpp index 1d4c799..5d25716 100644 --- a/src/intel/compiler/test_fs_saturate_propagation.cpp +++ b/src/intel/compiler/test_fs_saturate_propagation.cpp @@ -67,6 +67,7 @@ void saturate_propagation_test::SetUp() v = new saturate_propagation_fs_visitor(compiler, ctx, prog_data, shader); devinfo->gen = 6; + devinfo->genx10 = devinfo->gen * 10; } void saturate_propagation_test::TearDown() diff --git a/src/intel/compiler/test_fs_scoreboard.cpp b/src/intel/compiler/test_fs_scoreboard.cpp index 470b0f9..d356daf 100644 --- a/src/intel/compiler/test_fs_scoreboard.cpp +++ b/src/intel/compiler/test_fs_scoreboard.cpp @@ -55,6 +55,7 @@ void scoreboard_test::SetUp() v = new fs_visitor(compiler, NULL, ctx, NULL, &prog_data->base, shader, 8, -1); devinfo->gen = 12; + devinfo->genx10 = devinfo->gen * 10; } void scoreboard_test::TearDown() diff --git a/src/intel/compiler/test_vec4_cmod_propagation.cpp b/src/intel/compiler/test_vec4_cmod_propagation.cpp index 516e5a3..c241f16 100644 --- a/src/intel/compiler/test_vec4_cmod_propagation.cpp +++ b/src/intel/compiler/test_vec4_cmod_propagation.cpp @@ -110,6 +110,7 @@ void cmod_propagation_test::SetUp() v = new cmod_propagation_vec4_visitor(compiler, ctx, shader, prog_data); devinfo->gen = 4; + devinfo->genx10 = devinfo->gen * 10; } void cmod_propagation_test::TearDown() diff --git a/src/intel/compiler/test_vec4_copy_propagation.cpp b/src/intel/compiler/test_vec4_copy_propagation.cpp index 8bdceb5..6775490 100644 --- a/src/intel/compiler/test_vec4_copy_propagation.cpp +++ b/src/intel/compiler/test_vec4_copy_propagation.cpp @@ -102,6 +102,7 @@ void copy_propagation_test::SetUp() v = new copy_propagation_vec4_visitor(compiler, ctx, shader, prog_data); devinfo->gen = 4; + devinfo->genx10 = devinfo->gen * 10; } void copy_propagation_test::TearDown() diff --git a/src/intel/compiler/test_vec4_dead_code_eliminate.cpp b/src/intel/compiler/test_vec4_dead_code_eliminate.cpp index 7463663..5351984 100644 --- a/src/intel/compiler/test_vec4_dead_code_eliminate.cpp +++ b/src/intel/compiler/test_vec4_dead_code_eliminate.cpp @@ -100,6 +100,7 @@ void dead_code_eliminate_test::SetUp() v = new dead_code_eliminate_vec4_visitor(compiler, ctx, shader, prog_data); devinfo->gen = 4; + devinfo->genx10 = devinfo->gen * 10; } void dead_code_eliminate_test::TearDown() diff --git a/src/intel/compiler/test_vec4_register_coalesce.cpp b/src/intel/compiler/test_vec4_register_coalesce.cpp index 657c7a8..6e4cee4 100644 --- a/src/intel/compiler/test_vec4_register_coalesce.cpp +++ b/src/intel/compiler/test_vec4_register_coalesce.cpp @@ -106,6 +106,7 @@ void register_coalesce_test::SetUp() v = new register_coalesce_vec4_visitor(compiler, ctx, shader, prog_data); devinfo->gen = 4; + devinfo->genx10 = devinfo->gen * 10; } void register_coalesce_test::TearDown() diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c index 9b54e1b..7210f56 100644 --- a/src/intel/dev/gen_device_info.c +++ b/src/intel/dev/gen_device_info.c @@ -1267,6 +1267,9 @@ gen_get_device_info_from_pci_id(int pci_id, assert(devinfo->num_slices <= ARRAY_SIZE(devinfo->num_subslices)); + if (devinfo->genx10 == 0) + devinfo->genx10 = devinfo->gen * 10; + devinfo->chipset_id = pci_id; return true; } @@ -1426,9 +1429,6 @@ gen_get_device_info_from_fd(int fd, struct gen_device_info *devinfo) return false; } - if (devinfo->genx10 == 0) - devinfo->genx10 = devinfo->gen * 10; - /* remaining initializion queries the kernel for device info */ if (devinfo->no_hw) return true; diff --git a/src/intel/dev/gen_device_info.h b/src/intel/dev/gen_device_info.h index 525d4b7..492bacc 100644 --- a/src/intel/dev/gen_device_info.h +++ b/src/intel/dev/gen_device_info.h @@ -283,15 +283,11 @@ struct gen_device_info #define gen_device_info_is_9lp(devinfo) \ (GEN_GEN == 9 && ((devinfo)->is_broxton || (devinfo)->is_geminilake)) -#define gen_device_info_is_12hp(devinfo) false - #else #define gen_device_info_is_9lp(devinfo) \ ((devinfo)->is_broxton || (devinfo)->is_geminilake) -#define gen_device_info_is_12hp(devinfo) false - #endif static inline bool diff --git a/src/intel/genxml/gen_bits_header.py b/src/intel/genxml/gen_bits_header.py index 95443dc..f698c9c 100644 --- a/src/intel/genxml/gen_bits_header.py +++ b/src/intel/genxml/gen_bits_header.py @@ -79,42 +79,18 @@ from operator import itemgetter static inline uint32_t ATTRIBUTE_PURE ${item.token_name}_${prop}(const struct gen_device_info *devinfo) { - switch (devinfo->gen) { - case 12: -%if item.get_prop(prop, 12.5) == item.get_prop(prop, 12): - return ${item.get_prop(prop, 12)}; -%else: - if (gen_device_info_is_12hp(devinfo)) { - return ${item.get_prop(prop, 12.5)}; - } else { - return ${item.get_prop(prop, 12)}; - } -%endif - case 11: return ${item.get_prop(prop, 11)}; - case 9: return ${item.get_prop(prop, 9)}; - case 8: return ${item.get_prop(prop, 8)}; - case 7: -%if item.get_prop(prop, 7.5) == item.get_prop(prop, 7): - return ${item.get_prop(prop, 7)}; -%else: - if (devinfo->is_haswell) { - return ${item.get_prop(prop, 7.5)}; - } else { - return ${item.get_prop(prop, 7)}; - } -%endif - case 6: return ${item.get_prop(prop, 6)}; - case 5: return ${item.get_prop(prop, 5)}; - case 4: -%if item.get_prop(prop, 4.5) == item.get_prop(prop, 4): - return ${item.get_prop(prop, 4)}; -%else: - if (devinfo->is_g4x) { - return ${item.get_prop(prop, 4.5)}; - } else { - return ${item.get_prop(prop, 4)}; - } -%endif + switch (devinfo->genx10) { + case 125: return ${item.get_prop(prop, 12.5)}; + case 120: return ${item.get_prop(prop, 12)}; + case 110: return ${item.get_prop(prop, 11)}; + case 90: return ${item.get_prop(prop, 9)}; + case 80: return ${item.get_prop(prop, 8)}; + case 75: return ${item.get_prop(prop, 7.5)}; + case 70: return ${item.get_prop(prop, 7)}; + case 60: return ${item.get_prop(prop, 6)}; + case 50: return ${item.get_prop(prop, 5)}; + case 45: return ${item.get_prop(prop, 4.5)}; + case 40: return ${item.get_prop(prop, 4)}; default: unreachable("Invalid hardware generation"); } diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c index fa822bb..0acf3cb 100644 --- a/src/intel/isl/isl.c +++ b/src/intel/isl/isl.c @@ -2191,43 +2191,38 @@ isl_surf_get_ccs_surf(const struct isl_device *dev, } #define isl_genX_call(dev, func, ...) \ - switch (ISL_DEV_GEN(dev)) { \ - case 4: \ - /* G45 surface state is the same as gen5 */ \ - if (ISL_DEV_IS_G4X(dev)) { \ - isl_gen5_##func(__VA_ARGS__); \ - } else { \ - isl_gen4_##func(__VA_ARGS__); \ - } \ + switch (ISL_DEV_GENX10(dev)) { \ + case 40: \ + isl_gen4_##func(__VA_ARGS__); \ break; \ - case 5: \ + case 45: \ + /* G45 surface state is the same as gen5 */ \ + case 50: \ isl_gen5_##func(__VA_ARGS__); \ break; \ - case 6: \ + case 60: \ isl_gen6_##func(__VA_ARGS__); \ break; \ - case 7: \ - if (ISL_DEV_IS_HASWELL(dev)) { \ - isl_gen75_##func(__VA_ARGS__); \ - } else { \ - isl_gen7_##func(__VA_ARGS__); \ - } \ + case 70: \ + isl_gen7_##func(__VA_ARGS__); \ break; \ - case 8: \ + case 75: \ + isl_gen75_##func(__VA_ARGS__); \ + break; \ + case 80: \ isl_gen8_##func(__VA_ARGS__); \ break; \ - case 9: \ + case 90: \ isl_gen9_##func(__VA_ARGS__); \ break; \ - case 11: \ + case 110: \ isl_gen11_##func(__VA_ARGS__); \ break; \ - case 12: \ - if (ISL_DEV_IS_GEN12HP(dev)) { \ - isl_gen125_##func(__VA_ARGS__); \ - } else { \ - isl_gen12_##func(__VA_ARGS__); \ - } \ + case 120: \ + isl_gen12_##func(__VA_ARGS__); \ + break; \ + case 125: \ + isl_gen125_##func(__VA_ARGS__); \ break; \ default: \ assert(!"Unknown hardware generation"); \ diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h index aa6a4e7..296fa36 100644 --- a/src/intel/isl/isl.h +++ b/src/intel/isl/isl.h @@ -61,10 +61,12 @@ struct brw_image_param; * `gcc -DISL_DEV_GEN(dev)=9 ...`. */ #define ISL_DEV_GEN(__dev) ((__dev)->info->gen) +#define ISL_DEV_GENX10(__dev) ((__dev)->info->genx10) #define ISL_DEV_GEN_SANITIZE(__dev) #else #define ISL_DEV_GEN_SANITIZE(__dev) \ - (assert(ISL_DEV_GEN(__dev) == (__dev)->info->gen)) + (assert(ISL_DEV_GEN(__dev) == (__dev)->info->gen) && \ + ISL_DEV_GENX10(__dev) == (__dev)->info->genx10)) #endif #ifndef ISL_DEV_IS_G4X @@ -85,10 +87,6 @@ struct brw_image_param; #define ISL_DEV_IS_BAYTRAIL(__dev) ((__dev)->info->is_baytrail) #endif -#ifndef ISL_DEV_IS_GEN12HP -#define ISL_DEV_IS_GEN12HP(__dev) (gen_device_info_is_12hp((__dev)->info)) -#endif - #ifndef ISL_DEV_USE_SEPARATE_STENCIL /** * You can define this as a compile-time constant in the CFLAGS. For example, diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c index d7dd8ab..474a40b 100644 --- a/src/intel/vulkan/anv_blorp.c +++ b/src/intel/vulkan/anv_blorp.c @@ -96,29 +96,27 @@ anv_device_init_blorp(struct anv_device *device) device->blorp.compiler = device->physical->compiler; device->blorp.lookup_shader = lookup_blorp_shader; device->blorp.upload_shader = upload_blorp_shader; - switch (device->info.gen) { - case 7: - if (device->info.is_haswell) { - device->blorp.exec = gen75_blorp_exec; - } else { - device->blorp.exec = gen7_blorp_exec; - } + switch (device->info.genx10) { + case 70: + device->blorp.exec = gen7_blorp_exec; + break; + case 75: + device->blorp.exec = gen75_blorp_exec; break; - case 8: + case 80: device->blorp.exec = gen8_blorp_exec; break; - case 9: + case 90: device->blorp.exec = gen9_blorp_exec; break; - case 11: + case 110: device->blorp.exec = gen11_blorp_exec; break; - case 12: - if (gen_device_info_is_12hp(&device->info)) { - device->blorp.exec = gen125_blorp_exec; - } else { - device->blorp.exec = gen12_blorp_exec; - } + case 120: + device->blorp.exec = gen12_blorp_exec; + break; + case 125: + device->blorp.exec = gen125_blorp_exec; break; default: unreachable("Unknown hardware generation"); diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 8a33257..f7e6bae 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -1068,7 +1068,7 @@ anv_cmd_buffer_cs_push_constants(struct anv_cmd_buffer *cmd_buffer) const unsigned aligned_total_push_constants_size = ALIGN(total_push_constants_size, push_constant_alignment); struct anv_state state; - if (devinfo->gen > 12 || gen_device_info_is_12hp(devinfo)) { + if (devinfo->genx10 >= 125) { state = anv_state_stream_alloc(&cmd_buffer->general_state_stream, aligned_total_push_constants_size, push_constant_alignment); diff --git a/src/intel/vulkan/anv_measure.c b/src/intel/vulkan/anv_measure.c index 933cf29..6fda408 100644 --- a/src/intel/vulkan/anv_measure.c +++ b/src/intel/vulkan/anv_measure.c @@ -38,27 +38,27 @@ struct anv_measure_batch { void anv_measure_device_init(struct anv_physical_device *device) { - switch (device->info.gen) { - case 12: - if (gen_device_info_is_12hp(&device->info)) - device->cmd_emit_timestamp = &gen125_cmd_emit_timestamp; - else - device->cmd_emit_timestamp = &gen12_cmd_emit_timestamp; + switch (device->info.genx10) { + case 125: + device->cmd_emit_timestamp = &gen125_cmd_emit_timestamp; break; - case 11: + case 120: + device->cmd_emit_timestamp = &gen12_cmd_emit_timestamp; + break; + case 110: device->cmd_emit_timestamp = &gen11_cmd_emit_timestamp; break; - case 9: + case 90: device->cmd_emit_timestamp = &gen9_cmd_emit_timestamp; break; - case 8: + case 80: device->cmd_emit_timestamp = &gen8_cmd_emit_timestamp; break; - case 7: - if (device->info.is_haswell) - device->cmd_emit_timestamp = &gen75_cmd_emit_timestamp; - else - device->cmd_emit_timestamp = &gen7_cmd_emit_timestamp; + case 75: + device->cmd_emit_timestamp = &gen75_cmd_emit_timestamp; + break; + case 70: + device->cmd_emit_timestamp = &gen7_cmd_emit_timestamp; break; default: assert(false); diff --git a/src/intel/vulkan/anv_nir_compute_push_layout.c b/src/intel/vulkan/anv_nir_compute_push_layout.c index cc9a4ee..e75b0aa 100644 --- a/src/intel/vulkan/anv_nir_compute_push_layout.c +++ b/src/intel/vulkan/anv_nir_compute_push_layout.c @@ -92,8 +92,7 @@ anv_nir_compute_push_layout(const struct anv_physical_device *pdevice, push_end = MAX2(push_end, push_reg_mask_end); } - if (nir->info.stage == MESA_SHADER_COMPUTE && - (devinfo->gen <= 12 && !gen_device_info_is_12hp(devinfo))) { + if (nir->info.stage == MESA_SHADER_COMPUTE && devinfo->genx10 < 125) { /* For compute shaders, we always have to have the subgroup ID. The * back-end compiler will "helpfully" add it for us in the last push * constant slot. Yes, there is an off-by-one error here but that's diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 85aa8b1..dd73f78 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -4536,29 +4536,27 @@ VK_DEFINE_NONDISP_HANDLE_CASTS(anv_performance_configuration_intel, base, #define anv_genX(devinfo, thing) ({ \ __typeof(&gen9_##thing) genX_thing; \ - switch ((devinfo)->gen) { \ - case 7: \ - if ((devinfo)->is_haswell) { \ - genX_thing = &gen75_##thing; \ - } else { \ - genX_thing = &gen7_##thing; \ - } \ + switch ((devinfo)->genx10) { \ + case 70: \ + genX_thing = &gen7_##thing; \ break; \ - case 8: \ + case 75: \ + genX_thing = &gen75_##thing; \ + break; \ + case 80: \ genX_thing = &gen8_##thing; \ break; \ - case 9: \ + case 90: \ genX_thing = &gen9_##thing; \ break; \ - case 11: \ + case 110: \ genX_thing = &gen11_##thing; \ break; \ - case 12: \ - if (gen_device_info_is_12hp(devinfo)) { \ - genX_thing = &gen125_##thing; \ - } else { \ - genX_thing = &gen12_##thing; \ - } \ + case 120: \ + genX_thing = &gen12_##thing; \ + break; \ + case 125: \ + genX_thing = &gen125_##thing; \ break; \ default: \ assert(!"Unknown hardware generation"); \ -- 2.7.4