| 1846 | } |
| 1847 | |
| 1848 | void Pipeline::InitDeferred(const Device& dev, const VkRayTracingPipelineCreateInfoKHR& info, VkDeferredOperationKHR deferred_op) { |
| 1849 | // ALL parameters need to survive until deferred operation is completed |
| 1850 | // In our case, it means both info and handle need to be kept alive |
| 1851 | // => cannot use NON_DISPATCHABLE_HANDLE_INIT because used handle is a temporary |
| 1852 | const VkResult result = vk::CreateRayTracingPipelinesKHR(dev, deferred_op, VK_NULL_HANDLE, 1, &info, nullptr, &handle()); |
| 1853 | ASSERT_TRUE(result == VK_OPERATION_DEFERRED_KHR || result == VK_OPERATION_NOT_DEFERRED_KHR || result == VK_SUCCESS); |
| 1854 | NonDispHandle::SetDevice(dev); |
| 1855 | } |
| 1856 | |
| 1857 | void Pipeline::Init(const Device& dev, const VkDataGraphPipelineCreateInfoARM& info) { |
| 1858 | NON_DISPATCHABLE_HANDLE_INIT(vk::CreateDataGraphPipelinesARM, dev, VK_NULL_HANDLE, VK_NULL_HANDLE, 1, &info); |
no test coverage detected