Lines Matching defs:device
210 VKAPI_ATTR VkResult VKAPI_CALL vkSetDeviceDispatch(VkDevice device, void *object) {
212 struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev, NULL);
390 // Search the given ext_list for a device extension matching the given ext_prop
678 "loader_add_device_extensions: Error getting physical device extension info count from library %s", lib_name);
685 "loader_add_device_extensions: Failed to allocate space for device extension properties from library %s.",
792 "loader_add_to_dev_ext_list: Failed to reallocate space for device extension list");
1231 struct loader_icd_term *loader_get_icd_and_device(const void *device, struct loader_device **found_dev, uint32_t *icd_index) {
1232 VkLayerDispatchTable *dispatch_table_device = loader_get_dispatch(device);
1244 // Value comparison of device prevents object wrapping by layers
2082 // Add any instance and device extensions from component layers to this layer
2108 loader_log(inst, VULKAN_LOADER_DEBUG_BIT, 0, "Meta-layer %s component layer %s adding device extension %s",
4032 // vkGetInstanceProcAddr This is because VK_EXT_debug_utils is an instance level extension with device level functions, and
4079 // Check if it is an unknown physical device function, to see if any drivers support it.
4085 // Assume it is an unknown device function, check to see if any drivers support it.
4096 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL loader_gpa_device_terminator(VkDevice device, const char *pName) {
4098 struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev, NULL);
4101 // This is so we can properly intercept any device commands needing a terminator.
4107 // Overrides for device functions needing a trampoline and
4108 // a terminator because certain device entry-points still need to go
4129 return icd_term->dispatch.GetDeviceProcAddr(device, pName);
4379 // Get the physical device (ICD) extensions
4418 loader_log(inst, VULKAN_LOADER_ERROR_BIT, 0, "vkCreateDevice: Failed to create device chain.");
4424 // Initialize any device extension dispatch entry's from the instance list
4427 // Initialize WSI device extensions as part of core dispatch since loader
4437 // Find the icd_term this device belongs to then remove it from that icd_term.
4438 // Need to iterate the linked lists and remove the device from it. Don't delete
4439 // the device here since it may not have been added to the icd_term and there
4462 // Now destroy the device and the allocations associated with it.
4473 VKAPI_ATTR void VKAPI_CALL loader_layer_destroy_device(VkDevice device, const VkAllocationCallbacks *pAllocator,
4477 if (device == VK_NULL_HANDLE) {
4481 struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev, NULL);
4483 destroyFunction(device, pAllocator);
4856 "when creating a Vulkan device.");
4861 // need to look for the corresponding VkDeviceGroupDeviceCreateInfo struct in the device list. This is because we
4862 // need to replace all the incoming physical device values (which are really loader trampoline physical device values)
4882 // Before calling down, replace the incoming physical device values (which are really loader trampoline
4883 // physical devices) with the next layer (or possibly even the terminator) physical device values.
4962 // Break here because if fpGIPA is the same as callingLayer, that means a layer is trying to create a device,
4995 loader_log(inst, VULKAN_LOADER_INFO_BIT | VULKAN_LOADER_LAYER_BIT, 0, "Inserted device layer \"%s\" (%s)",
5066 // Initialize device dispatch table
5272 // Didn't find extension name in any of the device layers, error out
5274 "loader_validate_device_extensions: Device extension %s not supported by selected physical device "
5695 "terminator_CreateDevice: Loader device pointer null encountered. Possibly set by active layer. (Policy "
5739 // Get the physical device (ICD) extensions
5765 // corresponding VkDeviceGroupDeviceCreateInfo struct in the device list and replace all the physical device values (which
5766 // are really loader physical device terminator values) with the ICD versions.
5786 // Before calling down, replace the incoming physical device values (which are really loader terminator
5787 // physical devices) with the ICDs physical device values.
5851 // The group must contain only this one device, since physical device groups aren't actually supported
5854 "vkCreateDevice: Emulation failed to create device from device group info");
5861 // states that the physicalDevice argument must be included in the device group, and we've already checked
5868 // Multiview properties are also allowed, but since VK_KHX_multiview is a device extension, we'll just let the
5945 // Init dispatch pointer in new device object
5963 // We always want to re-use previous physical device pointers since they may be used by an application
6021 // Something is different, so do the full path of checking every device and creating a new array to use.
6022 // This can happen if a device was added, or removed, or we hadn't previously queried all the data and we
6028 "setup_loader_tramp_phys_devs: Failed to allocate new physical device array of size %d", new_count);
6056 "setup_loader_tramp_phys_devs: Failed to allocate new trampoline physical device");
6193 // If this physical device is new, we need to allocate space for it.
6198 "check_and_add_to_new_phys_devs: Failed to allocate physical device terminator object %d", idx);
6245 // Allocate something to store the physical device characteristics that we read from each ICD.
6250 "setup_loader_term_phys_devs: Failed to allocate temporary ICD Physical device info array of size %d",
6273 "setup_loader_term_phys_devs: Failed to allocate temporary ICD Physical device array for ICD %d of size %d",
6290 // Add up both the windows sorted and non windows found physical device counts
6306 // Create an allocation large enough to hold both the windows sorting enumeration and non-windows physical device
6312 "setup_loader_term_phys_devs: Failed to allocate new physical device array of size %d", new_phys_devs_capacity);
6337 "setup_loader_term_phys_devs: Failed to allocate physical device terminator object %d", dev);
6351 // Keep previously allocated physical device info since apps may already be using that!
6356 "Copying old device %u into new device %u", old_idx, new_idx);
6478 // Update the devices based on the loader physical device values.
6512 "terminator_EnumeratePhysicalDevices : Trimming device count from %d to %d.", inst->phys_dev_count_term,
6595 // Iterate over active layers, if they are an implicit layer, add their device extensions
6596 // After calling into the driver, written_count contains the amount of device extensions written. We can therefore write
6634 // Then allocate memory to store the physical device extension list + the extensions layers provide
6643 // Get the available device extensions and put them in all_exts.list
6649 // Iterate over active layers, if they are an implicit layer, add their device extensions to all_exts.list
6897 // For each ICD, query the number of physical device groups, and then get an
6943 // Create an array for the new physical device groups, which will be stored
6949 "terminator_EnumeratePhysicalDeviceGroups: Failed to allocate new physical device group array of size %d",
6988 "terminator_EnumeratePhysicalDeviceGroups: Failed to allocate local physical device array of size %d",
7022 // The total amount is still less than the amount of physical device group data passed in
7100 // first, it guarantees that each physical device will have a loader-specific handle.
7129 // Copy or create everything to fill the new array of physical device groups
7139 // Check if this physical device group with the same contents is already in the old buffer
7167 // If this physical device group isn't in the old buffer, create it
7173 "terminator_EnumeratePhysicalDeviceGroups: Failed to allocate physical device group Terminator "
7194 // If an OOM occurred inside the copying of the new physical device groups into the existing array will
7195 // leave some of the old physical device groups in the array which may have been copied into the new array,
7196 // leading to them being freed twice. To avoid this we just make sure to not delete physical device groups
7234 // Swap in the new physical device group list
7253 "terminator_EnumeratePhysicalDeviceGroups : Trimming device count from %d to %d.",