diff --git a/src/Magnum/Vk/DescriptorSetLayoutCreateInfo.h b/src/Magnum/Vk/DescriptorSetLayoutCreateInfo.h index dcb62bfb2..b1193db43 100644 --- a/src/Magnum/Vk/DescriptorSetLayoutCreateInfo.h +++ b/src/Magnum/Vk/DescriptorSetLayoutCreateInfo.h @@ -405,8 +405,7 @@ class MAGNUM_VK_EXPORT DescriptorSetLayoutCreateInfo { * pre-filled in addition to `sType`, everything else is zero-filled: * * - `flags` - * - `bindingCount` to @cpp bindings.size() @ce - * - `pBindings` to a copy of @p bindings + * - `bindingCount` and `pBindings` to a copy of @p bindings * * If any of the @p bindings has @ref DescriptorSetLayoutBinding::flags() * non-empty, a @type_vk{DescriptorSetLayoutBindingFlagsCreateInfo} diff --git a/src/Magnum/Vk/DeviceCreateInfo.h b/src/Magnum/Vk/DeviceCreateInfo.h index 6a73d3a73..f204c13ac 100644 --- a/src/Magnum/Vk/DeviceCreateInfo.h +++ b/src/Magnum/Vk/DeviceCreateInfo.h @@ -175,9 +175,6 @@ class MAGNUM_VK_EXPORT DeviceCreateInfo { * All listed extensions are expected to be supported either globally * or in at least one of the enabled layers, use * @ref ExtensionProperties::isSupported() to check for their presence. - * The function makes copies of string views that are not global or - * null-terminated, use the @link Containers::Literals::operator""_s() @endlink - * literal to prevent that where possible. * * The following @type_vk{DeviceCreateInfo} fields are set by this * function: @@ -186,7 +183,12 @@ class MAGNUM_VK_EXPORT DeviceCreateInfo { * previously by this function plus @cpp extensions.size() @ce * - `pEnabledExtensionNames` to an array containing all extension * strings added previously by this function together with ones - * from @p extensions + * from @p extensions (doing a copy where needed) + * + * @note The function makes copies of string views that are not global + * or null-terminated, use the + * @link Containers::Literals::operator""_s() @endlink + * literal to prevent that where possible. */ DeviceCreateInfo& addEnabledExtensions(Containers::ArrayView extensions) &; /** @overload */ diff --git a/src/Magnum/Vk/FramebufferCreateInfo.h b/src/Magnum/Vk/FramebufferCreateInfo.h index d5dcab5be..a78fc2035 100644 --- a/src/Magnum/Vk/FramebufferCreateInfo.h +++ b/src/Magnum/Vk/FramebufferCreateInfo.h @@ -91,7 +91,8 @@ class MAGNUM_VK_EXPORT FramebufferCreateInfo { * * - `flags` * - `renderPass` - * - `attachmentCount` and `pAttachments` to @p attachments + * - `attachmentCount` and `pAttachments` to a copy of + * @p attachments * - `width`, `height` and `layers` to @p size */ explicit FramebufferCreateInfo(VkRenderPass renderPass, Containers::ArrayView> attachments, const Vector3i& size, Flags flags = {}); diff --git a/src/Magnum/Vk/InstanceCreateInfo.h b/src/Magnum/Vk/InstanceCreateInfo.h index 08b6b17d0..6c92056ea 100644 --- a/src/Magnum/Vk/InstanceCreateInfo.h +++ b/src/Magnum/Vk/InstanceCreateInfo.h @@ -156,16 +156,18 @@ class MAGNUM_VK_EXPORT InstanceCreateInfo { * Use the @ref version() helper to create the @p version value. The * name is @cpp nullptr @ce by default. * - * The function makes copies of string views that are not global or - * null-terminated, use the @link Containers::Literals::operator""_s() @endlink - * literal to prevent that where possible. - * * The following @type_vk{InstanceCreateInfo} fields are set by this * function: * * - `pApplicationInfo` - * - @cpp pApplicationInfo->pApplicationName @ce to @p name + * - @cpp pApplicationInfo->pApplicationName @ce to @p name (a copy + * of it, if needed) * - @cpp pApplicationInfo->applicationVersion @ce to @p version + * + * @note The function makes copies of string views that are not global + * or null-terminated, use the + * @link Containers::Literals::operator""_s() @endlink literal to + * prevent that where possible. */ InstanceCreateInfo& setApplicationInfo(Containers::StringView name, Version version); @@ -179,10 +181,6 @@ class MAGNUM_VK_EXPORT InstanceCreateInfo { * @ref Vk-Instance-command-line "command-line options", it's not * added. * - * The function makes copies of string views that are not global or - * null-terminated, use the @link Containers::Literals::operator""_s() @endlink - * literal to prevent that where possible. - * * The following @type_vk{InstanceCreateInfo} fields are set by this * function: * @@ -190,7 +188,12 @@ class MAGNUM_VK_EXPORT InstanceCreateInfo { * this function plus @cpp layers.size() @ce * - `pEnabledLayerNames` to an array containing all layer strings * added previously by this function together with ones from - * @p layers + * @p layers (doing a copy where needed) + * + * @note The function makes copies of string views that are not global + * or null-terminated, use the + * @link Containers::Literals::operator""_s() @endlink literal to + * prevent that where possible. */ InstanceCreateInfo& addEnabledLayers(Containers::ArrayView layers); /** @overload */ @@ -208,10 +211,6 @@ class MAGNUM_VK_EXPORT InstanceCreateInfo { * @ref Vk-Instance-command-line "command-line options", it's not * added. * - * The function makes copies of string views that are not global or - * null-terminated, use the @link Containers::Literals::operator""_s() @endlink - * literal to prevent that where possible. - * * The following @type_vk{InstanceCreateInfo} fields are set by this * function: * @@ -219,7 +218,12 @@ class MAGNUM_VK_EXPORT InstanceCreateInfo { * previously by this function plus @cpp extensions.size() @ce * - `pEnabledExtensionNames` to an array containing all extension * strings added previously by this function together with ones - * from @p extensions + * from @p extensions (doing a copy where needed) + * + * @note The function makes copies of string views that are not global + * or null-terminated, use the + * @link Containers::Literals::operator""_s() @endlink literal to + * prevent that where possible. */ InstanceCreateInfo& addEnabledExtensions(Containers::ArrayView extensions); /** @overload */ diff --git a/src/Magnum/Vk/RasterizationPipelineCreateInfo.h b/src/Magnum/Vk/RasterizationPipelineCreateInfo.h index 0052641be..fd4d8c3cb 100644 --- a/src/Magnum/Vk/RasterizationPipelineCreateInfo.h +++ b/src/Magnum/Vk/RasterizationPipelineCreateInfo.h @@ -360,10 +360,6 @@ class MAGNUM_VK_EXPORT RasterizationPipelineCreateInfo { * @p subpass uses * @param flags Rasterization pipeline creation flags * - * Note that the @p shaderSet and @p meshLayout structure internals are - * referenced, not copied, and thus have to stay in scope until the - * @ref Pipeline object is created. - * * The following @type_vk{GraphicsPipelineCreateInfo} and substructure * fields are pre-filled in addition to `sType` of all referenced * structures, everything else is zero-filled: @@ -394,6 +390,10 @@ class MAGNUM_VK_EXPORT RasterizationPipelineCreateInfo { * - `renderPass` * - `subpass` * + * @attention Note that the @p shaderSet and @p meshLayout structure + * internals are referenced, not copied, and thus have to stay in + * scope until the @ref Pipeline object is created. + * * You need to call at least @ref setViewport() or specifying * @ref DynamicRasterizationState::Viewport in * @ref setDynamicStates() for a valid setup. diff --git a/src/Magnum/Vk/RenderPassCreateInfo.h b/src/Magnum/Vk/RenderPassCreateInfo.h index 32df3f362..9578eccd8 100644 --- a/src/Magnum/Vk/RenderPassCreateInfo.h +++ b/src/Magnum/Vk/RenderPassCreateInfo.h @@ -570,8 +570,8 @@ class MAGNUM_VK_EXPORT SubpassDescription { * The following @type_vk{SubpassDescription2} fields are set by this * function: * - * - `inputAttachmentCount` to @cpp attachments.size() @ce - * - `pInputAttachments` to a copy of @p attachments + * - `inputAttachmentCount` and `pInputAttachments` to a copy of + * @p attachments */ SubpassDescription& setInputAttachments(Containers::ArrayView attachments) &; /** @overload */ @@ -601,8 +601,8 @@ class MAGNUM_VK_EXPORT SubpassDescription { * The following @type_vk{SubpassDescription2} fields are set by this * function: * - * - `colorAttachmentCount` to @cpp attachments.size() @ce - * - `pColorAttachments` to a copy of @p attachments + * - `colorAttachmentCount` and `pColorAttachments` to a copy of + * @p attachments * - `pResolveAttachments` to a copy of @p resolveAttachments, if * the parameter is non-empty */ @@ -654,7 +654,8 @@ class MAGNUM_VK_EXPORT SubpassDescription { * The following @type_vk{SubpassDescription2} fields are set by this * function: * - * - `pPreserveAttachments` to a copy of @p attachments + * - `preserveAttachmentCount` and `pPreserveAttachments` to a copy + * of @p attachments */ SubpassDescription& setPreserveAttachments(Containers::ArrayView attachments) &; /** @overload */ @@ -994,8 +995,8 @@ class MAGNUM_VK_EXPORT RenderPassCreateInfo { * The following @type_vk{RenderPassCreateInfo2} fields are set by this * function: * - * - `attachmentCount` to @cpp attachments.size() @ce - * - `pAttachments` to a copy of @p attachments + * - `attachmentCount` and `pAttachments` to a copy of + * @p attachments */ RenderPassCreateInfo& setAttachments(Containers::ArrayView attachments); /** @overload */ @@ -1037,8 +1038,8 @@ class MAGNUM_VK_EXPORT RenderPassCreateInfo { * The following @type_vk{RenderPassCreateInfo2} fields are set by this * function: * - * - `dependencyCount` to @cpp dependencies.size() @ce - * - `pDependencies` to a copy of @p dependencies + * - `dependencyCount` and `pDependencies` to a copy of + * @p dependencies */ RenderPassCreateInfo& setDependencies(Containers::ArrayView dependencies); /** @overload */