Vulkan: Fix linking problem

Former-commit-id: 8f4df471a2745a32e6b131a4bd83345bdb9b304e [formerly 479e6489039b511b08a63535845293a84460ed87]
Former-commit-id: 064509430d76e54466709c3288db9443956759c9
This commit is contained in:
Lynix 2016-07-04 18:14:40 +02:00
parent 8bc7998b46
commit 4ff36108b2
4 changed files with 29 additions and 9 deletions

View File

@ -15,13 +15,14 @@ namespace Nz
{
namespace Vk
{
class NAZARA_VULKAN_API CommandBuffer
class CommandBuffer
{
friend CommandPool;
public:
inline CommandBuffer();
CommandBuffer(const CommandBuffer&) = delete;
CommandBuffer(CommandBuffer&& commandBuffer);
inline CommandBuffer(CommandBuffer&& commandBuffer);
inline ~CommandBuffer();
inline bool Begin(const VkCommandBufferBeginInfo& info);
@ -37,9 +38,9 @@ namespace Nz
inline VkResult GetLastErrorCode() const;
CommandBuffer& operator=(const CommandBuffer&) = delete;
CommandBuffer& operator=(CommandBuffer&&) = delete;
CommandBuffer& operator=(CommandBuffer&& commandBuffer);
inline operator VkCommandBuffer();
inline operator VkCommandBuffer() const;
private:
inline CommandBuffer(CommandPool& pool, VkCommandBuffer handle);

View File

@ -11,6 +11,12 @@ namespace Nz
{
namespace Vk
{
inline CommandBuffer::CommandBuffer() :
m_pool(),
m_handle(VK_NULL_HANDLE)
{
}
inline CommandBuffer::CommandBuffer(CommandPool& pool, VkCommandBuffer handle) :
m_pool(&pool),
m_handle(handle)
@ -140,7 +146,20 @@ namespace Nz
return m_lastErrorCode;
}
inline CommandBuffer::operator VkCommandBuffer()
inline CommandBuffer& CommandBuffer::operator=(CommandBuffer&& commandBuffer)
{
m_allocator = commandBuffer.m_allocator;
m_handle = commandBuffer.m_handle;
m_lastErrorCode = commandBuffer.m_lastErrorCode;
m_pool = std::move(commandBuffer.m_pool);
m_handle = commandBuffer.m_handle;
commandBuffer.m_handle = VK_NULL_HANDLE;
return *this;
}
inline CommandBuffer::operator VkCommandBuffer() const
{
return m_handle;
}

View File

@ -31,8 +31,8 @@ namespace Nz
Semaphore& operator=(Semaphore&&) = delete;
private:
static VkResult CreateHelper(const DeviceHandle& device, const VkSemaphoreCreateInfo* createInfo, const VkAllocationCallbacks* allocator, VkSemaphore* handle);
static void DestroyHelper(const DeviceHandle& device, VkSemaphore handle, const VkAllocationCallbacks* allocator);
static inline VkResult CreateHelper(const DeviceHandle& device, const VkSemaphoreCreateInfo* createInfo, const VkAllocationCallbacks* allocator, VkSemaphore* handle);
static inline void DestroyHelper(const DeviceHandle& device, VkSemaphore handle, const VkAllocationCallbacks* allocator);
};
}
}

View File

@ -21,12 +21,12 @@ namespace Nz
return Create(device, createInfo, allocator);
}
VkResult Semaphore::CreateHelper(const DeviceHandle& device, const VkSemaphoreCreateInfo* createInfo, const VkAllocationCallbacks* allocator, VkSemaphore* handle)
inline VkResult Semaphore::CreateHelper(const DeviceHandle& device, const VkSemaphoreCreateInfo* createInfo, const VkAllocationCallbacks* allocator, VkSemaphore* handle)
{
return device->vkCreateSemaphore(*device, createInfo, allocator, handle);
}
void Semaphore::DestroyHelper(const DeviceHandle& device, VkSemaphore handle, const VkAllocationCallbacks* allocator)
inline void Semaphore::DestroyHelper(const DeviceHandle& device, VkSemaphore handle, const VkAllocationCallbacks* allocator)
{
return device->vkDestroySemaphore(*device, handle, allocator);
}