zengine/engine/modules/render/vulkan/include/vkn/vulkan_api_help.h
2024-10-21 16:31:02 +08:00

22 lines
1.1 KiB
C++

#include "type.h"
namespace vkn {
using api::ResourceState;
using api::TextureBarrier;
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(ResourceState startState);
VkImageViewType vkApiGetImageViewType(TextureDimension dimension, uint32_t arraySize);
VkImageType vkApiGetImageType(TextureDimension dimension);
VkImageCreateFlags vkApiGetImageCreateFlag(TextureDimension dimension, uint32_t arraySize);
VkSampleCountFlagBits vkApiGetSmpleCountFlag(SampleCount sample);
}