Implementing refptr up and downcasts
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
#pragma once
|
||||
#include "Graphics/GraphicsEnums.h"
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
#define VK_CHECK(f) \
|
||||
{ \
|
||||
VkResult res = (f); \
|
||||
if (res != VK_SUCCESS) \
|
||||
{ \
|
||||
std::cout << "Fatal : VkResult is \"" << res << "\" in " << __FILE__ << " at line " << __LINE__ << std::endl; \
|
||||
assert(res == VK_SUCCESS); \
|
||||
} \
|
||||
}
|
||||
|
||||
namespace Seele
|
||||
{
|
||||
VkDescriptorType cast(const SeDescriptorType& descriptorType)
|
||||
{
|
||||
switch (descriptorType)
|
||||
{
|
||||
case SE_DESCRIPTOR_TYPE_SAMPLER:
|
||||
return VK_DESCRIPTOR_TYPE_SAMPLER;
|
||||
case SE_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
|
||||
return VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
|
||||
case SE_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
|
||||
return VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
|
||||
case SE_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
||||
return VK_DESCRIPTOR_TYPE_STORAGE_IMAGE;
|
||||
case SE_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
|
||||
return VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
|
||||
case SE_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
||||
return VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
|
||||
case SE_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
|
||||
return VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
|
||||
case SE_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
||||
return VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
|
||||
case SE_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
|
||||
return VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
|
||||
case SE_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
||||
return VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
||||
case SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
||||
return VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
||||
case SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||
return VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
||||
case SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
||||
return VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
SeDescriptorType cast(const VkDescriptorType& descriptorType)
|
||||
{
|
||||
switch (descriptorType)
|
||||
{
|
||||
|
||||
case VK_DESCRIPTOR_TYPE_SAMPLER:
|
||||
return SE_DESCRIPTOR_TYPE_SAMPLER;
|
||||
case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
|
||||
return SE_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
|
||||
case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
|
||||
return SE_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
||||
return SE_DESCRIPTOR_TYPE_STORAGE_IMAGE;
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
|
||||
return SE_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
||||
return SE_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER;
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
|
||||
return SE_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
||||
return SE_DESCRIPTOR_TYPE_STORAGE_BUFFER;
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
|
||||
return SE_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
||||
return SE_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
||||
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
||||
return SE_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||
return SE_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
||||
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
||||
return SE_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user