gpu: implement TextureFormat enums

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-03-08 23:14:23 -07:00 committed by Stephen Gutekanst
parent c852ea9532
commit 4294b5c065

100
gpu/src/texture_format.zig Normal file
View file

@ -0,0 +1,100 @@
pub const TextureFormat = enum(u32) {
// TODO: enums not CamelCase
Undefined = 0x00000000,
R8Unorm = 0x00000001,
R8Snorm = 0x00000002,
R8Uint = 0x00000003,
R8Sint = 0x00000004,
R16Uint = 0x00000005,
R16Sint = 0x00000006,
R16Float = 0x00000007,
RG8Unorm = 0x00000008,
RG8Snorm = 0x00000009,
RG8Uint = 0x0000000A,
RG8Sint = 0x0000000B,
R32Float = 0x0000000C,
R32Uint = 0x0000000D,
R32Sint = 0x0000000E,
RG16Uint = 0x0000000F,
RG16Sint = 0x00000010,
RG16Float = 0x00000011,
RGBA8Unorm = 0x00000012,
RGBA8UnormSrgb = 0x00000013,
RGBA8Snorm = 0x00000014,
RGBA8Uint = 0x00000015,
RGBA8Sint = 0x00000016,
BGRA8Unorm = 0x00000017,
BGRA8UnormSrgb = 0x00000018,
RGB10A2Unorm = 0x00000019,
RG11B10Ufloat = 0x0000001A,
RGB9E5Ufloat = 0x0000001B,
RG32Float = 0x0000001C,
RG32Uint = 0x0000001D,
RG32Sint = 0x0000001E,
RGBA16Uint = 0x0000001F,
RGBA16Sint = 0x00000020,
RGBA16Float = 0x00000021,
RGBA32Float = 0x00000022,
RGBA32Uint = 0x00000023,
RGBA32Sint = 0x00000024,
Stencil8 = 0x00000025,
Depth16Unorm = 0x00000026,
Depth24Plus = 0x00000027,
Depth24PlusStencil8 = 0x00000028,
Depth24UnormStencil8 = 0x00000029,
Depth32Float = 0x0000002A,
Depth32FloatStencil8 = 0x0000002B,
BC1RGBAUnorm = 0x0000002C,
BC1RGBAUnormSrgb = 0x0000002D,
BC2RGBAUnorm = 0x0000002E,
BC2RGBAUnormSrgb = 0x0000002F,
BC3RGBAUnorm = 0x00000030,
BC3RGBAUnormSrgb = 0x00000031,
BC4RUnorm = 0x00000032,
BC4RSnorm = 0x00000033,
BC5RGUnorm = 0x00000034,
BC5RGSnorm = 0x00000035,
BC6HRGBUfloat = 0x00000036,
BC6HRGBFloat = 0x00000037,
BC7RGBAUnorm = 0x00000038,
BC7RGBAUnormSrgb = 0x00000039,
ETC2RGB8Unorm = 0x0000003A,
ETC2RGB8UnormSrgb = 0x0000003B,
ETC2RGB8A1Unorm = 0x0000003C,
ETC2RGB8A1UnormSrgb = 0x0000003D,
ETC2RGBA8Unorm = 0x0000003E,
ETC2RGBA8UnormSrgb = 0x0000003F,
EACR11Unorm = 0x00000040,
EACR11Snorm = 0x00000041,
EACRG11Unorm = 0x00000042,
EACRG11Snorm = 0x00000043,
ASTC4x4Unorm = 0x00000044,
ASTC4x4UnormSrgb = 0x00000045,
ASTC5x4Unorm = 0x00000046,
ASTC5x4UnormSrgb = 0x00000047,
ASTC5x5Unorm = 0x00000048,
ASTC5x5UnormSrgb = 0x00000049,
ASTC6x5Unorm = 0x0000004A,
ASTC6x5UnormSrgb = 0x0000004B,
ASTC6x6Unorm = 0x0000004C,
ASTC6x6UnormSrgb = 0x0000004D,
ASTC8x5Unorm = 0x0000004E,
ASTC8x5UnormSrgb = 0x0000004F,
ASTC8x6Unorm = 0x00000050,
ASTC8x6UnormSrgb = 0x00000051,
ASTC8x8Unorm = 0x00000052,
ASTC8x8UnormSrgb = 0x00000053,
ASTC10x5Unorm = 0x00000054,
ASTC10x5UnormSrgb = 0x00000055,
ASTC10x6Unorm = 0x00000056,
ASTC10x6UnormSrgb = 0x00000057,
ASTC10x8Unorm = 0x00000058,
ASTC10x8UnormSrgb = 0x00000059,
ASTC10x10Unorm = 0x0000005A,
ASTC10x10UnormSrgb = 0x0000005B,
ASTC12x10Unorm = 0x0000005C,
ASTC12x10UnormSrgb = 0x0000005D,
ASTC12x12Unorm = 0x0000005E,
ASTC12x12UnormSrgb = 0x0000005F,
R8BG8Biplanar420Unorm = 0x00000060,
};