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

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



enum "CreateFlagBits" ''Word32
{-# LINE 22 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("CreateFlagsZero", 0),
	("CreateSparseBindingBit",
		1),
{-# LINE 26 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateSparseResidencyBit",
		2),
{-# LINE 28 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateSparseAliasedBit",
		4),
{-# LINE 30 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateProtectedBit", 8),
{-# LINE 31 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateDeviceAddressCaptureReplayBit",
		16),
{-# LINE 33 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateDescriptorBufferCaptureReplayBitExt",
		32),
{-# LINE 35 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateVideoProfileIndependentBitKhr",
		64),
{-# LINE 37 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateDeviceAddressCaptureReplayBitExt",
		16),
{-# LINE 39 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateDeviceAddressCaptureReplayBitKhr",
		16),
{-# LINE 41 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("CreateFlagBitsMaxEnum",
		2147483647) ]
{-# LINE 43 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}

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

enum "UsageFlagBits" ''Word32
{-# LINE 48 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
		[''Show, ''Eq, ''Storable, ''Bits] [
	("UsageFlagsZero", 0),
	("UsageTransferSrcBit",
		1),
{-# LINE 52 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageTransferDstBit",
		2),
{-# LINE 54 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageUniformTexelBufferBit",
		4),
{-# LINE 56 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageStorageTexelBufferBit",
		8),
{-# LINE 58 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageUniformBufferBit",
		16),
{-# LINE 60 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageStorageBufferBit",
		32),
{-# LINE 62 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageIndexBufferBit",
		64),
{-# LINE 64 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageVertexBufferBit",
		128),
{-# LINE 66 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageIndirectBufferBit",
		256),
{-# LINE 68 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageShaderDeviceAddressBit",
		131072),
{-# LINE 70 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageVideoDecodeSrcBitKhr",
		8192),
{-# LINE 72 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageVideoDecodeDstBitKhr",
		16384),
{-# LINE 74 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageTransformFeedbackBufferBitExt",
		2048),
{-# LINE 76 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageTransformFeedbackCounterBufferBitExt",
		4096),
{-# LINE 78 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageConditionalRenderingBitExt",
		512),
{-# LINE 80 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageAccelerationStructureBuildInputReadOnlyBitKhr",
		524288),
{-# LINE 82 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageAccelerationStructureStorageBitKhr",
		1048576),
{-# LINE 84 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageShaderBindingTableBitKhr",
		1024),
{-# LINE 86 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageVideoEncodeDstBitKhr",
		32768),
{-# LINE 88 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageVideoEncodeSrcBitKhr",
		65536),
{-# LINE 90 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageSamplerDescriptorBufferBitExt",
		2097152),
{-# LINE 92 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageResourceDescriptorBufferBitExt",
		4194304),
{-# LINE 94 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsagePushDescriptorsDescriptorBufferBitExt",
		67108864),
{-# LINE 96 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageMicromapBuildInputReadOnlyBitExt",
		8388608),
{-# LINE 98 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageMicromapStorageBitExt",
		16777216),
{-# LINE 100 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageRayTracingBitNv",
		1024),
{-# LINE 102 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageShaderDeviceAddressBitExt",
		131072),
{-# LINE 104 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageShaderDeviceAddressBitKhr",
		131072),
{-# LINE 106 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}
	("UsageFlagBitsMaxEnum",
		2147483647) ]
{-# LINE 108 "src/Gpu/Vulkan/Buffer/Enum.hsc" #-}

instance Default UsageFlagBits where
	def :: UsageFlagBits
def = UsageFlagBits
UsageFlagsZero

type CreateFlags = CreateFlagBits
type UsageFlags = UsageFlagBits