{-# LINE 1 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
-- This file is automatically generated by the tools/makeEnum.hs
--	% stack runghc --cwd tools/ makeEnum

{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# OPTIONS_GHC -Wall -fno-warn-missing-export-lists -fno-warn-tabs #-}

module Gpu.Vulkan.Pipeline.Enum where

import Foreign.Storable
import Foreign.C.Enum
import Data.Bits
import Data.Word
import Data.Default



enum "BindPoint" ''Word32
{-# LINE 21 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
		[''Show, ''Storable] [
	("BindPointGraphics", 0),
{-# LINE 23 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("BindPointCompute", 1),
{-# LINE 24 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("BindPointRayTracingKhr",
		1000165000),
{-# LINE 26 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("BindPointSubpassShadingHuawei",
		1000369003),
{-# LINE 28 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("BindPointRayTracingNv",
		1000165000),
{-# LINE 30 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("BindPointMaxEnum", 2147483647) ]
{-# LINE 31 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}

enum "StageFlagBits" ''Word32
{-# LINE 33 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("StageFlagsZero", 0),
	("StageTopOfPipeBit",
		1),
{-# LINE 37 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageDrawIndirectBit",
		2),
{-# LINE 39 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageVertexInputBit",
		4),
{-# LINE 41 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageVertexShaderBit",
		8),
{-# LINE 43 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageTessellationControlShaderBit",
		16),
{-# LINE 45 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageTessellationEvaluationShaderBit",
		32),
{-# LINE 47 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageGeometryShaderBit",
		64),
{-# LINE 49 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageFragmentShaderBit",
		128),
{-# LINE 51 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageEarlyFragmentTestsBit",
		256),
{-# LINE 53 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageLateFragmentTestsBit",
		512),
{-# LINE 55 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageColorAttachmentOutputBit",
		1024),
{-# LINE 57 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageComputeShaderBit",
		2048),
{-# LINE 59 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageTransferBit", 4096),
{-# LINE 60 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageBottomOfPipeBit",
		8192),
{-# LINE 62 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageHostBit", 16384),
{-# LINE 63 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageAllGraphicsBit",
		32768),
{-# LINE 65 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageAllCommandsBit",
		65536),
{-# LINE 67 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageNone", 0),
{-# LINE 68 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageTransformFeedbackBitExt",
		16777216),
{-# LINE 70 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageConditionalRenderingBitExt",
		262144),
{-# LINE 72 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageAccelerationStructureBuildBitKhr",
		33554432),
{-# LINE 74 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageRayTracingShaderBitKhr",
		2097152),
{-# LINE 76 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageFragmentDensityProcessBitExt",
		8388608),
{-# LINE 78 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageFragmentShadingRateAttachmentBitKhr",
		4194304),
{-# LINE 80 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageCommandPreprocessBitNv",
		131072),
{-# LINE 82 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageTaskShaderBitExt",
		524288),
{-# LINE 84 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageMeshShaderBitExt",
		1048576),
{-# LINE 86 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageShadingRateImageBitNv",
		4194304),
{-# LINE 88 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageRayTracingShaderBitNv",
		2097152),
{-# LINE 90 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageAccelerationStructureBuildBitNv",
		33554432),
{-# LINE 92 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageTaskShaderBitNv",
		524288),
{-# LINE 94 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageMeshShaderBitNv",
		1048576),
{-# LINE 96 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageNoneKhr", 0),
{-# LINE 97 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("StageFlagBitsMaxEnum",
		2147483647) ]
{-# LINE 99 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}

instance Default StageFlagBits where
	def :: StageFlagBits
def = StageFlagBits
StageFlagsZero

enum "CreateFlagBits" ''Word32
{-# LINE 104 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("CreateFlagsZero", 0),
	("CreateDisableOptimizationBit",
		1),
{-# LINE 108 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateAllowDerivativesBit",
		2),
{-# LINE 110 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateDerivativeBit",
		4),
{-# LINE 112 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateViewIndexFromDeviceIndexBit",
		8),
{-# LINE 114 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateDispatchBaseBit",
		16),
{-# LINE 116 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateFailOnPipelineCompileRequiredBit",
		256),
{-# LINE 118 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateEarlyReturnOnFailureBit",
		512),
{-# LINE 120 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRenderingFragmentShadingRateAttachmentBitKhr",
		2097152),
{-# LINE 122 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRenderingFragmentDensityMapAttachmentBitExt",
		4194304),
{-# LINE 124 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingNoNullAnyHitShadersBitKhr",
		16384),
{-# LINE 126 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingNoNullClosestHitShadersBitKhr",
		32768),
{-# LINE 128 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingNoNullMissShadersBitKhr",
		65536),
{-# LINE 130 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingNoNullIntersectionShadersBitKhr",
		131072),
{-# LINE 132 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingSkipTrianglesBitKhr",
		4096),
{-# LINE 134 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingSkipAabbsBitKhr",
		8192),
{-# LINE 136 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingShaderGroupHandleCaptureReplayBitKhr",
		524288),
{-# LINE 138 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateDeferCompileBitNv",
		32),
{-# LINE 140 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateCaptureStatisticsBitKhr",
		64),
{-# LINE 142 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateCaptureInternalRepresentationsBitKhr",
		128),
{-# LINE 144 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateIndirectBindableBitNv",
		262144),
{-# LINE 146 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateLibraryBitKhr",
		2048),
{-# LINE 148 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateDescriptorBufferBitExt",
		536870912),
{-# LINE 150 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRetainLinkTimeOptimizationInfoBitExt",
		8388608),
{-# LINE 152 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateLinkTimeOptimizationBitExt",
		1024),
{-# LINE 154 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingAllowMotionBitNv",
		1048576),
{-# LINE 156 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateColorAttachmentFeedbackLoopBitExt",
		33554432),
{-# LINE 158 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateDepthStencilAttachmentFeedbackLoopBitExt",
		67108864),
{-# LINE 160 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateRayTracingOpacityMicromapBitExt",
		16777216),
{-# LINE 162 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateNoProtectedAccessBitExt",
		134217728),
{-# LINE 164 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateProtectedAccessOnlyBitExt",
		1073741824),
{-# LINE 166 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateDispatchBase",
		16),
{-# LINE 168 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("RasterizationStateCreateFragmentShadingRateAttachmentBitKhr",
		2097152),
{-# LINE 170 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("RasterizationStateCreateFragmentDensityMapAttachmentBitExt",
		4194304),
{-# LINE 172 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateViewIndexFromDeviceIndexBitKhr",
		8),
{-# LINE 174 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateDispatchBaseKhr",
		16),
{-# LINE 176 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateFailOnPipelineCompileRequiredBitExt",
		256),
{-# LINE 178 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateEarlyReturnOnFailureBitExt",
		512),
{-# LINE 180 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}
	("CreateFlagBitsMaxEnum",
		2147483647) ]
{-# LINE 182 "src/Gpu/Vulkan/Pipeline/Enum.hsc" #-}

instance Default CreateFlagBits where
	def :: CreateFlagBits
def = CreateFlagBits
CreateFlagsZero

type StageFlags = StageFlagBits
type CreateFlags = CreateFlagBits