Lines Matching refs:device

273     * invalid. Our cache is device-agnostic, but it does depend on the features
287 * share memory need to also check the device UUID (below) so all this
293 /* The device UUID uniquely identifies the given device within the machine. */
1734 struct dzn_device *device = container_of(queue->vk.base.device, struct dzn_device, vk);
1743 return vk_error(device, VK_ERROR_UNKNOWN);
1754 struct dzn_device *device = container_of(queue->vk.base.device, struct dzn_device, vk);
1764 return vk_error(device, VK_ERROR_UNKNOWN);
1774 struct dzn_device *device = container_of(q->base.device, struct dzn_device, vk);
1791 return vk_error(device, VK_ERROR_UNKNOWN);
1801 return vk_error(device, VK_ERROR_UNKNOWN);
1823 return vk_error(device, VK_ERROR_UNKNOWN);
1841 return vk_error(device, VK_ERROR_UNKNOWN);
1845 return vk_error(device, VK_ERROR_UNKNOWN);
1864 struct dzn_device *device,
1868 struct dzn_physical_device *pdev = container_of(device->vk.physical, struct dzn_physical_device, vk);
1870 VkResult result = vk_queue_init(&queue->vk, &device->vk, pCreateInfo, index_in_family);
1886 if (FAILED(ID3D12Device1_CreateCommandQueue(device->dev, &queue_desc,
1890 return vk_error(device->vk.physical->instance, VK_ERROR_INITIALIZATION_FAILED);
1893 if (FAILED(ID3D12Device1_CreateFence(device->dev, 0, D3D12_FENCE_FLAG_NONE,
1897 return vk_error(device->vk.physical->instance, VK_ERROR_INITIALIZATION_FAILED);
1925 dzn_device_create_sync_for_memory(struct vk_device *device,
1930 return vk_sync_create(device, &vk_sync_dummy_type,
1935 dzn_device_query_init(struct dzn_device *device)
1938 D3D12_HEAP_PROPERTIES hprops = dzn_ID3D12Device2_GetCustomHeapProperties(device->dev, 0, D3D12_HEAP_TYPE_UPLOAD);
1952 if (FAILED(ID3D12Device1_CreateCommittedResource(device->dev, &hprops,
1958 (void **)&device->queries.refs)))
1959 return vk_error(device->vk.physical, VK_ERROR_OUT_OF_DEVICE_MEMORY);
1962 if (FAILED(ID3D12Resource_Map(device->queries.refs, 0, NULL, (void **)&queries_ref)))
1963 return vk_error(device->vk.physical, VK_ERROR_OUT_OF_HOST_MEMORY);
1967 ID3D12Resource_Unmap(device->queries.refs, 0, NULL);
1973 dzn_device_query_finish(struct dzn_device *device)
1975 if (device->queries.refs)
1976 ID3D12Resource_Release(device->queries.refs);
1980 dzn_device_destroy(struct dzn_device *device, const VkAllocationCallbacks *pAllocator)
1982 if (!device)
1986 container_of(device->vk.physical->instance, struct dzn_instance, vk);
1988 vk_foreach_queue_safe(q, &device->vk) {
1994 dzn_device_query_finish(device);
1995 dzn_meta_finish(device);
1997 if (device->dev)
1998 ID3D12Device1_Release(device->dev);
2000 vk_device_finish(&device->vk);
2001 vk_free2(&instance->vk.alloc, pAllocator, device);
2007 struct dzn_device *device = container_of(dev, struct dzn_device, vk);
2009 if (FAILED(ID3D12Device_GetDeviceRemovedReason(device->dev)))
2010 return vk_device_set_lost(&device->vk, "D3D12 device removed");
2030 VK_MULTIALLOC_DECL(&ma, struct dzn_device, device, 1);
2040 * in the main device-level dispatch table with
2051 vk_device_dispatch_table_from_entrypoints(&device->cmd_dispatch,
2053 vk_device_dispatch_table_from_entrypoints(&device->cmd_dispatch,
2058 vk_device_init(&device->vk, &pdev->vk, &dispatch_table, pCreateInfo, pAllocator);
2060 vk_free2(&device->vk.alloc, pAllocator, device);
2067 device->vk.command_dispatch_table = &device->cmd_dispatch;
2068 device->vk.create_sync_for_memory = dzn_device_create_sync_for_memory;
2069 device->vk.check_status = dzn_device_check_status;
2071 device->dev = dzn_physical_device_get_d3d12_dev(pdev);
2072 if (!device->dev) {
2073 dzn_device_destroy(device, pAllocator);
2077 ID3D12Device1_AddRef(device->dev);
2080 if (SUCCEEDED(ID3D12Device1_QueryInterface(device->dev,
2101 result = dzn_meta_init(device);
2103 dzn_device_destroy(device, pAllocator);
2107 result = dzn_device_query_init(device);
2109 dzn_device_destroy(device, pAllocator);
2119 dzn_queue_init(&queues[qindex++], device, qinfo, q);
2121 dzn_device_destroy(device, pAllocator);
2128 *out = dzn_device_to_handle(device);
2133 dzn_device_create_root_sig(struct dzn_device *device,
2137 container_of(device->vk.physical->instance, struct dzn_instance, vk);
2155 ID3D12Device1_CreateRootSignature(device->dev, 0,
2206 VK_FROM_HANDLE(dzn_device, device, dev);
2208 device->vk.dispatch_table.DeviceWaitIdle(dev);
2210 dzn_device_destroy(device, pAllocator);
2220 struct dzn_device *device = container_of(mem->base.device, struct dzn_device, vk);
2232 vk_free2(&device->vk.alloc, pAllocator, mem);
2236 dzn_device_memory_create(struct dzn_device *device,
2242 container_of(device->vk.physical, struct dzn_physical_device, vk);
2245 vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*mem), 8,
2248 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
2250 vk_object_base_init(&device->vk, &mem->base, VK_OBJECT_TYPE_DEVICE_MEMORY);
2324 if (FAILED(ID3D12Device1_CreateHeap(device->dev, &heap_desc,
2328 return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
2345 HRESULT hr = ID3D12Device1_CreatePlacedResource(device->dev, mem->heap, 0, &res_desc,
2352 return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
2361 dzn_AllocateMemory(VkDevice device,
2366 return dzn_device_memory_create(dzn_device_from_handle(device),
2371 dzn_FreeMemory(VkDevice device,
2386 VK_FROM_HANDLE(dzn_device, device, _device);
2413 return vk_error(device, VK_ERROR_MEMORY_MAP_FAILED);
2461 struct dzn_device *device = container_of(buf->base.device, struct dzn_device, vk);
2467 vk_free2(&device->vk.alloc, pAllocator, buf);
2471 dzn_buffer_create(struct dzn_device *device,
2477 vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*buf), 8,
2480 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
2482 vk_object_base_init(&device->vk, &buf->base, VK_OBJECT_TYPE_BUFFER);
2614 dzn_CreateBuffer(VkDevice device,
2619 return dzn_buffer_create(dzn_device_from_handle(device),
2624 dzn_DestroyBuffer(VkDevice device,
2636 VK_FROM_HANDLE(dzn_device, device, dev);
2639 container_of(device->vk.physical, struct dzn_physical_device, vk);
2685 VK_FROM_HANDLE(dzn_device, device, _device);
2693 if (FAILED(ID3D12Device1_CreatePlacedResource(device->dev, mem->heap,
2700 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
2713 struct dzn_device *device =
2714 container_of(event->base.device, struct dzn_device, vk);
2720 vk_free2(&device->vk.alloc, pAllocator, event);
2724 dzn_event_create(struct dzn_device *device,
2730 vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*event), 8,
2733 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
2735 vk_object_base_init(&device->vk, &event->base, VK_OBJECT_TYPE_EVENT);
2737 if (FAILED(ID3D12Device1_CreateFence(device->dev, 0, D3D12_FENCE_FLAG_NONE,
2741 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
2749 dzn_CreateEvent(VkDevice device,
2754 return dzn_event_create(dzn_device_from_handle(device),
2759 dzn_DestroyEvent(VkDevice device,
2770 VK_FROM_HANDLE(dzn_device, device, dev);
2774 return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
2783 VK_FROM_HANDLE(dzn_device, device, dev);
2787 return vk_error(device, VK_ERROR_OUT_OF_DEVICE_MEMORY);
2793 dzn_GetEventStatus(VkDevice device,
2803 dzn_GetDeviceMemoryCommitment(VkDevice device,
2843 struct dzn_device *device =
2844 container_of(sampler->base.device, struct dzn_device, vk);
2847 vk_free2(&device->vk.alloc, pAllocator, sampler);
2851 dzn_sampler_create(struct dzn_device *device,
2857 vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*sampler), 8,
2860 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
2862 vk_object_base_init(&device->vk, &sampler->base, VK_OBJECT_TYPE_SAMPLER);
2928 dzn_CreateSampler(VkDevice device,
2933 return dzn_sampler_create(dzn_device_from_handle(device),
2938 dzn_DestroySampler(VkDevice device,
2946 dzn_GetDeviceGroupPeerMemoryFeatures(VkDevice device,
2956 dzn_GetImageSparseMemoryRequirements2(VkDevice device,
2965 dzn_CreateSamplerYcbcrConversion(VkDevice device,
2975 dzn_DestroySamplerYcbcrConversion(VkDevice device,