{-# LANGUAGE MultiParamTypeClasses #-} module Language.SpirV.ImageFormat where import Data.Word (Word32) import Language.SpirV.SpirEnum import qualified Language.SpirV.Capability as Capability data ImageFormat = Unknown | Rgba32f | Rgba16f | R32f | Rgba8 | Rgba8Snorm | Rg32f | Rg16f | R11fG11fB10f | R16f | Rgba16 | Rgb10A2 | Rg16 | Rg8 | R16 | R8 | Rgba16Snorm | Rg16Snorm | Rg8Snorm | R16Snorm | R8Snorm | Rgba32i | Rgba16i | Rgba8i | R32i | Rg32i | Rg16i | Rg8i | R16i | R8i | Rgba32ui | Rgba16ui | Rgba8ui | R32ui | Rgb10a2ui | Rg32ui | Rg16ui | Rg8ui | R16ui | R8ui deriving(Read, Show, Eq, Ord) instance SpirEnum ImageFormat Word32 where toWord Unknown = 0 toWord Rgba32f = 1 toWord Rgba16f = 2 toWord R32f = 3 toWord Rgba8 = 4 toWord Rgba8Snorm = 5 toWord Rg32f = 6 toWord Rg16f = 7 toWord R11fG11fB10f = 8 toWord R16f = 9 toWord Rgba16 = 10 toWord Rgb10A2 = 11 toWord Rg16 = 12 toWord Rg8 = 13 toWord R16 = 14 toWord R8 = 15 toWord Rgba16Snorm = 16 toWord Rg16Snorm = 17 toWord Rg8Snorm = 18 toWord R16Snorm = 19 toWord R8Snorm = 20 toWord Rgba32i = 21 toWord Rgba16i = 22 toWord Rgba8i = 23 toWord R32i = 24 toWord Rg32i = 25 toWord Rg16i = 26 toWord Rg8i = 27 toWord R16i = 28 toWord R8i = 29 toWord Rgba32ui = 30 toWord Rgba16ui = 31 toWord Rgba8ui = 32 toWord R32ui = 33 toWord Rgb10a2ui = 34 toWord Rg32ui = 35 toWord Rg16ui = 36 toWord Rg8ui = 37 toWord R16ui = 38 toWord R8ui = 39 fromWord 0 = Just Unknown fromWord 1 = Just Rgba32f fromWord 2 = Just Rgba16f fromWord 3 = Just R32f fromWord 4 = Just Rgba8 fromWord 5 = Just Rgba8Snorm fromWord 6 = Just Rg32f fromWord 7 = Just Rg16f fromWord 8 = Just R11fG11fB10f fromWord 9 = Just R16f fromWord 10 = Just Rgba16 fromWord 11 = Just Rgb10A2 fromWord 12 = Just Rg16 fromWord 13 = Just Rg8 fromWord 14 = Just R16 fromWord 15 = Just R8 fromWord 16 = Just Rgba16Snorm fromWord 17 = Just Rg16Snorm fromWord 18 = Just Rg8Snorm fromWord 19 = Just R16Snorm fromWord 20 = Just R8Snorm fromWord 21 = Just Rgba32i fromWord 22 = Just Rgba16i fromWord 23 = Just Rgba8i fromWord 24 = Just R32i fromWord 25 = Just Rg32i fromWord 26 = Just Rg16i fromWord 27 = Just Rg8i fromWord 28 = Just R16i fromWord 29 = Just R8i fromWord 30 = Just Rgba32ui fromWord 31 = Just Rgba16ui fromWord 32 = Just Rgba8ui fromWord 33 = Just R32ui fromWord 34 = Just Rgb10a2ui fromWord 35 = Just Rg32ui fromWord 36 = Just Rg16ui fromWord 37 = Just Rg8ui fromWord 38 = Just R16ui fromWord 39 = Just R8ui fromWord _ = Nothing requiredCapabilities Unknown = [Capability.Shader] requiredCapabilities Rgba32f = [Capability.Shader] requiredCapabilities Rgba16f = [Capability.Shader] requiredCapabilities R32f = [Capability.Shader] requiredCapabilities Rgba8 = [Capability.Shader] requiredCapabilities Rgba8Snorm = [Capability.Shader] requiredCapabilities Rg32f = [Capability.Shader] requiredCapabilities Rg16f = [Capability.Shader] requiredCapabilities R11fG11fB10f = [Capability.Shader] requiredCapabilities R16f = [Capability.Shader] requiredCapabilities Rgba16 = [Capability.Shader] requiredCapabilities Rgb10A2 = [Capability.Shader] requiredCapabilities Rg16 = [Capability.Shader] requiredCapabilities Rg8 = [Capability.Shader] requiredCapabilities R16 = [Capability.Shader] requiredCapabilities R8 = [Capability.Shader] requiredCapabilities Rgba16Snorm = [Capability.Shader] requiredCapabilities Rg16Snorm = [Capability.Shader] requiredCapabilities Rg8Snorm = [Capability.Shader] requiredCapabilities R16Snorm = [Capability.Shader] requiredCapabilities R8Snorm = [Capability.Shader] requiredCapabilities Rgba32i = [Capability.Shader] requiredCapabilities Rgba16i = [Capability.Shader] requiredCapabilities Rgba8i = [Capability.Shader] requiredCapabilities R32i = [Capability.Shader] requiredCapabilities Rg32i = [Capability.Shader] requiredCapabilities Rg16i = [Capability.Shader] requiredCapabilities Rg8i = [Capability.Shader] requiredCapabilities R16i = [Capability.Shader] requiredCapabilities R8i = [Capability.Shader] requiredCapabilities Rgba32ui = [Capability.Shader] requiredCapabilities Rgba16ui = [Capability.Shader] requiredCapabilities Rgba8ui = [Capability.Shader] requiredCapabilities R32ui = [Capability.Shader] requiredCapabilities Rgb10a2ui = [Capability.Shader] requiredCapabilities Rg32ui = [Capability.Shader] requiredCapabilities Rg16ui = [Capability.Shader] requiredCapabilities Rg8ui = [Capability.Shader] requiredCapabilities R16ui = [Capability.Shader] requiredCapabilities R8ui = [Capability.Shader]