From 495c1d9a7f8812237d54fa358ae7dc642150008c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 30 Dec 2020 22:59:34 +0100 Subject: [PATCH] Vk: doc++ --- src/Magnum/Vk/Image.h | 5 +++-- src/Magnum/Vk/ImageCreateInfo.h | 3 ++- src/Magnum/Vk/ImageViewCreateInfo.h | 23 ++++++++--------------- src/Magnum/Vk/RenderPass.h | 5 +++++ src/Magnum/Vk/Vk.h | 3 +++ 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/Magnum/Vk/Image.h b/src/Magnum/Vk/Image.h index 2821589d1..2357bb8f6 100644 --- a/src/Magnum/Vk/Image.h +++ b/src/Magnum/Vk/Image.h @@ -192,7 +192,8 @@ class MAGNUM_VK_EXPORT Image { * @brief Wrap existing Vulkan handle * @param device Vulkan device the image is created on * @param handle The @type_vk{Image} handle - * @param format Image format + * @param format Image format. Available through + * @ref format() afterwards. * @param flags Handle flags * * The @p handle is expected to be originating from @p device. The @@ -349,7 +350,7 @@ class MAGNUM_VK_EXPORT Image { VkImage _handle; HandleFlags _flags; - /* On 64-bit there would be a 7 byte padding after _flags otherwise, we + /* On 64-bit there would be a 7 byte padding after _flags anyway, we can use that to store information about image format for convenient view creation. On 32-bit it won't fit, but the extra memory use is still worth the advantages. diff --git a/src/Magnum/Vk/ImageCreateInfo.h b/src/Magnum/Vk/ImageCreateInfo.h index eda2a2341..3705851cc 100644 --- a/src/Magnum/Vk/ImageCreateInfo.h +++ b/src/Magnum/Vk/ImageCreateInfo.h @@ -163,7 +163,8 @@ class MAGNUM_VK_EXPORT ImageCreateInfo { * @param type Image type * @param usages Desired image usage. At least one flag is * required. - * @param format Image format + * @param format Image format. Available through + * @ref Image::format() afterwards. * @param size Image size * @param layers Array layer count * @param levels Mip level count diff --git a/src/Magnum/Vk/ImageViewCreateInfo.h b/src/Magnum/Vk/ImageViewCreateInfo.h index e494d1e19..ed6a4db80 100644 --- a/src/Magnum/Vk/ImageViewCreateInfo.h +++ b/src/Magnum/Vk/ImageViewCreateInfo.h @@ -118,7 +118,7 @@ class MAGNUM_VK_EXPORT ImageViewCreateInfo { * @brief Construct with format matching given image * * Compared to @ref ImageViewCreateInfo(VkImageViewType, VkImage, VkFormat, UnsignedInt, UnsignedInt, UnsignedInt, UnsignedInt, Flags) - * the @p format is taken from the passed @ref Image instance. + * the @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfo(VkImageViewType type, Image& image, UnsignedInt layerOffset = 0, UnsignedInt layerCount = VK_REMAINING_ARRAY_LAYERS, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}); @@ -173,8 +173,7 @@ class ImageViewCreateInfo1D: public ImageViewCreateInfo { /** @overload * - * Compared to the above, @p format is taken from the passed @ref Image - * instance. + * Compared to the above, @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfo1D(Image& image, UnsignedInt layerOffset = 0, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}): ImageViewCreateInfo{VK_IMAGE_VIEW_TYPE_1D, image, layerOffset, 1, levelOffset, levelCount, flags} {} }; @@ -200,8 +199,7 @@ class ImageViewCreateInfo2D: public ImageViewCreateInfo { /** @overload * - * Compared to the above, @p format is taken from the passed @ref Image - * instance. + * Compared to the above, @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfo2D(Image& image, UnsignedInt layerOffset = 0, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}): ImageViewCreateInfo{VK_IMAGE_VIEW_TYPE_2D, image, layerOffset, 1, levelOffset, levelCount, flags} {} }; @@ -222,8 +220,7 @@ class ImageViewCreateInfo3D: public ImageViewCreateInfo { /** @overload * - * Compared to the above, @p format is taken from the passed @ref Image - * instance. + * Compared to the above, @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfo3D(Image& image, UnsignedInt layerOffset = 0, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}): ImageViewCreateInfo{VK_IMAGE_VIEW_TYPE_3D, image, layerOffset, 1, levelOffset, levelCount, flags} {} }; @@ -245,8 +242,7 @@ class ImageViewCreateInfo1DArray: public ImageViewCreateInfo { /** @overload * - * Compared to the above, @p format is taken from the passed @ref Image - * instance. + * Compared to the above, @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfo1DArray(Image& image, UnsignedInt layerOffset = 0, UnsignedInt layerCount = VK_REMAINING_ARRAY_LAYERS, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}): ImageViewCreateInfo{VK_IMAGE_VIEW_TYPE_1D_ARRAY, image, layerOffset, layerCount, levelOffset, levelCount, flags} {} }; @@ -272,8 +268,7 @@ class ImageViewCreateInfo2DArray: public ImageViewCreateInfo { /** @overload * - * Compared to the above, @p format is taken from the passed @ref Image - * instance. + * Compared to the above, @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfo2DArray(Image& image, UnsignedInt layerOffset = 0, UnsignedInt layerCount = VK_REMAINING_ARRAY_LAYERS, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}): ImageViewCreateInfo{VK_IMAGE_VIEW_TYPE_2D_ARRAY, image, layerOffset, layerCount, levelOffset, levelCount, flags} {} }; @@ -296,8 +291,7 @@ class ImageViewCreateInfoCubeMap: public ImageViewCreateInfo { /** @overload * - * Compared to the above, @p format is taken from the passed @ref Image - * instance. + * Compared to the above, @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfoCubeMap(Image& image, UnsignedInt layerOffset = 0, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}): ImageViewCreateInfo{VK_IMAGE_VIEW_TYPE_CUBE, image, layerOffset, 6, levelOffset, levelCount, flags} {} }; @@ -321,8 +315,7 @@ class ImageViewCreateInfoCubeMapArray: public ImageViewCreateInfo { /** @overload * - * Compared to the above, @p format is taken from the passed @ref Image - * instance. + * Compared to the above, @p format is taken from @ref Image::format(). */ explicit ImageViewCreateInfoCubeMapArray(Image& image, UnsignedInt layerOffset = 0, UnsignedInt layerCount = VK_REMAINING_ARRAY_LAYERS, UnsignedInt levelOffset = 0, UnsignedInt levelCount = VK_REMAINING_MIP_LEVELS, Flags flags = {}): ImageViewCreateInfo{VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, image, layerOffset, layerCount, levelOffset, levelCount, flags} {} }; diff --git a/src/Magnum/Vk/RenderPass.h b/src/Magnum/Vk/RenderPass.h index d5b34d8ce..1692f3b7a 100644 --- a/src/Magnum/Vk/RenderPass.h +++ b/src/Magnum/Vk/RenderPass.h @@ -112,6 +112,11 @@ class MAGNUM_VK_EXPORT RenderPass { * @param device Vulkan device to create the render pass on * @param info Render pass creation info * + * If Vulkan 1.2 is not supported and the + * @vk_extension{KHR,create_renderpass2} extension is not enabled on + * @p device, only the subset provided by + * @ref RenderPassCreateInfo::vkRenderPassCreateInfo() is used to + * create the render pass. * @see @fn_vk_keyword{CreateRenderPass2}, * @fn_vk_keyword{CreateRenderPass} */ diff --git a/src/Magnum/Vk/Vk.h b/src/Magnum/Vk/Vk.h index 670c598ea..c190c7c12 100644 --- a/src/Magnum/Vk/Vk.h +++ b/src/Magnum/Vk/Vk.h @@ -81,6 +81,9 @@ enum class QueueFlag: UnsignedInt; typedef Containers::EnumSet QueueFlags; class RenderPass; class RenderPassCreateInfo; +/* AttachmentDescription, AttachmentReference, SubpassDescription, + SubpassDependency are useful only to be passed directly to + RenderPassCreateInfo */ enum class Result: Int; class Shader; class ShaderCreateInfo;