mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 09:28:07 +02:00
radv: allow to force family using RADV_FORCE_FAMILY
Useful for pipeline-db. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
f386776ea5
commit
b5d111ae76
1 changed files with 33 additions and 0 deletions
|
|
@ -183,6 +183,37 @@ radv_physical_device_init_mem_types(struct radv_physical_device *device)
|
|||
device->memory_properties.memoryTypeCount = type_count;
|
||||
}
|
||||
|
||||
static void
|
||||
radv_handle_env_var_force_family(struct radv_physical_device *device)
|
||||
{
|
||||
const char *family = getenv("RADV_FORCE_FAMILY");
|
||||
unsigned i;
|
||||
|
||||
if (!family)
|
||||
return;
|
||||
|
||||
for (i = CHIP_TAHITI; i < CHIP_LAST; i++) {
|
||||
if (!strcmp(family, ac_get_llvm_processor_name(i))) {
|
||||
/* Override family and chip_class. */
|
||||
device->rad_info.family = i;
|
||||
|
||||
if (i >= CHIP_VEGA10)
|
||||
device->rad_info.chip_class = GFX9;
|
||||
else if (i >= CHIP_TONGA)
|
||||
device->rad_info.chip_class = VI;
|
||||
else if (i >= CHIP_BONAIRE)
|
||||
device->rad_info.chip_class = CIK;
|
||||
else
|
||||
device->rad_info.chip_class = SI;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
fprintf(stderr, "radv: Unknown family: %s\n", family);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
static VkResult
|
||||
radv_physical_device_init(struct radv_physical_device *device,
|
||||
struct radv_instance *instance,
|
||||
|
|
@ -226,6 +257,8 @@ radv_physical_device_init(struct radv_physical_device *device,
|
|||
device->local_fd = fd;
|
||||
device->ws->query_info(device->ws, &device->rad_info);
|
||||
|
||||
radv_handle_env_var_force_family(device);
|
||||
|
||||
radv_get_device_name(device->rad_info.family, device->name, sizeof(device->name));
|
||||
|
||||
if (radv_device_get_cache_uuid(device->rad_info.family, device->cache_uuid)) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue