2024-09-21 17:19:22 +08:00
|
|
|
#include "type.h"
|
|
|
|
|
namespace vkn {
|
2024-12-19 17:23:52 +08:00
|
|
|
using api::TextureUsage;
|
2024-09-22 20:26:49 +08:00
|
|
|
using api::ResourceState;
|
|
|
|
|
using api::TextureBarrier;
|
2024-11-02 17:55:55 +08:00
|
|
|
using api::ShaderDescriptorType;
|
|
|
|
|
using api::ShaderStage;
|
2024-09-22 20:26:49 +08:00
|
|
|
struct VkTextureTransitionDesc {
|
|
|
|
|
VkAccessFlags srcAccessMask;
|
|
|
|
|
VkAccessFlags dstAccessMask;
|
|
|
|
|
VkPipelineStageFlags srcStage;
|
|
|
|
|
VkPipelineStageFlags dstStage;
|
|
|
|
|
VkImageLayout mSrcState;
|
|
|
|
|
VkImageLayout mDstState;
|
|
|
|
|
};
|
2024-10-21 16:31:02 +08:00
|
|
|
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);
|
2024-12-19 17:23:52 +08:00
|
|
|
VkImageUsageFlags vkApiGetImageUsageFlags(TextureUsage usage);
|
2024-10-21 16:31:02 +08:00
|
|
|
VkImageViewType vkApiGetImageViewType(TextureDimension dimension, uint32_t arraySize);
|
|
|
|
|
VkImageType vkApiGetImageType(TextureDimension dimension);
|
|
|
|
|
VkImageCreateFlags vkApiGetImageCreateFlag(TextureDimension dimension, uint32_t arraySize);
|
|
|
|
|
VkSampleCountFlagBits vkApiGetSmpleCountFlag(SampleCount sample);
|
2024-10-27 22:37:35 +08:00
|
|
|
|
2024-11-02 17:55:55 +08:00
|
|
|
VkDescriptorType vkApiGetDescriptorType(ShaderDescriptorType type);
|
|
|
|
|
VkShaderStageFlags vkApiGetShaderStageFlags(ShaderStage stage);
|
2024-11-08 17:18:23 +08:00
|
|
|
VkBufferUsageFlagBits vkApiGetBufferUsage(BufferUsage usage);
|
2024-09-21 17:19:22 +08:00
|
|
|
}
|