{-# language CPP #-} -- | = Name -- -- VK_EXT_load_store_op_none - device extension -- -- = VK_EXT_load_store_op_none -- -- [__Name String__] -- @VK_EXT_load_store_op_none@ -- -- [__Extension Type__] -- Device extension -- -- [__Registered Extension Number__] -- 401 -- -- [__Revision__] -- 1 -- -- [__Ratification Status__] -- Ratified -- -- [__Extension and Version Dependencies__] -- None -- -- [__Deprecation State__] -- -- - /Promoted/ to -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_load_store_op_none VK_KHR_load_store_op_none> -- extension -- -- - Which in turn was /promoted/ to -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.4-promotions Vulkan 1.4> -- -- [__Contact__] -- -- - Shahbaz Youssefi -- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_load_store_op_none] @syoussefi%0A*Here describe the issue or question you have about the VK_EXT_load_store_op_none extension* > -- -- == Other Extension Metadata -- -- [__Last Modified Date__] -- 2021-06-06 -- -- [__Contributors__] -- -- - Shahbaz Youssefi, Google -- -- - Bill Licea-Kane, Qualcomm Technologies, Inc. -- -- - Tobias Hector, AMD -- -- == Description -- -- This extension incorporates 'ATTACHMENT_STORE_OP_NONE_EXT' from -- @VK_QCOM_render_pass_store_ops@, enabling applications to avoid -- unnecessary synchronization when an attachment is not written during a -- render pass. -- -- Additionally, 'ATTACHMENT_LOAD_OP_NONE_EXT' is introduced to avoid -- unnecessary synchronization when an attachment is not used during a -- render pass at all. In combination with 'ATTACHMENT_STORE_OP_NONE_EXT', -- this is useful as an alternative to preserve attachments in applications -- that cannot decide if an attachment will be used in a render pass until -- after the necessary pipelines have been created. -- -- == Promotion to @VK_KHR_load_store_op_none@ -- -- All functionality in this extension is included in -- @VK_KHR_load_store_op_none@, with the suffix changed to KHR. The -- original enum names are still available as aliases of the KHR -- functionality. -- -- == New Enum Constants -- -- - 'EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME' -- -- - 'EXT_LOAD_STORE_OP_NONE_SPEC_VERSION' -- -- - Extending 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp': -- -- - 'ATTACHMENT_LOAD_OP_NONE_EXT' -- -- - Extending 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp': -- -- - 'ATTACHMENT_STORE_OP_NONE_EXT' -- -- While 'Vulkan.Core10.Enums.AttachmentStoreOp.ATTACHMENT_STORE_OP_NONE' -- is part of Vulkan 1.3, this extension was not promoted to core either in -- whole or in part. This functionality was promoted from -- @VK_KHR_dynamic_rendering@. -- -- == Version History -- -- - Revision 1, 2021-06-06 (Shahbaz Youssefi) -- -- - Initial revision, based on VK_QCOM_render_pass_store_ops. -- -- - Added VK_ATTACHMENT_LOAD_OP_NONE_EXT. -- -- == See Also -- -- No cross-references are available -- -- == Document Notes -- -- For more information, see the -- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VK_EXT_load_store_op_none Vulkan Specification>. -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly. module Vulkan.Extensions.VK_EXT_load_store_op_none ( pattern ATTACHMENT_LOAD_OP_NONE_EXT , pattern ATTACHMENT_STORE_OP_NONE_EXT , EXT_LOAD_STORE_OP_NONE_SPEC_VERSION , pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION , EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME , pattern EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME ) where import Data.String (IsString) import Vulkan.Core10.Enums.AttachmentLoadOp (AttachmentLoadOp(ATTACHMENT_LOAD_OP_NONE)) import Vulkan.Core10.Enums.AttachmentStoreOp (AttachmentStoreOp(ATTACHMENT_STORE_OP_NONE)) -- No documentation found for TopLevel "VK_ATTACHMENT_LOAD_OP_NONE_EXT" pattern $mATTACHMENT_LOAD_OP_NONE_EXT :: forall {r}. AttachmentLoadOp -> ((# #) -> r) -> ((# #) -> r) -> r $bATTACHMENT_LOAD_OP_NONE_EXT :: AttachmentLoadOp ATTACHMENT_LOAD_OP_NONE_EXT = ATTACHMENT_LOAD_OP_NONE -- No documentation found for TopLevel "VK_ATTACHMENT_STORE_OP_NONE_EXT" pattern $mATTACHMENT_STORE_OP_NONE_EXT :: forall {r}. AttachmentStoreOp -> ((# #) -> r) -> ((# #) -> r) -> r $bATTACHMENT_STORE_OP_NONE_EXT :: AttachmentStoreOp ATTACHMENT_STORE_OP_NONE_EXT = ATTACHMENT_STORE_OP_NONE type EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 -- No documentation found for TopLevel "VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION" pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: forall a . Integral a => a pattern $mEXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: forall {r} {a}. Integral a => a -> ((# #) -> r) -> ((# #) -> r) -> r $bEXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: forall a. Integral a => a EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 type EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" -- No documentation found for TopLevel "VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME" pattern EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a pattern $mEXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: forall {r} {a}. (Eq a, IsString a) => a -> ((# #) -> r) -> ((# #) -> r) -> r $bEXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none"