zengine/engine/modules/render/vulkan/include/vkn/vulkan_api_help.h

30 lines
1.4 KiB
C++

#include "type.h"
namespace vkn {
using api::TextureUsage;
using api::ResourceState;
using api::TextureBarrier;
using api::ShaderDescriptorType;
using api::ShaderStage;
struct VkTextureTransitionDesc {
VkAccessFlags srcAccessMask;
VkAccessFlags dstAccessMask;
VkPipelineStageFlags srcStage;
VkPipelineStageFlags dstStage;
VkImageLayout mSrcState;
VkImageLayout mDstState;
};
VkImageLayout vkApiGetAttachmentLayout(VkFormat format, bool includeStencilBit);
VkImageLayout vkApiGetImageLayout(ResourceState layout);
VkImageMemoryBarrier vkApiGetTextureTransition(VkPipelineStageFlags& mSrcStage, VkPipelineStageFlags& mDstStage, const TextureBarrier& barrier);
VkImageAspectFlags vkApiGetImageAspectMask(VkFormat format, bool includeStencilBit);
VkImageUsageFlags vkApiGetImageUsageFlags(TextureUsage usage);
VkImageViewType vkApiGetImageViewType(TextureDimension dimension, uint32_t arraySize);
VkImageType vkApiGetImageType(TextureDimension dimension);
VkImageCreateFlags vkApiGetImageCreateFlag(TextureDimension dimension, uint32_t arraySize);
VkSampleCountFlagBits vkApiGetSmpleCountFlag(SampleCount sample);
VkDescriptorType vkApiGetDescriptorType(ShaderDescriptorType type);
VkShaderStageFlags vkApiGetShaderStageFlags(ShaderStage stage);
VkBufferUsageFlagBits vkApiGetBufferUsage(BufferUsage usage);
VkSamplerCreateInfo vkApiGetSamplerCreateInfo(TextureSampler sampler);
}