mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 11:48:06 +02:00
aco/tests: don't pass CHIP_UNKNOWN to ACO
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38701>
This commit is contained in:
parent
6f4e8046b5
commit
bf9bec07c2
2 changed files with 28 additions and 29 deletions
|
|
@ -64,27 +64,13 @@ init_program(Program* program, Stage stage, const struct aco_shader_info* info,
|
|||
enum amd_gfx_level gfx_level, enum radeon_family family, bool wgp_mode,
|
||||
ac_shader_config* config)
|
||||
{
|
||||
assert(family != CHIP_UNKNOWN);
|
||||
instruction_buffer = &program->m;
|
||||
program->stage = stage;
|
||||
program->config = config;
|
||||
program->info = *info;
|
||||
program->gfx_level = gfx_level;
|
||||
if (family == CHIP_UNKNOWN) {
|
||||
switch (gfx_level) {
|
||||
case GFX6: program->family = CHIP_TAHITI; break;
|
||||
case GFX7: program->family = CHIP_BONAIRE; break;
|
||||
case GFX8: program->family = CHIP_POLARIS10; break;
|
||||
case GFX9: program->family = CHIP_VEGA10; break;
|
||||
case GFX10: program->family = CHIP_NAVI10; break;
|
||||
case GFX10_3: program->family = CHIP_NAVI21; break;
|
||||
case GFX11: program->family = CHIP_NAVI31; break;
|
||||
case GFX11_5: program->family = CHIP_STRIX1; break;
|
||||
case GFX12: program->family = CHIP_GFX1200; break;
|
||||
default: program->family = CHIP_UNKNOWN; break;
|
||||
}
|
||||
} else {
|
||||
program->family = family;
|
||||
}
|
||||
program->family = family;
|
||||
program->wave_size = info->wave_size;
|
||||
program->lane_mask = program->wave_size == 32 ? s1 : s2;
|
||||
|
||||
|
|
|
|||
|
|
@ -62,13 +62,36 @@ static std::mutex create_device_mutex;
|
|||
FUNCTION_LIST
|
||||
#undef ITEM
|
||||
|
||||
enum radeon_family
|
||||
get_family(enum amd_gfx_level gfx_level, enum radeon_family family)
|
||||
{
|
||||
if (family == CHIP_UNKNOWN) {
|
||||
switch (gfx_level) {
|
||||
case GFX6: return CHIP_TAHITI;
|
||||
case GFX7: return CHIP_BONAIRE;
|
||||
case GFX8: return CHIP_POLARIS10;
|
||||
case GFX9: return CHIP_VEGA10;
|
||||
case GFX10: return CHIP_NAVI10;
|
||||
case GFX10_3: return CHIP_NAVI21;
|
||||
case GFX11: return CHIP_NAVI31;
|
||||
case GFX11_5: return CHIP_STRIX_HALO;
|
||||
case GFX12: return CHIP_GFX1201;
|
||||
default: return CHIP_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
return family;
|
||||
}
|
||||
|
||||
void
|
||||
create_program(enum amd_gfx_level gfx_level, Stage stage, unsigned wave_size,
|
||||
enum radeon_family family)
|
||||
{
|
||||
family = get_family(gfx_level, family);
|
||||
assert(family != CHIP_UNKNOWN);
|
||||
|
||||
memset(&config, 0, sizeof(config));
|
||||
info.wave_size = wave_size;
|
||||
|
||||
program.reset(new Program);
|
||||
aco::init_program(program.get(), stage, &info, gfx_level, family, false, &config);
|
||||
program->workgroup_size = UINT_MAX;
|
||||
|
|
@ -135,18 +158,8 @@ setup_nir_cs(enum amd_gfx_level gfx_level, mesa_shader_stage stage, enum radeon_
|
|||
if (!set_variant(gfx_level, subvariant))
|
||||
return false;
|
||||
|
||||
if (family == CHIP_UNKNOWN) {
|
||||
switch (gfx_level) {
|
||||
case GFX6: family = CHIP_TAHITI; break;
|
||||
case GFX7: family = CHIP_BONAIRE; break;
|
||||
case GFX8: family = CHIP_POLARIS10; break;
|
||||
case GFX9: family = CHIP_VEGA10; break;
|
||||
case GFX10: family = CHIP_NAVI10; break;
|
||||
case GFX10_3: family = CHIP_NAVI21; break;
|
||||
case GFX11: family = CHIP_NAVI31; break;
|
||||
default: family = CHIP_UNKNOWN; break;
|
||||
}
|
||||
}
|
||||
family = get_family(gfx_level, family);
|
||||
assert(family != CHIP_UNKNOWN);
|
||||
|
||||
memset(&rad_info, 0, sizeof(rad_info));
|
||||
rad_info.gfx_level = gfx_level;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue