Lines Matching refs:instance
214 struct lvp_instance *instance,
224 result = vk_physical_device_init(&device->vk, &instance->vk,
227 vk_error(instance, result);
234 return vk_error(instance, VK_ERROR_OUT_OF_HOST_MEMORY);
377 vk_error(instance, result);
399 struct lvp_instance *instance;
407 instance = vk_zalloc(pAllocator, sizeof(*instance), 8,
409 if (!instance)
418 result = vk_instance_init(&instance->vk,
424 vk_free(pAllocator, instance);
425 return vk_error(instance, result);
428 instance->apiVersion = LVP_API_VERSION;
429 instance->physicalDeviceCount = -1;
432 // VG(VALGRIND_CREATE_MEMPOOL(instance, 0, false));
434 *pInstance = lvp_instance_to_handle(instance);
443 LVP_FROM_HANDLE(lvp_instance, instance, _instance);
445 if (!instance)
447 if (instance->physicalDeviceCount > 0)
448 lvp_physical_device_finish(&instance->physicalDevice);
451 pipe_loader_release(&instance->devs, instance->num_devices);
453 vk_instance_finish(&instance->vk);
454 vk_free(&instance->vk.alloc, instance);
486 lvp_enumerate_physical_devices(struct lvp_instance *instance)
490 if (instance->physicalDeviceCount != -1)
494 instance->num_devices = pipe_loader_sw_probe(NULL, 0);
496 assert(instance->num_devices == 1);
499 pipe_loader_sw_probe_dri(&instance->devs, &lvp_sw_lf);
501 pipe_loader_sw_probe_null(&instance->devs);
504 result = lvp_physical_device_init(&instance->physicalDevice,
505 instance, &instance->devs[0]);
507 instance->physicalDeviceCount = 0;
509 instance->physicalDeviceCount = 1;
520 LVP_FROM_HANDLE(lvp_instance, instance, _instance);
523 result = lvp_enumerate_physical_devices(instance);
528 *pPhysicalDeviceCount = instance->physicalDeviceCount;
530 pPhysicalDevices[0] = lvp_physical_device_to_handle(&instance->physicalDevice);
544 LVP_FROM_HANDLE(lvp_instance, instance, _instance);
549 VkResult result = lvp_enumerate_physical_devices(instance);
556 p->physicalDevices[0] = lvp_physical_device_to_handle(&instance->physicalDevice);
1384 LVP_FROM_HANDLE(lvp_instance, instance, _instance);
1385 return vk_instance_get_proc_addr(&instance->vk,
1401 VkInstance instance,
1406 VkInstance instance,
1409 return lvp_GetInstanceProcAddr(instance, pName);
1422 LVP_FROM_HANDLE(lvp_instance, instance, _instance);
1423 return vk_instance_get_physical_device_proc_addr(&instance->vk, pName);
1520 struct lvp_instance *instance = (struct lvp_instance *)physical_device->vk.instance;
1525 device = vk_zalloc2(&physical_device->vk.instance->alloc, pAllocator,
1529 return vk_error(instance, VK_ERROR_OUT_OF_HOST_MEMORY);
1551 device->instance = (struct lvp_instance *)physical_device->vk.instance;
1664 return vk_error(device->instance, VK_ERROR_INVALID_EXTERNAL_HANDLE);
2064 return vk_error(device->instance, VK_ERROR_INVALID_EXTERNAL_HANDLE);