# This document describes Mesa's supported pipe_formats as a YAML document, # with one list entry per format. # # When adding new format entries, enum pipe_format in # src/util/format/u_formats.h must be updated along with it. # # These formats are the main descriptions used for drivers, and should uniquely # describe a format without the need for any annotation. The only difference # is DRM format modifiers, which are used to describe differences in the # storage (e.g. tiled and/or compressed). # # These do not correspond one-to-one to GL formats or internalformats. # # Each format entry contains: # - name, per enum pipe_format # - layout, per enum util_format_layout, in shortened lower caps # - sublayout, to distinguish between meaningfully-different layout variants # - pixel block's width # - pixel block's height # - pixel block's depth, in number of pixels # - channel encoding (only meaningful for plain layout), containing for each # channel the following information: # - type, one of # - 'x': void # - 'u': unsigned # - 's': signed # - 'h': fixed # - 'f': FLOAT # - optionally followed by 'n' if it is normalized # - optionally followed by 'p' if it is pure # - number of bits # - channel swizzle # - color space: rgb, srgb, yuv, zs # # The channel encoding and swizzle may be defined separately for little-endian # and big-endian hosts when using a packed (non-array/bitmask) format. # None # Described as regular uint_8 bytes, i.e. PIPE_FORMAT_R8_USCALED - name: NONE layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8] swizzles: [X, 0, 0, 1] # Typical rendertarget formats - name: B8G8R8A8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Z, Y, X, W] little_endian: alias: BGRA8888_UNORM big_endian: alias: ARGB8888_UNORM - name: B8G8R8X8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, X8] swizzles: [Z, Y, X, 1] little_endian: alias: BGRX8888_UNORM big_endian: alias: XRGB8888_UNORM - name: B8G8R8X8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8, X8] swizzles: [Z, Y, X, 1] - name: B8G8R8X8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8, X8] swizzles: [Z, Y, X, 1] - name: B8G8R8X8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8, X8] swizzles: [Z, Y, X, 1] - name: A8R8G8B8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Y, Z, W, X] little_endian: alias: ARGB8888_UNORM big_endian: alias: BGRA8888_UNORM - name: A8R8G8B8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8, SN8] swizzles: [Y, Z, W, X] - name: A8R8G8B8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8, SP8] swizzles: [Y, Z, W, X] - name: X8R8G8B8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X8, UN8, UN8, UN8] swizzles: [Y, Z, W, 1] little_endian: alias: XRGB8888_UNORM big_endian: alias: BGRX8888_UNORM - name: X8R8G8B8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X8, SN8, SN8, SN8] swizzles: [Y, Z, W, 1] - name: X8R8G8B8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X8, SP8, SP8, SP8] swizzles: [Y, Z, W, 1] - name: A8B8G8R8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [W, Z, Y, X] little_endian: alias: ABGR8888_UNORM big_endian: alias: RGBA8888_UNORM - name: X8B8G8R8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X8, UN8, UN8, UN8] swizzles: [W, Z, Y, 1] little_endian: alias: XBGR8888_UNORM big_endian: alias: RGBX8888_UNORM # PIPE_FORMAT_R8G8B8A8_UNORM is below - name: R8G8B8X8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, X8] swizzles: [X, Y, Z, 1] little_endian: alias: RGBX8888_UNORM big_endian: alias: XBGR8888_UNORM - name: R5G5B5A1_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN5, UN5, UN1] swizzles: [X, Y, Z, W] - name: R5G5B5X1_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN5, UN5, X1] swizzles: [X, Y, Z, 1] - name: B5G5R5X1_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN5, UN5, X1] swizzles: [Z, Y, X, 1] - name: B5G5R5A1_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN5, UN5, UN1] swizzles: [Z, Y, X, W] - name: X1B5G5R5_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X1, UN5, UN5, UN5] swizzles: [W, Z, Y, 1] - name: A1R5G5B5_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN1, UN5, UN5, UN5] swizzles: [Y, Z, W, X] - name: X1R5G5B5_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X1, UN5, UN5, UN5] swizzles: [Y, Z, W, 1] - name: A1B5G5R5_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN1, UN5, UN5, UN5] swizzles: [W, Z, Y, X] - name: R4G4B4A4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4, UN4, UN4] swizzles: [X, Y, Z, W] - name: R4G4B4X4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4, UN4, X4] swizzles: [X, Y, Z, 1] - name: B4G4R4A4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4, UN4, UN4] swizzles: [Z, Y, X, W] - name: B4G4R4X4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4, UN4, X4] swizzles: [Z, Y, X, 1] - name: A4R4G4B4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4, UN4, UN4] swizzles: [Y, Z, W, X] - name: A4B4G4R4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4, UN4, UN4] swizzles: [W, Z, Y, X] - name: R5G6B5_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN6, UN5] swizzles: [X, Y, Z, 1] - name: B5G6R5_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN6, UN5] swizzles: [Z, Y, X, 1] - name: R10G10B10A2_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN10, UN10, UN10, UN2] swizzles: [X, Y, Z, W] - name: R10G10B10X2_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN10, UN10, UN10, X2] swizzles: [X, Y, Z, 1] - name: B10G10R10A2_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN10, UN10, UN10, UN2] swizzles: [Z, Y, X, W] - name: A2R10G10B10_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN2, UN10, UN10, UN10] swizzles: [Y, Z, W, X] - name: A2B10G10R10_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN2, UN10, UN10, UN10] swizzles: [W, Z, Y, X] - name: R3G3B2_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN3, UN3, UN2] swizzles: [X, Y, Z, 1] - name: B2G3R3_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN2, UN3, UN3] swizzles: [Z, Y, X, 1] # Luminance/Intensity/Alpha formats - name: L8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, X, X, 1] - name: A8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [0, 0, 0, X] - name: I8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, X, X, X] - name: L4A4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4] swizzles: [X, X, X, Y] - name: L8A8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8] swizzles: [X, X, X, Y] - name: L16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16] swizzles: [X, X, X, 1] - name: A16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16] swizzles: [0, 0, 0, X] - name: I16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16] swizzles: [X, X, X, X] - name: L16A16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16] swizzles: [X, X, X, Y] - name: A8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8] swizzles: [0, 0, 0, X] - name: L8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8] swizzles: [X, X, X, 1] - name: L8A8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8] swizzles: [X, X, X, Y] - name: I8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8] swizzles: [X, X, X, X] - name: A16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16] swizzles: [0, 0, 0, X] - name: L16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16] swizzles: [X, X, X, 1] - name: L16A16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16, SN16] swizzles: [X, X, X, Y] - name: I16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16] swizzles: [X, X, X, X] - name: A16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16] swizzles: [0, 0, 0, X] - name: L16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16] swizzles: [X, X, X, 1] - name: L16A16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16, F16] swizzles: [X, X, X, Y] - name: I16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16] swizzles: [X, X, X, X] - name: A32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32] swizzles: [0, 0, 0, X] - name: L32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32] swizzles: [X, X, X, 1] - name: L32A32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32, F32] swizzles: [X, X, X, Y] - name: I32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32] swizzles: [X, X, X, X] # SRGB formats - name: L8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, X, X, 1] - name: R8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, 0, 0, 1] - name: L8A8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8] swizzles: [X, X, X, Y] - name: R8G8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8] swizzles: [X, Y, 0, 1] - name: R8G8B8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: B8G8R8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8] swizzles: [Z, Y, X, 1] - name: R8G8B8A8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, W] little_endian: alias: RGBA8888_SRGB big_endian: alias: ABGR8888_SRGB - name: A8B8G8R8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [W, Z, Y, X] little_endian: alias: ABGR8888_SRGB big_endian: alias: RGBA8888_SRGB - name: X8B8G8R8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [X8, UN8, UN8, UN8] swizzles: [W, Z, Y, 1] little_endian: alias: XBGR8888_SRGB big_endian: alias: RGBX8888_SRGB - name: B8G8R8A8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Z, Y, X, W] little_endian: alias: BGRA8888_SRGB big_endian: alias: ARGB8888_SRGB - name: B8G8R8X8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, X8] swizzles: [Z, Y, X, 1] little_endian: alias: BGRX8888_SRGB big_endian: alias: XRGB8888_SRGB - name: A8R8G8B8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Y, Z, W, X] little_endian: alias: ARGB8888_SRGB big_endian: alias: BGRA8888_SRGB - name: X8R8G8B8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [X8, UN8, UN8, UN8] swizzles: [Y, Z, W, 1] little_endian: alias: XRGB8888_SRGB big_endian: alias: BGRX8888_SRGB # Mixed-sign formats (typically used for bump map textures) - name: R8SG8SB8UX8U_NORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, UN8, X8] swizzles: [X, Y, Z, 1] - name: R10SG10SB10SA2U_NORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN10, SN10, SN10, UN2] swizzles: [X, Y, Z, W] - name: R5SG5SB6U_NORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN5, SN5, UN6] swizzles: [X, Y, Z, 1] # Depth-stencil formats - name: S8_UINT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UP8] swizzles: [_, X, _, _] - name: Z16_UNORM layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UN16] swizzles: [X, _, _, _] - name: Z16_UNORM_S8_UINT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UN16, UP8] swizzles: [X, Y, _, _] - name: Z32_UNORM layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UN32] swizzles: [X, _, _, _] - name: Z32_FLOAT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [F32] swizzles: [X, _, _, _] - name: Z24_UNORM_S8_UINT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UN24, UP8] swizzles: [X, Y, _, _] - name: S8_UINT_Z24_UNORM layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UP8, UN24] swizzles: [Y, X, _, _] - name: X24S8_UINT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [X24, UP8] swizzles: [_, Y, _, _] - name: S8X24_UINT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UP8, X24] swizzles: [_, X, _, _] - name: Z24X8_UNORM layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [UN24, X8] swizzles: [X, _, _, _] - name: X8Z24_UNORM layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} channels: [X8, UN24] swizzles: [Y, _, _, _] - name: Z32_FLOAT_S8X24_UINT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} little_endian: channels: [F32, UP8, X24] swizzles: [X, Y, _, _] big_endian: channels: [F32, X24, UP8] swizzles: [X, Z, _, _] - name: X32_S8X24_UINT layout: plain colorspace: ZS block: {width: 1, height: 1, depth: 1} little_endian: channels: [X32, UP8, X24] swizzles: [_, Y, _, _] big_endian: channels: [X32, X24, UP8] swizzles: [_, Z, _, _] # Depth-stencil formats equivalent to blitting PIPE_FORMAT_Z24_UNORM_S8_UINT # as PIPE_FORMAT_R8G8B8A8_*, in that it is an equivalent size to the z/s # format. This is mainly for hw that has some sort of bandwidth compressed # format where the compression for z24s8 is not equivalent to r8g8b8a8, # and therefore some special handling is required for blits. - name: Z24_UNORM_S8_UINT_AS_R8G8B8A8 layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, W] # YUV formats # http://www.fourcc.org/yuv.php#UYVY - name: UYVY layout: subsampled colorspace: YUV block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: VYUY layout: subsampled colorspace: YUV block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] # http://www.fourcc.org/yuv.php#YUYV (a.k.a http://www.fourcc.org/yuv.php#YUY2) - name: YUYV layout: subsampled colorspace: YUV block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: YVYU layout: subsampled colorspace: YUV block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: AYUV layout: other colorspace: YUV block: {width: 4, height: 4, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] - name: XYUV layout: other colorspace: YUV block: {width: 4, height: 4, depth: 1} channels: [UN8] swizzles: [X, Y, Z, 1] # same subsampling but with rgb channels - name: R8G8_B8G8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: G8R8_G8B8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: G8R8_B8R8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Z, Y, X, 1] - name: R8G8_R8B8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Z, Y, X, 1] - name: B8R8_G8R8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Y, X, Z, 1] - name: R8B8_R8G8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [Y, X, Z, 1] - name: G8B8_G8R8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: B8G8_R8G8_UNORM layout: subsampled colorspace: RGB block: {width: 2, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, 1] # some special formats not fitting anywhere else - name: R11G11B10_FLOAT layout: other colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F11, F11, F10] swizzles: [X, Y, Z, 1] - name: R9G9B9E5_FLOAT layout: other colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F9, F9, F9, X5] swizzles: [X, Y, Z, 1] - name: R1_UNORM layout: other colorspace: RGB block: {width: 8, height: 1, depth: 1} channels: [X8] swizzles: [X, 0, 0, 1] # A.k.a. D3DFMT_CxV8U8 - name: R8G8Bx_SNORM layout: other colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8] swizzles: [X, Y, Z, 1] # Compressed formats # - http://en.wikipedia.org/wiki/S3_Texture_Compression # - http://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt # - http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt # - http://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt # - http://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt # - http://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt # - http://msdn.microsoft.com/en-us/library/bb694531.aspx - name: DXT1_RGB layout: s3tc sublayout: dxt1 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: DXT1_RGBA layout: s3tc sublayout: dxt1 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, W] - name: DXT3_RGBA layout: s3tc sublayout: dxt3 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: DXT5_RGBA layout: s3tc sublayout: dxt5 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: DXT1_SRGB layout: s3tc sublayout: dxt1 colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: DXT1_SRGBA layout: s3tc sublayout: dxt1 colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, W] - name: DXT3_SRGBA layout: s3tc sublayout: dxt3 colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: DXT5_SRGBA layout: s3tc sublayout: dxt5 colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] # FXT1 compressed formats - name: FXT1_RGB layout: fxt1 colorspace: RGB block: {width: 8, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, 1] - name: FXT1_RGBA layout: fxt1 colorspace: RGB block: {width: 8, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: RGTC1_UNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, 0, 0, 1] - name: RGTC1_SNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, 0, 0, 1] - name: RGTC2_UNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, 0, 1] - name: RGTC2_SNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, 0, 1] - name: LATC1_UNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, X, X, 1] - name: LATC1_SNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, X, X, 1] - name: LATC2_UNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, X, X, Y] - name: LATC2_SNORM layout: rgtc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, X, X, Y] - name: ETC1_RGB8 layout: etc sublayout: etc1 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: ETC2_RGB8 layout: etc sublayout: etc2 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: ETC2_SRGB8 layout: etc sublayout: etc2 colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: ETC2_RGB8A1 layout: etc sublayout: etc2 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, W] - name: ETC2_SRGB8A1 layout: etc sublayout: etc2 colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, W] - name: ETC2_RGBA8 layout: etc sublayout: etc2 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ETC2_SRGBA8 layout: etc sublayout: etc2 colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ETC2_R11_UNORM layout: etc sublayout: etc2 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, 0, 0, 1] - name: ETC2_R11_SNORM layout: etc sublayout: etc2 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, 0, 0, 1] - name: ETC2_RG11_UNORM layout: etc sublayout: etc2 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, 0, 1] - name: ETC2_RG11_SNORM layout: etc sublayout: etc2 colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, 0, 1] - name: BPTC_RGBA_UNORM layout: bptc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: BPTC_SRGBA layout: bptc colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: BPTC_RGB_FLOAT layout: bptc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, 1] - name: BPTC_RGB_UFLOAT layout: bptc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, 1] - name: ASTC_4x4 layout: astc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x4 layout: astc colorspace: RGB block: {width: 5, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x5 layout: astc colorspace: RGB block: {width: 5, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x5 layout: astc colorspace: RGB block: {width: 6, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x6 layout: astc colorspace: RGB block: {width: 6, height: 6, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_8x5 layout: astc colorspace: RGB block: {width: 8, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_8x6 layout: astc colorspace: RGB block: {width: 8, height: 6, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_8x8 layout: astc colorspace: RGB block: {width: 8, height: 8, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x5 layout: astc colorspace: RGB block: {width: 10, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x6 layout: astc colorspace: RGB block: {width: 10, height: 6, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x8 layout: astc colorspace: RGB block: {width: 10, height: 8, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x10 layout: astc colorspace: RGB block: {width: 10, height: 10, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_12x10 layout: astc colorspace: RGB block: {width: 12, height: 10, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_12x12 layout: astc colorspace: RGB block: {width: 12, height: 12, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_4x4_SRGB layout: astc colorspace: SRGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x4_SRGB layout: astc colorspace: SRGB block: {width: 5, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x5_SRGB layout: astc colorspace: SRGB block: {width: 5, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x5_SRGB layout: astc colorspace: SRGB block: {width: 6, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x6_SRGB layout: astc colorspace: SRGB block: {width: 6, height: 6, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_8x5_SRGB layout: astc colorspace: SRGB block: {width: 8, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_8x6_SRGB layout: astc colorspace: SRGB block: {width: 8, height: 6, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_8x8_SRGB layout: astc colorspace: SRGB block: {width: 8, height: 8, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x5_SRGB layout: astc colorspace: SRGB block: {width: 10, height: 5, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x6_SRGB layout: astc colorspace: SRGB block: {width: 10, height: 6, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x8_SRGB layout: astc colorspace: SRGB block: {width: 10, height: 8, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_10x10_SRGB layout: astc colorspace: SRGB block: {width: 10, height: 10, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_12x10_SRGB layout: astc colorspace: SRGB block: {width: 12, height: 10, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_12x12_SRGB layout: astc colorspace: SRGB block: {width: 12, height: 12, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_3x3x3 layout: astc colorspace: RGB block: {width: 3, height: 3, depth: 3} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_4x3x3 layout: astc colorspace: RGB block: {width: 4, height: 3, depth: 3} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_4x4x3 layout: astc colorspace: RGB block: {width: 4, height: 4, depth: 3} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_4x4x4 layout: astc colorspace: RGB block: {width: 4, height: 4, depth: 4} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x4x4 layout: astc colorspace: RGB block: {width: 5, height: 4, depth: 4} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x5x4 layout: astc colorspace: RGB block: {width: 5, height: 5, depth: 4} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x5x5 layout: astc colorspace: RGB block: {width: 5, height: 5, depth: 5} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x5x5 layout: astc colorspace: RGB block: {width: 6, height: 5, depth: 5} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x6x5 layout: astc colorspace: RGB block: {width: 6, height: 6, depth: 5} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x6x6 layout: astc colorspace: RGB block: {width: 6, height: 6, depth: 6} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_3x3x3_SRGB layout: astc colorspace: SRGB block: {width: 3, height: 3, depth: 3} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_4x3x3_SRGB layout: astc colorspace: SRGB block: {width: 4, height: 3, depth: 3} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_4x4x3_SRGB layout: astc colorspace: SRGB block: {width: 4, height: 4, depth: 3} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_4x4x4_SRGB layout: astc colorspace: SRGB block: {width: 4, height: 4, depth: 4} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x4x4_SRGB layout: astc colorspace: SRGB block: {width: 5, height: 4, depth: 4} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x5x4_SRGB layout: astc colorspace: SRGB block: {width: 5, height: 5, depth: 4} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_5x5x5_SRGB layout: astc colorspace: SRGB block: {width: 5, height: 5, depth: 5} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x5x5_SRGB layout: astc colorspace: SRGB block: {width: 6, height: 5, depth: 5} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x6x5_SRGB layout: astc colorspace: SRGB block: {width: 6, height: 6, depth: 5} channels: [X128] swizzles: [X, Y, Z, W] - name: ASTC_6x6x6_SRGB layout: astc colorspace: SRGB block: {width: 6, height: 6, depth: 6} channels: [X128] swizzles: [X, Y, Z, W] - name: ATC_RGB layout: atc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: ATC_RGBA_EXPLICIT layout: atc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] - name: ATC_RGBA_INTERPOLATED layout: atc colorspace: RGB block: {width: 4, height: 4, depth: 1} channels: [X128] swizzles: [X, Y, Z, W] # Straightforward D3D10-like formats (also used for # vertex buffer element description) # # See also: # - src/gallium/auxiliary/translate/translate_generic.c # - src/mesa/state_tracker/st_draw.c - name: R64_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F64] swizzles: [X, 0, 0, 1] - name: R64G64_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F64, F64] swizzles: [X, Y, 0, 1] - name: R64G64B64_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F64, F64, F64] swizzles: [X, Y, Z, 1] - name: R64G64B64A64_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F64, F64, F64, F64] swizzles: [X, Y, Z, W] - name: R32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32] swizzles: [X, 0, 0, 1] - name: R32G32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32, F32] swizzles: [X, Y, 0, 1] - name: R32G32B32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32, F32, F32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32, F32, F32, F32] swizzles: [X, Y, Z, W] - name: R32_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN32] swizzles: [X, 0, 0, 1] - name: R32G32_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN32, UN32] swizzles: [X, Y, 0, 1] - name: R32G32B32_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN32, UN32, UN32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN32, UN32, UN32, UN32] swizzles: [X, Y, Z, W] - name: R32_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U32] swizzles: [X, 0, 0, 1] - name: R32G32_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U32, U32] swizzles: [X, Y, 0, 1] - name: R32G32B32_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U32, U32, U32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U32, U32, U32, U32] swizzles: [X, Y, Z, W] - name: R32_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN32] swizzles: [X, 0, 0, 1] - name: R32G32_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN32, SN32] swizzles: [X, Y, 0, 1] - name: R32G32B32_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN32, SN32, SN32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN32, SN32, SN32, SN32] swizzles: [X, Y, Z, W] - name: R32_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S32] swizzles: [X, 0, 0, 1] - name: R32G32_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S32, S32] swizzles: [X, Y, 0, 1] - name: R32G32B32_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S32, S32, S32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S32, S32, S32, S32] swizzles: [X, Y, Z, W] - name: R16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16] swizzles: [X, 0, 0, 1] - name: R16G16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16, F16] swizzles: [X, Y, 0, 1] - name: R16G16B16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16, F16, F16] swizzles: [X, Y, Z, 1] - name: R16G16B16A16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16, F16, F16, F16] swizzles: [X, Y, Z, W] - name: R16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16] swizzles: [X, 0, 0, 1] - name: R16G16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16] swizzles: [X, Y, 0, 1] little_endian: alias: RG1616_UNORM big_endian: alias: GR1616_UNORM - name: R16G16B16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16, UN16] swizzles: [X, Y, Z, 1] - name: R16G16B16A16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16, UN16, UN16] swizzles: [X, Y, Z, W] - name: R16_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U16] swizzles: [X, 0, 0, 1] - name: R16G16_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U16, U16] swizzles: [X, Y, 0, 1] - name: R16G16B16_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U16, U16, U16] swizzles: [X, Y, Z, 1] - name: R16G16B16A16_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U16, U16, U16, U16] swizzles: [X, Y, Z, W] - name: R16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16] swizzles: [X, 0, 0, 1] - name: R16G16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16, SN16] swizzles: [X, Y, 0, 1] little_endian: alias: RG1616_SNORM big_endian: alias: GR1616_SNORM - name: R16G16B16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16, SN16, SN16] swizzles: [X, Y, Z, 1] - name: R16G16B16A16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16, SN16, SN16, SN16] swizzles: [X, Y, Z, W] - name: R16_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S16] swizzles: [X, 0, 0, 1] - name: R16G16_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S16, S16] swizzles: [X, Y, 0, 1] - name: R16G16B16_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S16, S16, S16] swizzles: [X, Y, Z, 1] - name: R16G16B16A16_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S16, S16, S16, S16] swizzles: [X, Y, Z, W] - name: R8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, 0, 0, 1] - name: R8G8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8] swizzles: [X, Y, 0, 1] little_endian: alias: RG88_UNORM big_endian: alias: GR88_UNORM - name: R8G8B8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8] swizzles: [X, Y, Z, 1] - name: B8G8R8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8] swizzles: [Z, Y, X, 1] - name: R8G8B8A8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, UN8] swizzles: [X, Y, Z, W] little_endian: alias: RGBA8888_UNORM big_endian: alias: ABGR8888_UNORM - name: R8_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8] swizzles: [X, 0, 0, 1] - name: R8G8_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8, U8] swizzles: [X, Y, 0, 1] - name: R8G8B8_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8, U8, U8] swizzles: [X, Y, Z, 1] - name: B8G8R8_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8, U8, U8] swizzles: [Z, Y, X, 1] - name: R8G8B8A8_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8, U8, U8, U8] swizzles: [X, Y, Z, W] little_endian: alias: RGBA8888_USCALED - name: B8G8R8A8_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8, U8, U8, U8] swizzles: [Z, Y, X, W] - name: A8B8G8R8_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U8, U8, U8, U8] swizzles: [W, Z, Y, X] big_endian: alias: RGBA8888_USCALED - name: R8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8] swizzles: [X, 0, 0, 1] - name: R8G8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8] swizzles: [X, Y, 0, 1] little_endian: alias: RG88_SNORM big_endian: alias: GR88_SNORM - name: R8G8B8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8] swizzles: [X, Y, Z, 1] - name: B8G8R8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8] swizzles: [Z, Y, X, 1] - name: R8G8B8A8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8, SN8] swizzles: [X, Y, Z, W] little_endian: alias: RGBA8888_SNORM big_endian: alias: ABGR8888_SNORM - name: B8G8R8A8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8, SN8] swizzles: [Z, Y, X, W] - name: R8_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S8] swizzles: [X, 0, 0, 1] - name: R8G8_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S8, S8] swizzles: [X, Y, 0, 1] - name: R8G8B8_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S8, S8, S8] swizzles: [X, Y, Z, 1] - name: B8G8R8_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S8, S8, S8] swizzles: [Z, Y, X, 1] - name: R8G8B8A8_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S8, S8, S8, S8] swizzles: [X, Y, Z, W] little_endian: alias: RGBA8888_SSCALED - name: B8G8R8A8_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S8, S8, S8, S8] swizzles: [Z, Y, X, W] - name: A8B8G8R8_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S8, S8, S8, S8] swizzles: [W, Z, Y, X] big_endian: alias: RGBA8888_SSCALED # GL-specific vertex buffer element formats # A.k.a. GL_FIXED - name: R32_FIXED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [H32] swizzles: [X, 0, 0, 1] - name: R32G32_FIXED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [H32, H32] swizzles: [X, Y, 0, 1] - name: R32G32B32_FIXED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [H32, H32, H32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_FIXED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [H32, H32, H32, H32] swizzles: [X, Y, Z, W] # D3D9-specific vertex buffer element formats # See also: # - http://msdn.microsoft.com/en-us/library/bb172533.aspx # A.k.a. D3DDECLTYPE_UDEC3 - name: R10G10B10X2_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U10, U10, U10, X2] swizzles: [X, Y, Z, 1] # A.k.a. D3DDECLTYPE_DEC3N - name: R10G10B10X2_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN10, SN10, SN10, X2] swizzles: [X, Y, Z, 1] - name: R10G10B10X2_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP10, SP10, SP10, X2] swizzles: [X, Y, Z, 1] - name: YV12 layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: YV16 layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: IYUV layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: NV12 layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: NV21 layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y8_400_UNORM layout: other colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, 0, 0, 1] # RGB version of NV12 and YV12 for hardware that supports sampling from # multiplane textures but needs color-space conversion in the shader. - name: R8_G8B8_420_UNORM layout: planar2 colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] - name: R8_B8G8_420_UNORM layout: planar2 colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] - name: G8_B8R8_420_UNORM layout: planar2 colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] - name: R8_G8_B8_420_UNORM layout: planar3 colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] - name: R8_B8_G8_420_UNORM layout: planar3 colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] - name: G8_B8_R8_420_UNORM layout: planar3 colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] - name: R8_G8_B8_UNORM layout: planar3 colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, Y, Z, W] # While most of Mesa uses R8 for Y, U, and V planes, freedreno requires distinguishing # between tiled Y8 data and tiled R8 data. - name: Y8_UNORM layout: other colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [UN8] swizzles: [X, 0, 0, 1] - name: Y8_U8_V8_422_UNORM layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y8_U8V8_422_UNORM layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y8_U8_V8_444_UNORM layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y8_U8_V8_440_UNORM layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y16_U16_V16_420_UNORM layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y16_U16_V16_422_UNORM layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y16_U16V16_422_UNORM layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y16_U16_V16_444_UNORM layout: planar3 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: P010 layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: P012 layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: P016 layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: P030 layout: planar2 colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [] swizzles: [X, Y, Z, W] - name: Y210 layout: subsampled colorspace: YUV block: {width: 2, height: 1, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: Y212 layout: subsampled colorspace: YUV block: {width: 2, height: 1, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: Y216 layout: subsampled colorspace: YUV block: {width: 2, height: 1, depth: 1} channels: [X64] swizzles: [X, Y, Z, 1] - name: Y410 layout: other colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [UN10, UN10, UN10, UN2] swizzles: [Y, Z, X, W] - name: Y412 layout: other colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16, UN16, UN16] swizzles: [Y, Z, X, W] - name: Y416 layout: other colorspace: YUV block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16, UN16, UN16] swizzles: [Y, Z, X, W] # Usually used to implement IA44 and AI44 formats in video decoding - name: A4R4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4] swizzles: [Y, 0, 0, X] - name: R4A4_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN4, UN4] swizzles: [X, 0, 0, Y] - name: R8A8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8] swizzles: [X, 0, 0, Y] - name: A8R8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8] swizzles: [Y, 0, 0, X] # ARB_vertex_type_10_10_10_2_REV - name: R10G10B10A2_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U10, U10, U10, U2] swizzles: [X, Y, Z, W] - name: R10G10B10A2_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S10, S10, S10, S2] swizzles: [X, Y, Z, W] - name: R10G10B10A2_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN10, SN10, SN10, SN2] swizzles: [X, Y, Z, W] - name: B10G10R10A2_USCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [U10, U10, U10, U2] swizzles: [Z, Y, X, W] - name: B10G10R10A2_SSCALED layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [S10, S10, S10, S2] swizzles: [Z, Y, X, W] - name: B10G10R10A2_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN10, SN10, SN10, SN2] swizzles: [Z, Y, X, W] - name: R8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8] swizzles: [X, 0, 0, 1] - name: R8G8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8] swizzles: [X, Y, 0, 1] - name: R8G8B8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8] swizzles: [X, Y, Z, 1] - name: R8G8B8A8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8, UP8] swizzles: [X, Y, Z, W] little_endian: alias: RGBA8888_UINT big_endian: alias: ABGR8888_UINT - name: R8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8] swizzles: [X, 0, 0, 1] - name: R8G8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8] swizzles: [X, Y, 0, 1] - name: R8G8B8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8] swizzles: [X, Y, Z, 1] - name: R8G8B8A8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8, SP8] swizzles: [X, Y, Z, W] little_endian: alias: RGBA8888_SINT - name: R16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16] swizzles: [X, 0, 0, 1] - name: R16G16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16, UP16] swizzles: [X, Y, 0, 1] - name: R16G16B16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16, UP16, UP16] swizzles: [X, Y, Z, 1] - name: R16G16B16A16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16, UP16, UP16, UP16] swizzles: [X, Y, Z, W] - name: R16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16] swizzles: [X, 0, 0, 1] - name: R16G16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16, SP16] swizzles: [X, Y, 0, 1] - name: R16G16B16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16, SP16, SP16] swizzles: [X, Y, Z, 1] - name: R16G16B16A16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16, SP16, SP16, SP16] swizzles: [X, Y, Z, W] - name: R32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32] swizzles: [X, 0, 0, 1] - name: R32G32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32, UP32] swizzles: [X, Y, 0, 1] - name: R32G32B32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32, UP32, UP32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32, UP32, UP32, UP32] swizzles: [X, Y, Z, W] - name: R32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32] swizzles: [X, 0, 0, 1] - name: R32G32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32, SP32] swizzles: [X, Y, 0, 1] - name: R32G32B32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32, SP32, SP32] swizzles: [X, Y, Z, 1] - name: R32G32B32A32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32, SP32, SP32, SP32] swizzles: [X, Y, Z, W] - name: R64_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP64] swizzles: [X, 0, 0, 1] - name: R64G64_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP64, UP64] swizzles: [X, Y, 0, 1] - name: R64G64B64_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP64, UP64, UP64] swizzles: [X, Y, Z, 1] - name: R64G64B64A64_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP64, UP64, UP64, UP64] swizzles: [X, Y, Z, W] - name: R64_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP64] swizzles: [X, 0, 0, 1] - name: R64G64_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP64, SP64] swizzles: [X, Y, 0, 1] - name: R64G64B64_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP64, SP64, SP64] swizzles: [X, Y, Z, 1] - name: R64G64B64A64_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP64, SP64, SP64, SP64] swizzles: [X, Y, Z, W] - name: A8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8] swizzles: [0, 0, 0, X] - name: I8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8] swizzles: [X, X, X, X] - name: L8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8] swizzles: [X, X, X, 1] - name: L8A8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8] swizzles: [X, X, X, Y] - name: A8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8] swizzles: [0, 0, 0, X] - name: I8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8] swizzles: [X, X, X, X] - name: L8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8] swizzles: [X, X, X, 1] - name: L8A8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8] swizzles: [X, X, X, Y] - name: A16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16] swizzles: [0, 0, 0, X] - name: I16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16] swizzles: [X, X, X, X] - name: L16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16] swizzles: [X, X, X, 1] - name: L16A16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16, UP16] swizzles: [X, X, X, Y] - name: A16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16] swizzles: [0, 0, 0, X] - name: I16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16] swizzles: [X, X, X, X] - name: L16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16] swizzles: [X, X, X, 1] - name: L16A16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16, SP16] swizzles: [X, X, X, Y] - name: A32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32] swizzles: [0, 0, 0, X] - name: I32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32] swizzles: [X, X, X, X] - name: L32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32] swizzles: [X, X, X, 1] - name: L32A32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32, UP32] swizzles: [X, X, X, Y] - name: A32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32] swizzles: [0, 0, 0, X] - name: I32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32] swizzles: [X, X, X, X] - name: L32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32] swizzles: [X, X, X, 1] - name: L32A32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32, SP32] swizzles: [X, X, X, Y] - name: B8G8R8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8] swizzles: [Z, Y, X, 1] - name: B8G8R8A8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8, UP8] swizzles: [Z, Y, X, W] little_endian: alias: BGRA8888_UINT big_endian: alias: ARGB8888_UINT - name: B8G8R8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8] swizzles: [Z, Y, X, 1] - name: B8G8R8A8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8, SP8] swizzles: [Z, Y, X, W] - name: A8R8G8B8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8, UP8] swizzles: [Y, Z, W, X] little_endian: alias: ARGB8888_UINT big_endian: alias: BGRA8888_UINT - name: A8B8G8R8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8, UP8] swizzles: [W, Z, Y, X] little_endian: alias: ABGR8888_UINT big_endian: alias: RGBA8888_UINT - name: A2R10G10B10_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP2, UP10, UP10, UP10] swizzles: [Y, Z, W, X] - name: A2B10G10R10_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP2, UP10, UP10, UP10] swizzles: [W, Z, Y, X] - name: B10G10R10A2_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP10, UP10, UP10, UP2] swizzles: [Z, Y, X, W] - name: B10G10R10A2_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP10, SP10, SP10, SP2] swizzles: [Z, Y, X, W] - name: R5G6B5_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP5, UP6, UP5] swizzles: [X, Y, Z, 1] - name: B5G6R5_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP5, UP6, UP5] swizzles: [Z, Y, X, 1] - name: R3G3B2_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP3, UP3, UP2] swizzles: [X, Y, Z, 1] - name: B2G3R3_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP2, UP3, UP3] swizzles: [Z, Y, X, 1] - name: R4G4B4A4_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP4, UP4, UP4, UP4] swizzles: [X, Y, Z, W] - name: B4G4R4A4_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP4, UP4, UP4, UP4] swizzles: [Z, Y, X, W] - name: A4R4G4B4_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP4, UP4, UP4, UP4] swizzles: [Y, Z, W, X] - name: A4B4G4R4_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP4, UP4, UP4, UP4] swizzles: [W, Z, Y, X] - name: A1R5G5B5_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP1, UP5, UP5, UP5] swizzles: [Y, Z, W, X] - name: A1B5G5R5_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP1, UP5, UP5, UP5] swizzles: [W, Z, Y, X] - name: R5G5B5A1_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP5, UP5, UP5, UP1] swizzles: [X, Y, Z, W] - name: B5G5R5A1_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP5, UP5, UP5, UP1] swizzles: [Z, Y, X, W] - name: R8G8B8X8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8, X8] swizzles: [X, Y, Z, 1] little_endian: alias: RGBX8888_SNORM big_endian: alias: XBGR8888_SNORM - name: R8G8B8X8_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8, UN8, X8] swizzles: [X, Y, Z, 1] little_endian: alias: RGBX8888_SRGB big_endian: alias: XBGR8888_SRGB - name: R8G8B8X8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8, UP8, X8] swizzles: [X, Y, Z, 1] - name: R8G8B8X8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8, X8] swizzles: [X, Y, Z, 1] - name: B10G10R10X2_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN10, UN10, UN10, X2] swizzles: [Z, Y, X, 1] - name: B10G10R10X2_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN10, SN10, SN10, X2] swizzles: [Z, Y, X, 1] - name: B10G10R10X2_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP10, SP10, SP10, X2] swizzles: [Z, Y, X, 1] - name: R16G16B16X16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16, UN16, X16] swizzles: [X, Y, Z, 1] - name: R16G16B16X16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16, SN16, SN16, X16] swizzles: [X, Y, Z, 1] - name: R16G16B16X16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16, F16, F16, X16] swizzles: [X, Y, Z, 1] - name: R16G16B16X16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16, UP16, UP16, X16] swizzles: [X, Y, Z, 1] - name: R16G16B16X16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16, SP16, SP16, X16] swizzles: [X, Y, Z, 1] - name: R32G32B32X32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32, F32, F32, X32] swizzles: [X, Y, Z, 1] - name: R32G32B32X32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32, UP32, UP32, X32] swizzles: [X, Y, Z, 1] - name: R32G32B32X32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32, SP32, SP32, X32] swizzles: [X, Y, Z, 1] - name: R8A8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8] swizzles: [X, 0, 0, Y] - name: R16A16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16] swizzles: [X, 0, 0, Y] - name: R16A16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16, SN16] swizzles: [X, 0, 0, Y] - name: R16A16_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F16, F16] swizzles: [X, 0, 0, Y] - name: R32A32_FLOAT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [F32, F32] swizzles: [X, 0, 0, Y] - name: R8A8_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP8, UP8] swizzles: [X, 0, 0, Y] - name: R8A8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8] swizzles: [X, 0, 0, Y] - name: R16A16_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP16, UP16] swizzles: [X, 0, 0, Y] - name: R16A16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16, SP16] swizzles: [X, 0, 0, Y] - name: R32A32_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP32, UP32] swizzles: [X, 0, 0, Y] - name: R32A32_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP32, SP32] swizzles: [X, 0, 0, Y] - name: R10G10B10A2_UINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UP10, UP10, UP10, UP2] swizzles: [X, Y, Z, W] - name: R10G10B10A2_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP10, SP10, SP10, SP2] swizzles: [X, Y, Z, W] - name: B5G6R5_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN6, UN5] swizzles: [Z, Y, X, 1] - name: R5G6B5_SRGB layout: plain colorspace: SRGB block: {width: 1, height: 1, depth: 1} channels: [UN5, UN6, UN5] swizzles: [X, Y, Z, 1] - name: G8R8_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN8, UN8] swizzles: [Y, X, 0, 1] little_endian: alias: GR88_UNORM big_endian: alias: RG88_UNORM - name: G8R8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8] swizzles: [Y, X, 0, 1] little_endian: alias: GR88_SNORM big_endian: alias: RG88_SNORM - name: G8R8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8] swizzles: [Y, X, 0, 1] - name: G16R16_UNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [UN16, UN16] swizzles: [Y, X, 0, 1] little_endian: alias: GR1616_UNORM big_endian: alias: RG1616_UNORM - name: G16R16_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN16, SN16] swizzles: [Y, X, 0, 1] little_endian: alias: GR1616_SNORM big_endian: alias: RG1616_SNORM - name: G16R16_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP16, SP16] swizzles: [Y, X, 0, 1] - name: A8B8G8R8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SN8, SN8, SN8, SN8] swizzles: [W, Z, Y, X] little_endian: alias: ABGR8888_SNORM big_endian: alias: RGBA8888_SNORM - name: A8B8G8R8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [SP8, SP8, SP8, SP8] swizzles: [W, Z, Y, X] big_endian: alias: RGBA8888_SINT - name: X8B8G8R8_SNORM layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X8, SN8, SN8, SN8] swizzles: [W, Z, Y, 1] little_endian: alias: XBGR8888_SNORM big_endian: alias: RGBX8888_SNORM - name: X8B8G8R8_SINT layout: plain colorspace: RGB block: {width: 1, height: 1, depth: 1} channels: [X8, SP8, SP8, SP8] swizzles: [W, Z, Y, 1]