{-# LINE 1 "src/Gpu/Vulkan/Query/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.Query.Enum where

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



enum "PipelineStatisticFlagBits" ''Word32
{-# LINE 20 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("PipelineStatisticInputAssemblyVerticesBit",
		1),
{-# LINE 23 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticInputAssemblyPrimitivesBit",
		2),
{-# LINE 25 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticVertexShaderInvocationsBit",
		4),
{-# LINE 27 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticGeometryShaderInvocationsBit",
		8),
{-# LINE 29 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticGeometryShaderPrimitivesBit",
		16),
{-# LINE 31 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticClippingInvocationsBit",
		32),
{-# LINE 33 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticClippingPrimitivesBit",
		64),
{-# LINE 35 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticFragmentShaderInvocationsBit",
		128),
{-# LINE 37 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticTessellationControlShaderPatchesBit",
		256),
{-# LINE 39 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticTessellationEvaluationShaderInvocationsBit",
		512),
{-# LINE 41 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticComputeShaderInvocationsBit",
		1024),
{-# LINE 43 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticTaskShaderInvocationsBitExt",
		2048),
{-# LINE 45 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticMeshShaderInvocationsBitExt",
		4096),
{-# LINE 47 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticClusterCullingShaderInvocationsBitHuawei",
		8192),
{-# LINE 49 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("PipelineStatisticFlagBitsMaxEnum",
		2147483647) ]
{-# LINE 51 "src/Gpu/Vulkan/Query/Enum.hsc" #-}

enum "ControlFlagBits" ''Word32
{-# LINE 53 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("ControlPreciseBit", 1),
{-# LINE 55 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("ControlFlagBitsMaxEnum",
		2147483647) ]
{-# LINE 57 "src/Gpu/Vulkan/Query/Enum.hsc" #-}

enum "ResultFlagBits" ''Word32
{-# LINE 59 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("Result64Bit", 1),
{-# LINE 61 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("ResultWaitBit", 2),
{-# LINE 62 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("ResultWithAvailabilityBit",
		4),
{-# LINE 64 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("ResultPartialBit", 8),
{-# LINE 65 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("ResultWithStatusBitKhr",
		16),
{-# LINE 67 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("ResultFlagBitsMaxEnum",
		2147483647) ]
{-# LINE 69 "src/Gpu/Vulkan/Query/Enum.hsc" #-}

enum "Type" ''Word32
{-# LINE 71 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("TypeOcclusion", 0),
{-# LINE 73 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypePipelineStatistics",
		1),
{-# LINE 75 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeTimestamp", 2),
{-# LINE 76 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeResultStatusOnlyKhr",
		1000023000),
{-# LINE 78 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeTransformFeedbackStreamExt",
		1000028004),
{-# LINE 80 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypePerformanceQueryKhr",
		1000116000),
{-# LINE 82 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeAccelerationStructureCompactedSizeKhr",
		1000150000),
{-# LINE 84 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeAccelerationStructureSerializationSizeKhr",
		1000150001),
{-# LINE 86 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeAccelerationStructureCompactedSizeNv",
		1000165000),
{-# LINE 88 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypePerformanceQueryIntel",
		1000210000),
{-# LINE 90 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeVideoEncodeFeedbackKhr",
		1000299000),
{-# LINE 92 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeMeshPrimitivesGeneratedExt",
		1000328000),
{-# LINE 94 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypePrimitivesGeneratedExt",
		1000382000),
{-# LINE 96 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeAccelerationStructureSerializationBottomLevelPointersKhr",
		1000386000),
{-# LINE 98 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeAccelerationStructureSizeKhr",
		1000386001),
{-# LINE 100 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeMicromapSerializationSizeExt",
		1000396000),
{-# LINE 102 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeMicromapCompactedSizeExt",
		1000396001),
{-# LINE 104 "src/Gpu/Vulkan/Query/Enum.hsc" #-}
	("TypeMaxEnum", 2147483647) ]
{-# LINE 105 "src/Gpu/Vulkan/Query/Enum.hsc" #-}

type PipelineStatisticFlags = PipelineStatisticFlagBits
type ControlFlags = ControlFlagBits
type ResultFlags = ResultFlagBits