2#include <UnCompute/Backend/KernelBase.h>
3#include <UnCompute/Containers/HeapArray.h>
4#include <UnCompute/Memory/Memory.h>
5#include <UnCompute/VulkanBackend/VulkanInclude.h>
9 class VulkanResourceBinding;
13 VkPipeline m_Pipeline = VK_NULL_HANDLE;
14 VkPipelineCache m_PipelineCache = VK_NULL_HANDLE;
15 VkShaderModule m_ShaderModule = VK_NULL_HANDLE;
27 void Reset()
override;
29 [[nodiscard]]
inline VkPipeline GetNativePipeline()
const
36 return m_pResourceBinding.
Get();
41 *ppKernel = AllocateObject<VulkanKernel>(pDevice);
42 (*ppKernel)->AddRef();
43 return ResultCode::Success;
Interface for all backend-specific compute devices.
Definition: IComputeDevice.h:38
An interface for compute kernel - a program running on the device.
Definition: IKernel.h:29
Definition: KernelBase.h:8
Shared smart pointer implementation that uses reference counting.
Definition: Ptr.h:44
T * Get() const
Get underlying raw pointer.
Definition: Ptr.h:219
Definition: VulkanKernel.h:12
void Reset() override
Reset the object to uninitialized state.
Definition: VulkanKernel.cpp:7
Definition: VulkanResourceBinding.h:8
Kernel descriptor.
Definition: IKernel.h:12