Lines Matching defs:instance
165 int ov = driQueryOptioni(&device->instance->dri_options, "override_vram_size");
329 if (driQueryOptionb(&pdevice->instance->dri_options, "radv_report_llvm9_version_string")) {
391 !(pdevice->instance->debug_flags & RADV_DEBUG_NO_COMPUTE_QUEUE) &&
620 !(device->instance->debug_flags & RADV_DEBUG_NO_IBS) &&
621 driQueryOptionb(&device->instance->dri_options, "radv_dgc"),
623 radv_taskmesh_enabled(device) && device->instance->perftest_flags & RADV_PERFTEST_NV_MS,
628 device->vk.instance->app_info.engine_name &&
629 strcmp(device->vk.instance->app_info.engine_name, "vkd3d") == 0,
651 !(pdevice->instance->debug_flags & RADV_DEBUG_NO_COMPUTE_QUEUE)) {
659 radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm_device,
675 return vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
683 return vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
691 return vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
696 if (instance->debug_flags & RADV_DEBUG_STARTUP)
701 struct radv_physical_device *device = vk_zalloc2(&instance->vk.alloc, NULL, sizeof(*device), 8,
704 result = vk_error(instance, VK_ERROR_OUT_OF_HOST_MEMORY);
714 result = vk_physical_device_init(&device->vk, &instance->vk, NULL, &dispatch_table);
719 device->instance = instance;
727 device->ws = radv_amdgpu_winsys_create(fd, instance->debug_flags, instance->perftest_flags,
735 result = vk_errorf(instance, VK_ERROR_INITIALIZATION_FAILED, "failed to initialize winsys");
742 if (drm_device && instance->vk.enabled_extensions.KHR_display) {
765 result = vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
770 device->use_llvm = instance->debug_flags & RADV_DEBUG_LLVM;
783 driQueryOptionb(&device->instance->dri_options, "radv_require_etc2");
796 result = vk_errorf(instance, VK_ERROR_INITIALIZATION_FAILED, "cannot generate UUID");
816 !(device->instance->debug_flags & RADV_DEBUG_NO_OUT_OF_ORDER);
818 device->dcc_msaa_allowed = (device->instance->perftest_flags & RADV_PERFTEST_DCC_MSAA);
822 !(device->instance->debug_flags & RADV_DEBUG_NO_NGG)) ||
827 (device->instance->perftest_flags & RADV_PERFTEST_NGGC)) &&
828 !(device->instance->debug_flags & RADV_DEBUG_NO_NGGC);
839 if (device->instance->perftest_flags & RADV_PERFTEST_CS_WAVE_32)
843 if (device->instance->perftest_flags & RADV_PERFTEST_PS_WAVE_32)
846 if (device->instance->perftest_flags & RADV_PERFTEST_GE_WAVE_32)
849 if (!(device->instance->perftest_flags & RADV_PERFTEST_RT_WAVE_64))
868 result = vk_errorf(instance, VK_ERROR_INITIALIZATION_FAILED,
877 result = vk_errorf(instance, VK_ERROR_INITIALIZATION_FAILED,
886 if ((device->instance->debug_flags & RADV_DEBUG_INFO))
900 vk_error(instance, result);
922 vk_free(&instance->vk.alloc, device);
943 vk_free(&device->instance->vk.alloc, device);
1052 radv_init_dri_options(struct radv_instance *instance)
1054 driParseOptionInfo(&instance->available_dri_options, radv_dri_options,
1056 driParseConfigFiles(&instance->dri_options, &instance->available_dri_options, 0, "radv", NULL, NULL,
1057 instance->vk.app_info.app_name, instance->vk.app_info.app_version,
1058 instance->vk.app_info.engine_name, instance->vk.app_info.engine_version);
1060 instance->enable_mrt_output_nan_fixup =
1061 driQueryOptionb(&instance->dri_options, "radv_enable_mrt_output_nan_fixup");
1063 instance->disable_shrink_image_store =
1064 driQueryOptionb(&instance->dri_options, "radv_disable_shrink_image_store");
1066 instance->absolute_depth_bias =
1067 driQueryOptionb(&instance->dri_options, "radv_absolute_depth_bias");
1069 instance->disable_tc_compat_htile_in_general =
1070 driQueryOptionb(&instance->dri_options, "radv_disable_tc_compat_htile_general");
1072 if (driQueryOptionb(&instance->dri_options, "radv_no_dynamic_bounds"))
1073 instance->debug_flags |= RADV_DEBUG_NO_DYNAMIC_BOUNDS;
1075 if (driQueryOptionb(&instance->dri_options, "radv_lower_discard_to_demote"))
1076 instance->debug_flags |= RADV_DEBUG_DISCARD_TO_DEMOTE;
1078 if (driQueryOptionb(&instance->dri_options, "radv_invariant_geom"))
1079 instance->debug_flags |= RADV_DEBUG_INVARIANT_GEOM;
1081 if (driQueryOptionb(&instance->dri_options, "radv_split_fma"))
1082 instance->debug_flags |= RADV_DEBUG_SPLIT_FMA;
1084 if (driQueryOptionb(&instance->dri_options, "radv_disable_dcc"))
1085 instance->debug_flags |= RADV_DEBUG_NO_DCC;
1087 instance->zero_vram =
1088 driQueryOptionb(&instance->dri_options, "radv_zero_vram");
1090 instance->disable_aniso_single_level =
1091 driQueryOptionb(&instance->dri_options, "radv_disable_aniso_single_level");
1093 instance->disable_sinking_load_input_fs =
1094 driQueryOptionb(&instance->dri_options, "radv_disable_sinking_load_input_fs");
1096 instance->flush_before_query_copy =
1097 driQueryOptionb(&instance->dri_options, "radv_flush_before_query_copy");
1104 struct radv_instance *instance;
1110 instance = vk_zalloc(pAllocator, sizeof(*instance), 8, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
1111 if (!instance)
1119 result = vk_instance_init(&instance->vk, &extensions_supported, &dispatch_table,
1122 vk_free(pAllocator, instance);
1123 return vk_error(instance, result);
1126 instance->debug_flags = parse_debug_string(getenv("RADV_DEBUG"), radv_debug_options);
1127 instance->perftest_flags = parse_debug_string(getenv("RADV_PERFTEST"), radv_perftest_options);
1129 if (instance->debug_flags & RADV_DEBUG_STARTUP)
1130 fprintf(stderr, "radv: info: Created an instance.\n");
1132 instance->physical_devices_enumerated = false;
1133 list_inithead(&instance->physical_devices);
1135 VG(VALGRIND_CREATE_MEMPOOL(instance, 0, false));
1137 radv_init_dri_options(instance);
1139 *pInstance = radv_instance_to_handle(instance);
1147 RADV_FROM_HANDLE(radv_instance, instance, _instance);
1149 if (!instance)
1152 list_for_each_entry_safe(struct radv_physical_device, pdevice, &instance->physical_devices, link)
1157 VG(VALGRIND_DESTROY_MEMPOOL(instance));
1159 driDestroyOptionCache(&instance->dri_options);
1160 driDestroyOptionInfo(&instance->available_dri_options);
1162 vk_instance_finish(&instance->vk);
1163 vk_free(&instance->vk.alloc, instance);
1167 radv_enumerate_physical_devices(struct radv_instance *instance)
1169 if (instance->physical_devices_enumerated)
1172 instance->physical_devices_enumerated = true;
1179 * AMDGPU instance.
1183 result = radv_physical_device_try_create(instance, NULL, &pdevice);
1187 list_addtail(&pdevice->link, &instance->physical_devices);
1196 if (instance->debug_flags & RADV_DEBUG_STARTUP)
1200 return vk_error(instance, VK_SUCCESS);
1208 result = radv_physical_device_try_create(instance, devices[i], &pdevice);
1219 list_addtail(&pdevice->link, &instance->physical_devices);
1233 RADV_FROM_HANDLE(radv_instance, instance, _instance);
1236 VkResult result = radv_enumerate_physical_devices(instance);
1240 list_for_each_entry(struct radv_physical_device, pdevice, &instance->physical_devices, link)
1255 RADV_FROM_HANDLE(radv_instance, instance, _instance);
1259 VkResult result = radv_enumerate_physical_devices(instance);
1263 list_for_each_entry(struct radv_physical_device, pdevice, &instance->physical_devices, link)
1645 !(pdevice->instance->debug_flags & RADV_DEBUG_NO_HIZ) &&
1896 driQueryOptioni(&pdevice->instance->dri_options, "radv_override_uniform_offset_alignment");
2601 !(pdevice->instance->debug_flags & RADV_DEBUG_NO_COMPUTE_QUEUE))
2625 !(pdevice->instance->debug_flags & RADV_DEBUG_NO_COMPUTE_QUEUE)) {
2970 return vk_error(device->physical_device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
2973 if (device->instance->debug_flags & RADV_DEBUG_DUMP_PROLOGS)
2999 return vk_error(device->physical_device->instance, VK_ERROR_OUT_OF_DEVICE_MEMORY);
3017 return vk_error(device->physical_device->instance, VK_ERROR_OUT_OF_DEVICE_MEMORY);
3423 device = vk_zalloc2(&physical_device->instance->vk.alloc, pAllocator, sizeof(*device), 8,
3426 return vk_error(physical_device->instance, VK_ERROR_OUT_OF_HOST_MEMORY);
3430 if (physical_device->instance->vk.app_info.app_name &&
3431 !strcmp(physical_device->instance->vk.app_info.app_name, "metroexodus")) {
3453 device->instance = physical_device->instance;
3465 (device->instance->perftest_flags & RADV_PERFTEST_BO_LIST) ||
3532 !(device->instance->debug_flags & RADV_DEBUG_NOBINNING);
3566 if (device->instance->debug_flags & RADV_DEBUG_HANG) {
3585 device->instance->debug_flags |= RADV_DEBUG_SYNC_SHADERS;
4526 if (!(device->instance->debug_flags & RADV_DEBUG_NO_IBS) &&
5317 RADV_FROM_HANDLE(radv_instance, instance, _instance);
5335 /* GetInstanceProcAddr() can also be called with a NULL instance.
5342 if (instance == NULL)
5345 return vk_instance_get_proc_addr(&instance->vk, &radv_instance_entrypoints, pName);
5359 vk_icdGetInstanceProcAddr(VkInstance instance, const char *pName)
5361 return radv_GetInstanceProcAddr(instance, pName);
5368 RADV_FROM_HANDLE(radv_instance, instance, _instance);
5369 return vk_instance_get_physical_device_proc_addr(&instance->vk, pName);
5588 if (device->instance->zero_vram)
6433 !(device->instance->debug_flags & RADV_DEBUG_NO_FAST_CLEARS))
6558 if (!device->instance->absolute_depth_bias) {
6967 S_008F38_ANISO_OVERRIDE_GFX10(device->instance->disable_aniso_single_level);
6972 S_008F38_ANISO_OVERRIDE_GFX8(device->instance->disable_aniso_single_level &&