{-# language CPP #-} module Graphics.Vulkan.Core10.Enums.PipelineCreateFlagBits ( PipelineCreateFlagBits( PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT , PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT , PIPELINE_CREATE_DERIVATIVE_BIT , PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR , PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR , PIPELINE_CREATE_DEFER_COMPILE_BIT_NV , PIPELINE_CREATE_DISPATCH_BASE_BIT , PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT , .. ) , PipelineCreateFlags ) where import GHC.Read (choose) import GHC.Read (expectP) import GHC.Read (parens) import GHC.Show (showParen) import GHC.Show (showString) import Numeric (showHex) import Text.ParserCombinators.ReadPrec ((+++)) import Text.ParserCombinators.ReadPrec (prec) import Text.ParserCombinators.ReadPrec (step) import Data.Bits (Bits) import Foreign.Storable (Storable) import GHC.Read (Read(readPrec)) import Text.Read.Lex (Lexeme(Ident)) import Graphics.Vulkan.Core10.BaseType (Flags) import Graphics.Vulkan.Zero (Zero) -- | VkPipelineCreateFlagBits - Bitmask controlling how a pipeline is created -- -- = Description -- -- It is valid to set both 'PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT' and -- 'PIPELINE_CREATE_DERIVATIVE_BIT'. This allows a pipeline to be both a -- parent and possibly a child in a pipeline hierarchy. See -- -- for more information. -- -- = See Also -- -- 'PipelineCreateFlags' newtype PipelineCreateFlagBits = PipelineCreateFlagBits Flags deriving newtype (Eq, Ord, Storable, Zero, Bits) -- | 'PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT' specifies that the created -- pipeline will not be optimized. Using this flag /may/ reduce the time -- taken to create the pipeline. pattern PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = PipelineCreateFlagBits 0x00000001 -- | 'PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT' specifies that the pipeline to -- be created is allowed to be the parent of a pipeline that will be -- created in a subsequent call to -- 'Graphics.Vulkan.Core10.Pipeline.createGraphicsPipelines' or -- 'Graphics.Vulkan.Core10.Pipeline.createComputePipelines'. pattern PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = PipelineCreateFlagBits 0x00000002 -- | 'PIPELINE_CREATE_DERIVATIVE_BIT' specifies that the pipeline to be -- created will be a child of a previously created parent pipeline. pattern PIPELINE_CREATE_DERIVATIVE_BIT = PipelineCreateFlagBits 0x00000004 -- | 'PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR' specifies -- that the shader compiler should capture the internal representations of -- executables produced by the compile process which /can/ later be -- retrieved by calling -- 'Graphics.Vulkan.Extensions.VK_KHR_pipeline_executable_properties.getPipelineExecutableInternalRepresentationsKHR'. -- Enabling this flag /must/ not affect the final compiled pipeline but -- /may/ disable pipeline caching or otherwise affect pipeline creation -- time. pattern PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = PipelineCreateFlagBits 0x00000080 -- | 'PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR' specifies that the shader -- compiler should capture statistics for the executables produced by the -- compile process which /can/ later be retrieved by calling -- 'Graphics.Vulkan.Extensions.VK_KHR_pipeline_executable_properties.getPipelineExecutableStatisticsKHR'. -- Enabling this flag /must/ not affect the final compiled pipeline but -- /may/ disable pipeline caching or otherwise affect pipeline creation -- time. pattern PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = PipelineCreateFlagBits 0x00000040 -- | 'PIPELINE_CREATE_DEFER_COMPILE_BIT_NV' specifies that a pipeline is -- created with all shaders in the deferred state. Before using the -- pipeline the application /must/ call -- 'Graphics.Vulkan.Extensions.VK_NV_ray_tracing.compileDeferredNV' exactly -- once on each shader in the pipeline before using the pipeline. pattern PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = PipelineCreateFlagBits 0x00000020 -- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT" pattern PIPELINE_CREATE_DISPATCH_BASE_BIT = PipelineCreateFlagBits 0x00000010 -- | 'PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT' specifies that any -- shader input variables decorated as @ViewIndex@ will be assigned values -- as if they were decorated as @DeviceIndex@. pattern PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = PipelineCreateFlagBits 0x00000008 type PipelineCreateFlags = PipelineCreateFlagBits instance Show PipelineCreateFlagBits where showsPrec p = \case PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT -> showString "PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT" PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT -> showString "PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT" PIPELINE_CREATE_DERIVATIVE_BIT -> showString "PIPELINE_CREATE_DERIVATIVE_BIT" PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR -> showString "PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR" PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR -> showString "PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR" PIPELINE_CREATE_DEFER_COMPILE_BIT_NV -> showString "PIPELINE_CREATE_DEFER_COMPILE_BIT_NV" PIPELINE_CREATE_DISPATCH_BASE_BIT -> showString "PIPELINE_CREATE_DISPATCH_BASE_BIT" PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT -> showString "PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT" PipelineCreateFlagBits x -> showParen (p >= 11) (showString "PipelineCreateFlagBits 0x" . showHex x) instance Read PipelineCreateFlagBits where readPrec = parens (choose [("PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT", pure PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT) , ("PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT", pure PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT) , ("PIPELINE_CREATE_DERIVATIVE_BIT", pure PIPELINE_CREATE_DERIVATIVE_BIT) , ("PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR", pure PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR) , ("PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR", pure PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR) , ("PIPELINE_CREATE_DEFER_COMPILE_BIT_NV", pure PIPELINE_CREATE_DEFER_COMPILE_BIT_NV) , ("PIPELINE_CREATE_DISPATCH_BASE_BIT", pure PIPELINE_CREATE_DISPATCH_BASE_BIT) , ("PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT", pure PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT)] +++ prec 10 (do expectP (Ident "PipelineCreateFlagBits") v <- step readPrec pure (PipelineCreateFlagBits v)))