jgbit / vuda

VUDA is a header-only library based on Vulkan that provides a CUDA Runtime API interface for writing GPU-accelerated applications.
MIT License
865 stars 35 forks source link

VUDA doesn't compile on Vulkan 1.2.154.1 and later if vuda::launchKernel is used #21

Closed nicoboss closed 3 years ago

nicoboss commented 3 years ago

CentOS 8: ../../inc/state/kernelprogram.inl:87:18: error: no matching function for call to ‘std::map<std::array<unsigned char, 8>, vk::UniqueHandle<vk::Pipeline, vk::DispatchLoaderStatic>, std::less<std::array<unsigned char, 8> >, std::allocator<std::pair<const std::array<unsigned char, 8>, vk::UniqueHandle<vk::Pipeline, vk::DispatchLoaderStatic> > > >::insert(std::pair<std::array<unsigned char, 8>, vk::ResultValue<vk::UniqueHandle<vk::Pipeline, vk::DispatchLoaderStatic> > >)’ auto ret = m_specializedComputePipelines.insert(std::make_pair(specials.data(), device->createComputePipelineUnique(nullptr, vk::ComputePipelineCreateInfo({}, info, m_pipelineLayout.get()))));

Visual Studio 2019: 'vk::ResultValue<vk::UniqueHandle<vk::Pipeline,vk::DispatchLoaderStatic>>::operator vk::UniqueHandle<vk::Pipeline,vk::DispatchLoaderStatic>': Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue.

jgbit commented 3 years ago

Thank you for finding the issue.