1 module metal.pixelformat;
2 import objc.runtime;
3 @nogc nothrow:
4 
5 enum MTLPixelFormat : NSUInteger
6 {
7     ///Ordinary format with one 8-bit normalized unsigned integer component.
8     A8Unorm = 1,
9     ///Ordinary format with one 8-bit normalized unsigned integer component.
10     R8Unorm = 10,
11     ///Ordinary format with one 8-bit normalized unsigned integer component with conversion between sRGB and linear space.
12     R8Unorm_sRGB = 11,
13     ///Ordinary format with one 8-bit normalized signed integer component.
14     R8Snorm = 12,
15     ///Ordinary format with one 8-bit unsigned integer component.
16     R8Uint = 13,
17     ///Ordinary format with one 8-bit signed integer component.
18     R8Sint = 14,
19     ///Ordinary format with one 16-bit normalized unsigned integer component.
20     R16Unorm = 20,
21     ///Ordinary format with one 16-bit normalized signed integer component.
22     R16Snorm = 22,
23     ///Ordinary format with one 16-bit unsigned integer component.
24     R16Uint = 23,
25     ///Ordinary format with one 16-bit signed integer component.
26     R16Sint = 24,
27     ///Ordinary format with one 16-bit floating-point component.
28     R16Float = 25,
29     ///Ordinary format with two 8-bit normalized unsigned integer components.
30     RG8Unorm = 30,
31     ///Ordinary format with two 8-bit normalized unsigned integer components with conversion between sRGB and linear space.
32     RG8Unorm_sRGB = 31,
33     ///Ordinary format with two 8-bit normalized signed integer components.
34     RG8Snorm = 32,
35     ///Ordinary format with two 8-bit unsigned integer components.
36     RG8Uint = 33,
37     ///Ordinary format with two 8-bit signed integer components.
38     RG8Sint = 34,
39     ///Packed 16-bit format with normalized unsigned integer color components: 5 bits for blue, 6 bits for green, 5 bits for red, packed into 16 bits.
40     B5G6R5Unorm = 40,
41     ///Packed 16-bit format with normalized unsigned integer color components: 5 bits each for BGR and 1 for alpha, packed into 16 bits.
42     A1BGR5Unorm = 41,
43     ///Packed 16-bit format with normalized unsigned integer color components: 4 bits each for ABGR, packed into 16 bits.
44     ABGR4Unorm = 42,
45     ///Packed 16-bit format with normalized unsigned integer color components: 5 bits each for BGR and 1 for alpha, packed into 16 bits.
46     BGR5A1Unorm = 43,
47     ///Ordinary format with one 32-bit unsigned integer component.
48     R32Uint = 53,
49     ///Ordinary format with one 32-bit signed integer component.
50     R32Sint = 54,
51     ///Ordinary format with one 32-bit floating-point component.
52     R32Float = 55,
53     ///Ordinary format with two 16-bit normalized unsigned integer components.
54     RG16Unorm = 60,
55     ///Ordinary format with two 16-bit normalized signed integer components.
56     RG16Snorm = 62,
57     ///Ordinary format with two 16-bit unsigned integer components.
58     RG16Uint = 63,
59     ///Ordinary format with two 16-bit signed integer components.
60     RG16Sint = 64,
61     ///Ordinary format with two 16-bit floating-point components.
62     RG16Float = 65,
63     ///Ordinary format with four 8-bit normalized unsigned integer components in RGBA order.
64     RGBA8Unorm = 70,
65     ///Ordinary format with four 8-bit normalized unsigned integer components in RGBA order with conversion between sRGB and linear space.
66     RGBA8Unorm_sRGB = 71,
67     ///Ordinary format with four 8-bit normalized signed integer components in RGBA order.
68     RGBA8Snorm = 72,
69     ///Ordinary format with four 8-bit unsigned integer components in RGBA order.
70     RGBA8Uint = 73,
71     ///Ordinary format with four 8-bit signed integer components in RGBA order.
72     RGBA8Sint = 74,
73     ///Ordinary format with four 8-bit normalized unsigned integer components in BGRA order.
74     BGRA8Unorm = 80,
75     ///Ordinary format with four 8-bit normalized unsigned integer components in BGRA order with conversion between sRGB and linear space.
76     BGRA8Unorm_sRGB = 81,
77     ///A 32-bit packed pixel format with four normalized unsigned integer components: 10-bit blue, 10-bit green, 10-bit red, and 2-bit alpha.
78     BGR10A2Unorm = 94,
79     ///A 32-bit packed pixel format with four normalized unsigned integer components: 10-bit red, 10-bit green, 10-bit blue, and 2-bit alpha.
80     RGB10A2Unorm = 90,
81     ///A 32-bit packed pixel format with four unsigned integer components: 10-bit red, 10-bit green, 10-bit blue, and 2-bit alpha.
82     RGB10A2Uint = 91,
83     ///32-bit format with floating-point color components, 11 bits each for red and green and 10 bits for blue.
84     RG11B10Float = 92,
85     ///Packed 32-bit format with floating-point color components: 9 bits each for RGB and 5 bits for an exponent shared by RGB, packed into 32 bits.
86     RGB9E5Float = 93,
87     ///Ordinary format with two 32-bit unsigned integer components.
88     RG32Uint = 103,
89     ///Ordinary format with two 32-bit signed integer components.
90     RG32Sint = 104,
91     ///Ordinary format with two 32-bit floating-point components.
92     RG32Float = 105,
93     ///Ordinary format with four 16-bit normalized unsigned integer components in RGBA order.
94     RGBA16Unorm = 110,
95     ///Ordinary format with four 16-bit normalized signed integer components in RGBA order.
96     RGBA16Snorm = 112,
97     ///Ordinary format with four 16-bit unsigned integer components in RGBA order.
98     RGBA16Uint = 113,
99     ///Ordinary format with four 16-bit signed integer components in RGBA order.
100     RGBA16Sint = 114,
101     ///Ordinary format with four 16-bit floating-point components in RGBA order.
102     RGBA16Float = 115,
103 
104     ///A pixel format with a 16-bit normalized unsigned integer component, used for a depth render target.
105     Depth16Unorm = 250,
106     ///A pixel format with one 32-bit floating-point component, used for a depth render target.
107     Depth32Float = 252,
108     ///A pixel format with an 8-bit unsigned integer component, used for a stencil render target.
109     Stencil8 = 253,
110     ///A 32-bit combined depth and stencil pixel format with a 24-bit normalized unsigned integer for depth and an 8-bit unsigned integer for stencil.
111     Depth24Unorm_Stencil8 = 255,
112     ///A 40-bit combined depth and stencil pixel format with a 32-bit floating-point value for depth and an 8-bit unsigned integer for stencil.
113     Depth32Float_Stencil8 = 260,
114     ///A stencil pixel format used to read the stencil value from a texture with a combined 32-bit depth and 8-bit stencil value.
115     X32_Stencil8 = 261,
116     ///A stencil pixel format used to read the stencil value from a texture with a combined 24-bit depth and 8-bit stencil value.
117     X24_Stencil8 = 262,
118 
119     ///The default value of the pixel format for the MTLRenderPipelineState. You cannot create a texture with this value.
120     Invalid = 0
121 
122 }