@@ -41,39 +41,76 @@ namespace FCT {
4141 videoEncodeQuantizationMapKHR
4242 };
4343#ifdef FCT_USE_VULKAN
44- FCT_TO_VK_ENUM_BEGIN (ImageLayout)
45- FCT_TO_VK_ENUM_CASE(ImageLayout, undefined, Undefined)
46- FCT_TO_VK_ENUM_CASE(ImageLayout, general, General)
47- FCT_TO_VK_ENUM_CASE(ImageLayout, colorAttachmentOptimal, ColorAttachmentOptimal)
48- FCT_TO_VK_ENUM_CASE(ImageLayout, depthStencilAttachmentOptimal, DepthStencilAttachmentOptimal)
49- FCT_TO_VK_ENUM_CASE(ImageLayout, depthStencilReadOnlyOptimal, DepthStencilReadOnlyOptimal)
50- FCT_TO_VK_ENUM_CASE(ImageLayout, shaderReadOnlyOptimal, ShaderReadOnlyOptimal)
51- FCT_TO_VK_ENUM_CASE(ImageLayout, transferSrcOptimal, TransferSrcOptimal)
52- FCT_TO_VK_ENUM_CASE(ImageLayout, transferDstOptimal, TransferDstOptimal)
53- FCT_TO_VK_ENUM_CASE(ImageLayout, preinitialized, Preinitialized)
54- FCT_TO_VK_ENUM_CASE(ImageLayout, depthReadOnlyStencilAttachmentOptimal, DepthReadOnlyStencilAttachmentOptimal)
55- FCT_TO_VK_ENUM_CASE(ImageLayout, depthAttachmentStencilReadOnlyOptimal, DepthAttachmentStencilReadOnlyOptimal)
56- FCT_TO_VK_ENUM_CASE(ImageLayout, depthAttachmentOptimal, DepthAttachmentOptimal)
57- FCT_TO_VK_ENUM_CASE(ImageLayout, depthReadOnlyOptimal, DepthReadOnlyOptimal)
58- FCT_TO_VK_ENUM_CASE(ImageLayout, stencilAttachmentOptimal, StencilAttachmentOptimal)
59- FCT_TO_VK_ENUM_CASE(ImageLayout, stencilReadOnlyOptimal, StencilReadOnlyOptimal)
60- FCT_TO_VK_ENUM_CASE(ImageLayout, readOnlyOptimal, ReadOnlyOptimal)
61- FCT_TO_VK_ENUM_CASE(ImageLayout, attachmentOptimal, AttachmentOptimal)
62- FCT_TO_VK_ENUM_CASE(ImageLayout, renderingLocalRead, RenderingLocalRead)
63- FCT_TO_VK_ENUM_CASE(ImageLayout, presentSrcKHR, PresentSrcKHR)
64- FCT_TO_VK_ENUM_CASE(ImageLayout, videoDecodeDstKHR, VideoDecodeDstKHR)
65- FCT_TO_VK_ENUM_CASE(ImageLayout, videoDecodeSrcKHR, VideoDecodeSrcKHR)
66- FCT_TO_VK_ENUM_CASE(ImageLayout, videoDecodeDpbKHR, VideoDecodeDpbKHR)
67- FCT_TO_VK_ENUM_CASE(ImageLayout, sharedPresentKHR, SharedPresentKHR)
68- FCT_TO_VK_ENUM_CASE(ImageLayout, fragmentDensityMapOptimalEXT, FragmentDensityMapOptimalEXT)
69- FCT_TO_VK_ENUM_CASE(ImageLayout, fragmentShadingRateAttachmentOptimalKHR, FragmentShadingRateAttachmentOptimalKHR)
70- FCT_TO_VK_ENUM_CASE(ImageLayout, shadingRateOptimalNV, ShadingRateOptimalNV)
71- FCT_TO_VK_ENUM_CASE(ImageLayout, videoEncodeDstKHR, VideoEncodeDstKHR)
72- FCT_TO_VK_ENUM_CASE(ImageLayout, videoEncodeSrcKHR, VideoEncodeSrcKHR)
73- FCT_TO_VK_ENUM_CASE(ImageLayout, videoEncodeDpbKHR, VideoEncodeDpbKHR)
74- FCT_TO_VK_ENUM_CASE(ImageLayout, attachmentFeedbackLoopOptimalEXT, AttachmentFeedbackLoopOptimalEXT)
75- FCT_TO_VK_ENUM_CASE(ImageLayout, videoEncodeQuantizationMapKHR, VideoEncodeQuantizationMapKHR)
76- FCT_TO_VK_ENUM_END(ImageLayout)
44+ inline vk::ImageLayout ToVkImageLayout (ImageLayout e)
45+ {
46+ switch (e)
47+ {
48+ case ImageLayout::undefined:
49+ return vk::ImageLayout::eUndefined;
50+ case ImageLayout::general:
51+ return vk::ImageLayout::eGeneral;
52+ case ImageLayout::colorAttachmentOptimal:
53+ return vk::ImageLayout::eColorAttachmentOptimal;
54+ case ImageLayout::depthStencilAttachmentOptimal:
55+ return vk::ImageLayout::eDepthStencilAttachmentOptimal;
56+ case ImageLayout::depthStencilReadOnlyOptimal:
57+ return vk::ImageLayout::eDepthStencilReadOnlyOptimal;
58+ case ImageLayout::shaderReadOnlyOptimal:
59+ return vk::ImageLayout::eShaderReadOnlyOptimal;
60+ case ImageLayout::transferSrcOptimal:
61+ return vk::ImageLayout::eTransferSrcOptimal;
62+ case ImageLayout::transferDstOptimal:
63+ return vk::ImageLayout::eTransferDstOptimal;
64+ case ImageLayout::preinitialized:
65+ return vk::ImageLayout::ePreinitialized;
66+ case ImageLayout::depthReadOnlyStencilAttachmentOptimal:
67+ return vk::ImageLayout::eDepthReadOnlyStencilAttachmentOptimal;
68+ case ImageLayout::depthAttachmentStencilReadOnlyOptimal:
69+ return vk::ImageLayout::eDepthAttachmentStencilReadOnlyOptimal;
70+ case ImageLayout::depthAttachmentOptimal:
71+ return vk::ImageLayout::eDepthAttachmentOptimal;
72+ case ImageLayout::depthReadOnlyOptimal:
73+ return vk::ImageLayout::eDepthReadOnlyOptimal;
74+ case ImageLayout::stencilAttachmentOptimal:
75+ return vk::ImageLayout::eStencilAttachmentOptimal;
76+ case ImageLayout::stencilReadOnlyOptimal:
77+ return vk::ImageLayout::eStencilReadOnlyOptimal;
78+ case ImageLayout::readOnlyOptimal:
79+ return vk::ImageLayout::eReadOnlyOptimal;
80+ case ImageLayout::attachmentOptimal:
81+ return vk::ImageLayout::eAttachmentOptimal;
82+ case ImageLayout::renderingLocalRead:
83+ return vk::ImageLayout::eRenderingLocalRead;
84+ case ImageLayout::presentSrcKHR:
85+ return vk::ImageLayout::ePresentSrcKHR;
86+ case ImageLayout::videoDecodeDstKHR:
87+ return vk::ImageLayout::eVideoDecodeDstKHR;
88+ case ImageLayout::videoDecodeSrcKHR:
89+ return vk::ImageLayout::eVideoDecodeSrcKHR;
90+ case ImageLayout::videoDecodeDpbKHR:
91+ return vk::ImageLayout::eVideoDecodeDpbKHR;
92+ case ImageLayout::sharedPresentKHR:
93+ return vk::ImageLayout::eSharedPresentKHR;
94+ case ImageLayout::fragmentDensityMapOptimalEXT:
95+ return vk::ImageLayout::eFragmentDensityMapOptimalEXT;
96+ case ImageLayout::fragmentShadingRateAttachmentOptimalKHR:
97+ return vk::ImageLayout::eFragmentShadingRateAttachmentOptimalKHR;
98+ case ImageLayout::shadingRateOptimalNV:
99+ return vk::ImageLayout::eShadingRateOptimalNV;
100+ case ImageLayout::videoEncodeDstKHR:
101+ return vk::ImageLayout::eVideoEncodeDstKHR;
102+ case ImageLayout::videoEncodeSrcKHR:
103+ return vk::ImageLayout::eVideoEncodeSrcKHR;
104+ case ImageLayout::videoEncodeDpbKHR:
105+ return vk::ImageLayout::eVideoEncodeDpbKHR;
106+ case ImageLayout::attachmentFeedbackLoopOptimalEXT:
107+ return vk::ImageLayout::eAttachmentFeedbackLoopOptimalEXT;
108+ case ImageLayout::videoEncodeQuantizationMapKHR:
109+ return vk::ImageLayout::eVideoEncodeQuantizationMapKHR;
110+ default :
111+ return vk::ImageLayout (0 );
112+ }
113+ }
77114#endif
78115}
79116#endif // IMAGELAYOUT_H
0 commit comments