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