panfrost: XMLify enum mali_format

Note we are just handling the index part of the format. This is *not*
the full format, which would include the swizzle (or v7 equivalent) and
the sRGB flag. But in the interest of incremental progress, let's move
this part over first and save on decoding complexity.

To avoid substantial churn from prefixing FORMAT to format names, we
special case the enums to avoid the prefix. This is undesirable but
reduces churn, especially since format handling is slated for an
overhaul soon to accomodate v7

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6195>
This commit is contained in:
Alyssa Rosenzweig 2020-08-11 21:30:46 -04:00 committed by Tomeu Vizoso
parent 78445ce695
commit 0c621dcf0e
4 changed files with 112 additions and 275 deletions

View File

@ -217,129 +217,6 @@ enum mali_channel {
#define MALI_CHANNEL_FLOAT 7
#define MALI_EXTRACT_BITS(fmt) (fmt & 0x7)
enum mali_format {
/* Not all formats are in fact available, need to query dynamically to
* check. Factory settings for Juno enables only ETC2 and ASTC, no
* DXT/RGTC formats.
* */
/* 0x0 invalid */
MALI_ETC2_RGB8 = MALI_FORMAT_COMPRESSED | 0x1,
MALI_ETC2_R11_UNORM = MALI_FORMAT_COMPRESSED | 0x2,
MALI_ETC2_RGBA8 = MALI_FORMAT_COMPRESSED | 0x3,
MALI_ETC2_RG11_UNORM = MALI_FORMAT_COMPRESSED | 0x4,
/* 0x5 reserved */
MALI_NXR = MALI_FORMAT_COMPRESSED | 0x6, /* Nokia eXtended Range */
MALI_BC1_UNORM = MALI_FORMAT_COMPRESSED | 0x7, /* DXT1 */
MALI_BC2_UNORM = MALI_FORMAT_COMPRESSED | 0x8, /* DXT3 */
MALI_BC3_UNORM = MALI_FORMAT_COMPRESSED | 0x9, /* DXT5 */
MALI_BC4_UNORM = MALI_FORMAT_COMPRESSED | 0xA, /* RGTC1_UNORM */
MALI_BC4_SNORM = MALI_FORMAT_COMPRESSED | 0xB, /* RGTC1_SNORM */
MALI_BC5_UNORM = MALI_FORMAT_COMPRESSED | 0xC, /* RGTC2_UNORM */
MALI_BC5_SNORM = MALI_FORMAT_COMPRESSED | 0xD, /* RGTC2_SNORM */
MALI_BC6H_UF16 = MALI_FORMAT_COMPRESSED | 0xE,
MALI_BC6H_SF16 = MALI_FORMAT_COMPRESSED | 0xF,
MALI_BC7_UNORM = MALI_FORMAT_COMPRESSED | 0x10,
MALI_ETC2_R11_SNORM = MALI_FORMAT_COMPRESSED | 0x11, /* EAC_SNORM */
MALI_ETC2_RG11_SNORM = MALI_FORMAT_COMPRESSED | 0x12, /* EAC_SNORM */
MALI_ETC2_RGB8A1 = MALI_FORMAT_COMPRESSED | 0x13,
MALI_ASTC_3D_LDR = MALI_FORMAT_COMPRESSED | 0x14,
MALI_ASTC_3D_HDR = MALI_FORMAT_COMPRESSED | 0x15,
MALI_ASTC_2D_LDR = MALI_FORMAT_COMPRESSED | 0x16,
MALI_ASTC_2D_HDR = MALI_FORMAT_COMPRESSED | 0x17,
MALI_RGB565 = MALI_FORMAT_SPECIAL | 0x0,
MALI_RGB5_X1_UNORM = MALI_FORMAT_SPECIAL | 0x1,
MALI_RGB5_A1_UNORM = MALI_FORMAT_SPECIAL | 0x2,
MALI_RGB10_A2_UNORM = MALI_FORMAT_SPECIAL | 0x3,
MALI_RGB10_A2_SNORM = MALI_FORMAT_SPECIAL | 0x5,
MALI_RGB10_A2UI = MALI_FORMAT_SPECIAL | 0x7,
MALI_RGB10_A2I = MALI_FORMAT_SPECIAL | 0x9,
MALI_RGB332_UNORM = MALI_FORMAT_SPECIAL | 0xb,
MALI_RGB233_UNORM = MALI_FORMAT_SPECIAL | 0xc,
MALI_Z24X8_UNORM = MALI_FORMAT_SPECIAL | 0xd,
MALI_R32_FIXED = MALI_FORMAT_SPECIAL | 0x11,
MALI_RG32_FIXED = MALI_FORMAT_SPECIAL | 0x12,
MALI_RGB32_FIXED = MALI_FORMAT_SPECIAL | 0x13,
MALI_RGBA32_FIXED = MALI_FORMAT_SPECIAL | 0x14,
MALI_R11F_G11F_B10F = MALI_FORMAT_SPECIAL | 0x19,
MALI_R9F_G9F_B9F_E5F = MALI_FORMAT_SPECIAL | 0x1b,
/* Only used for varyings, to indicate the transformed gl_Position */
MALI_VARYING_POS = MALI_FORMAT_SPECIAL | 0x1e,
/* Only used for varyings, to indicate that the write should be
* discarded.
*/
MALI_VARYING_DISCARD = MALI_FORMAT_SPECIAL | 0x1f,
MALI_R8_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(1) | MALI_CHANNEL_8,
MALI_R16_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(1) | MALI_CHANNEL_16,
MALI_R32_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(1) | MALI_CHANNEL_32,
MALI_RG8_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(2) | MALI_CHANNEL_8,
MALI_RG16_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(2) | MALI_CHANNEL_16,
MALI_RG32_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(2) | MALI_CHANNEL_32,
MALI_RGB8_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(3) | MALI_CHANNEL_8,
MALI_RGB16_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(3) | MALI_CHANNEL_16,
MALI_RGB32_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(3) | MALI_CHANNEL_32,
MALI_RGBA8_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_8,
MALI_RGBA16_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_16,
MALI_RGBA32_SNORM = MALI_FORMAT_SNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_32,
MALI_R8UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(1) | MALI_CHANNEL_8,
MALI_R16UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(1) | MALI_CHANNEL_16,
MALI_R32UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(1) | MALI_CHANNEL_32,
MALI_RG8UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(2) | MALI_CHANNEL_8,
MALI_RG16UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(2) | MALI_CHANNEL_16,
MALI_RG32UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(2) | MALI_CHANNEL_32,
MALI_RGB8UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(3) | MALI_CHANNEL_8,
MALI_RGB16UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(3) | MALI_CHANNEL_16,
MALI_RGB32UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(3) | MALI_CHANNEL_32,
MALI_RGBA8UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(4) | MALI_CHANNEL_8,
MALI_RGBA16UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(4) | MALI_CHANNEL_16,
MALI_RGBA32UI = MALI_FORMAT_UINT | MALI_NR_CHANNELS(4) | MALI_CHANNEL_32,
MALI_R8_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(1) | MALI_CHANNEL_8,
MALI_R16_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(1) | MALI_CHANNEL_16,
MALI_R32_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(1) | MALI_CHANNEL_32,
MALI_R32F = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(1) | MALI_CHANNEL_FLOAT,
MALI_RG8_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(2) | MALI_CHANNEL_8,
MALI_RG16_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(2) | MALI_CHANNEL_16,
MALI_RG32_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(2) | MALI_CHANNEL_32,
MALI_RG32F = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(2) | MALI_CHANNEL_FLOAT,
MALI_RGB8_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(3) | MALI_CHANNEL_8,
MALI_RGB16_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(3) | MALI_CHANNEL_16,
MALI_RGB32_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(3) | MALI_CHANNEL_32,
MALI_RGB32F = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(3) | MALI_CHANNEL_FLOAT,
MALI_RGBA4_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_4,
MALI_RGBA8_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_8,
MALI_RGBA16_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_16,
MALI_RGBA32_UNORM = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_32,
MALI_RGBA32F = MALI_FORMAT_UNORM | MALI_NR_CHANNELS(4) | MALI_CHANNEL_FLOAT,
MALI_R8I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(1) | MALI_CHANNEL_8,
MALI_R16I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(1) | MALI_CHANNEL_16,
MALI_R32I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(1) | MALI_CHANNEL_32,
MALI_R16F = MALI_FORMAT_SINT | MALI_NR_CHANNELS(1) | MALI_CHANNEL_FLOAT,
MALI_RG8I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(2) | MALI_CHANNEL_8,
MALI_RG16I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(2) | MALI_CHANNEL_16,
MALI_RG32I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(2) | MALI_CHANNEL_32,
MALI_RG16F = MALI_FORMAT_SINT | MALI_NR_CHANNELS(2) | MALI_CHANNEL_FLOAT,
MALI_RGB8I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(3) | MALI_CHANNEL_8,
MALI_RGB16I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(3) | MALI_CHANNEL_16,
MALI_RGB32I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(3) | MALI_CHANNEL_32,
MALI_RGB16F = MALI_FORMAT_SINT | MALI_NR_CHANNELS(3) | MALI_CHANNEL_FLOAT,
MALI_RGBA8I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(4) | MALI_CHANNEL_8,
MALI_RGBA16I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(4) | MALI_CHANNEL_16,
MALI_RGBA32I = MALI_FORMAT_SINT | MALI_NR_CHANNELS(4) | MALI_CHANNEL_32,
MALI_RGBA16F = MALI_FORMAT_SINT | MALI_NR_CHANNELS(4) | MALI_CHANNEL_FLOAT,
MALI_RGBA4 = MALI_FORMAT_SPECIAL2 | 0x8,
MALI_RGBA8_2 = MALI_FORMAT_SPECIAL2 | 0xd,
MALI_RGB10_A2_2 = MALI_FORMAT_SPECIAL2 | 0xe,
};
/* Applies to midgard1.flags_lo */
/* Should be set when the fragment shader updates the depth value. */

View File

@ -334,125 +334,6 @@ static const struct pandecode_flag_info sfbd_unk2_info [] = {
};
#undef FLAG_INFO
#define DEFINE_CASE(name) case MALI_## name: return "MALI_" #name
static char *pandecode_format(enum mali_format format)
{
static char unk_format_str[10];
switch (format) {
DEFINE_CASE(ETC2_RGB8);
DEFINE_CASE(ETC2_R11_UNORM);
DEFINE_CASE(ETC2_RGBA8);
DEFINE_CASE(ETC2_RG11_UNORM);
DEFINE_CASE(ETC2_R11_SNORM);
DEFINE_CASE(ETC2_RG11_SNORM);
DEFINE_CASE(ETC2_RGB8A1);
DEFINE_CASE(NXR);
DEFINE_CASE(BC1_UNORM);
DEFINE_CASE(BC2_UNORM);
DEFINE_CASE(BC3_UNORM);
DEFINE_CASE(BC4_UNORM);
DEFINE_CASE(BC4_SNORM);
DEFINE_CASE(BC5_UNORM);
DEFINE_CASE(BC5_SNORM);
DEFINE_CASE(BC6H_UF16);
DEFINE_CASE(BC6H_SF16);
DEFINE_CASE(BC7_UNORM);
DEFINE_CASE(ASTC_3D_LDR);
DEFINE_CASE(ASTC_3D_HDR);
DEFINE_CASE(ASTC_2D_LDR);
DEFINE_CASE(ASTC_2D_HDR);
DEFINE_CASE(RGB565);
DEFINE_CASE(RGB5_X1_UNORM);
DEFINE_CASE(RGB5_A1_UNORM);
DEFINE_CASE(RGB10_A2_UNORM);
DEFINE_CASE(RGB10_A2_SNORM);
DEFINE_CASE(RGB10_A2UI);
DEFINE_CASE(RGB10_A2I);
DEFINE_CASE(RGB332_UNORM);
DEFINE_CASE(RGB233_UNORM);
DEFINE_CASE(Z24X8_UNORM);
DEFINE_CASE(R32_FIXED);
DEFINE_CASE(RG32_FIXED);
DEFINE_CASE(RGB32_FIXED);
DEFINE_CASE(RGBA32_FIXED);
DEFINE_CASE(R11F_G11F_B10F);
DEFINE_CASE(R9F_G9F_B9F_E5F);
DEFINE_CASE(VARYING_POS);
DEFINE_CASE(VARYING_DISCARD);
DEFINE_CASE(R8_SNORM);
DEFINE_CASE(R16_SNORM);
DEFINE_CASE(R32_SNORM);
DEFINE_CASE(RG8_SNORM);
DEFINE_CASE(RG16_SNORM);
DEFINE_CASE(RG32_SNORM);
DEFINE_CASE(RGB8_SNORM);
DEFINE_CASE(RGB16_SNORM);
DEFINE_CASE(RGB32_SNORM);
DEFINE_CASE(RGBA8_SNORM);
DEFINE_CASE(RGBA16_SNORM);
DEFINE_CASE(RGBA32_SNORM);
DEFINE_CASE(R8UI);
DEFINE_CASE(R16UI);
DEFINE_CASE(R32UI);
DEFINE_CASE(RG8UI);
DEFINE_CASE(RG16UI);
DEFINE_CASE(RG32UI);
DEFINE_CASE(RGB8UI);
DEFINE_CASE(RGB16UI);
DEFINE_CASE(RGB32UI);
DEFINE_CASE(RGBA8UI);
DEFINE_CASE(RGBA16UI);
DEFINE_CASE(RGBA32UI);
DEFINE_CASE(R8_UNORM);
DEFINE_CASE(R16_UNORM);
DEFINE_CASE(R32_UNORM);
DEFINE_CASE(R32F);
DEFINE_CASE(RG8_UNORM);
DEFINE_CASE(RG16_UNORM);
DEFINE_CASE(RG32_UNORM);
DEFINE_CASE(RG32F);
DEFINE_CASE(RGB8_UNORM);
DEFINE_CASE(RGB16_UNORM);
DEFINE_CASE(RGB32_UNORM);
DEFINE_CASE(RGB32F);
DEFINE_CASE(RGBA4_UNORM);
DEFINE_CASE(RGBA8_UNORM);
DEFINE_CASE(RGBA16_UNORM);
DEFINE_CASE(RGBA32_UNORM);
DEFINE_CASE(RGBA32F);
DEFINE_CASE(R8I);
DEFINE_CASE(R16I);
DEFINE_CASE(R32I);
DEFINE_CASE(RG8I);
DEFINE_CASE(R16F);
DEFINE_CASE(RG16I);
DEFINE_CASE(RG32I);
DEFINE_CASE(RG16F);
DEFINE_CASE(RGB8I);
DEFINE_CASE(RGB16I);
DEFINE_CASE(RGB32I);
DEFINE_CASE(RGB16F);
DEFINE_CASE(RGBA8I);
DEFINE_CASE(RGBA16I);
DEFINE_CASE(RGBA32I);
DEFINE_CASE(RGBA16F);
DEFINE_CASE(RGBA4);
DEFINE_CASE(RGBA8_2);
DEFINE_CASE(RGB10_A2_2);
default:
snprintf(unk_format_str, sizeof(unk_format_str), "MALI_0x%02x", format);
return unk_format_str;
}
}
#undef DEFINE_CASE
static char *pandecode_attr_mode_short(enum mali_attr_mode mode)
{
switch(mode) {
@ -918,33 +799,6 @@ pandecode_validate_format_swizzle(enum mali_format fmt, unsigned swizzle)
return (swizzle == default_swizzles[nr_comp - 1]);
}
/* Maps MALI_RGBA32F to rgba32f, etc */
static void
pandecode_format_short(enum mali_format fmt, bool srgb)
{
/* We want a type-like format, so cut off the initial MALI_ */
char *format = pandecode_format(fmt);
format += strlen("MALI_");
unsigned len = strlen(format);
char *lower_format = calloc(1, len + 1);
for (unsigned i = 0; i < len; ++i)
lower_format[i] = tolower(format[i]);
/* Sanity check sRGB flag is applied to RGB, per the name */
if (srgb && lower_format[0] != 'r')
pandecode_msg("XXX: sRGB applied to non-colour format\n");
/* Just prefix with an s, so you get formats like srgba8_unorm */
if (srgb)
pandecode_log_cont("s");
pandecode_log_cont("%s", lower_format);
free(lower_format);
}
static void
pandecode_swizzle(unsigned swizzle, enum mali_format format)
{
@ -1580,8 +1434,7 @@ pandecode_bifrost_blend(void *descs, int job_no, int rt_no)
pandecode_prop("unk2 = 0x%" PRIx16, b->unk2);
pandecode_prop("index = 0x%" PRIx16, b->index);
pandecode_log(".format = ");
pandecode_format_short(b->format, false);
pandecode_log(".format = %s", mali_format_as_str(b->format));
pandecode_swizzle(b->swizzle, b->format);
pandecode_log_cont(",\n");
@ -1743,8 +1596,7 @@ pandecode_attribute_meta(int job_no, int count, const struct mali_vertex_tiler_p
pandecode_prop("unknown3 = 0x%" PRIx64, (u64) attr_meta->unknown3);
}
pandecode_format_short(attr_meta->format, false);
pandecode_log_cont(" %s_%u", prefix, attr_meta->index);
pandecode_log_cont("%s %s_%u", mali_format_as_str(attr_meta->format), prefix, attr_meta->index);
if (attr_meta->src_offset)
pandecode_log_cont("[%u]", attr_meta->src_offset);

View File

@ -592,11 +592,16 @@ class Parser(object):
self.emit_unpack_function(self.struct, self.group)
self.emit_print_function(self.struct, self.group)
def enum_prefix(self, name):
return
def emit_enum(self):
e_name = enum_name(self.enum)
prefix = e_name if self.enum != 'Format' else global_prefix
print('enum {} {{'.format(e_name))
for value in self.values:
name = '{}_{}'.format(e_name, value.name)
name = '{}_{}'.format(prefix, value.name)
name = safe_name(name).upper()
print(' % -36s = %6d,' % (name, value.value))
print('};\n')
@ -605,7 +610,7 @@ class Parser(object):
print("{}_as_str(enum {} imm)\n{{".format(e_name.lower(), e_name))
print(" switch (imm) {")
for value in self.values:
name = '{}_{}'.format(e_name, value.name)
name = '{}_{}'.format(prefix, value.name)
name = safe_name(name).upper()
print(' case {}: return "{}";'.format(name, value.name))
print(' default: return "XXX: INVALID";')

View File

@ -45,6 +45,109 @@
<value name="Always" value="7"/>
</enum>
<enum name="Format">
<value name="ETC2 RGB8" value="1"/>
<value name="ETC2 R11 UNORM" value="2"/>
<value name="ETC2 RGBA8" value="3"/>
<value name="ETC2 RG11 UNORM" value="4"/>
<value name="NXR" value="6"/>
<value name="BC1 UNORM" value="7"/>
<value name="BC2 UNORM" value="8"/>
<value name="BC3 UNORM" value="9"/>
<value name="BC4 UNORM" value="10"/>
<value name="BC4 SNORM" value="11"/>
<value name="BC5 UNORM" value="12"/>
<value name="BC5 SNORM" value="13"/>
<value name="BC6H UF16" value="14"/>
<value name="BC6H SF16" value="15"/>
<value name="BC7 UNORM" value="16"/>
<value name="ETC2 R11 SNORM" value="17"/>
<value name="ETC2 RG11 SNORM" value="18"/>
<value name="ETC2 RGB8A1" value="19"/>
<value name="ASTC 3D LDR" value="20"/>
<value name="ASTC 3D HDR" value="21"/>
<value name="ASTC 2D LDR" value="22"/>
<value name="ASTC 2D HDR" value="23"/>
<value name="RGB565" value="64"/>
<value name="RGB5 X1 UNORM" value="65"/>
<value name="RGB5 A1 UNORM" value="66"/>
<value name="RGB10 A2 UNORM" value="67"/>
<value name="RGB10 A2 SNORM" value="69"/>
<value name="RGB10 A2UI" value="71"/>
<value name="RGB10 A2I" value="73"/>
<value name="RGB332 UNORM" value="75"/>
<value name="RGB233 UNORM" value="76"/>
<value name="Z24X8 UNORM" value="77"/>
<value name="R32 FIXED" value="81"/>
<value name="RG32 FIXED" value="82"/>
<value name="RGB32 FIXED" value="83"/>
<value name="RGBA32 FIXED" value="84"/>
<value name="R11F G11F B10F" value="89"/>
<value name="R9F G9F B9F E5F" value="91"/>
<value name="VARYING POS" value="94"/>
<value name="VARYING DISCARD" value="95"/>
<value name="R8 SNORM" value="99"/>
<value name="R16 SNORM" value="100"/>
<value name="R32 SNORM" value="101"/>
<value name="RG8 SNORM" value="107"/>
<value name="RG16 SNORM" value="108"/>
<value name="RG32 SNORM" value="109"/>
<value name="RGB8 SNORM" value="115"/>
<value name="RGB16 SNORM" value="116"/>
<value name="RGB32 SNORM" value="117"/>
<value name="RGBA8 SNORM" value="123"/>
<value name="RGBA16 SNORM" value="124"/>
<value name="RGBA32 SNORM" value="125"/>
<value name="R8UI" value="131"/>
<value name="R16UI" value="132"/>
<value name="R32UI" value="133"/>
<value name="RG8UI" value="139"/>
<value name="RG16UI" value="140"/>
<value name="RG32UI" value="141"/>
<value name="RGB8UI" value="147"/>
<value name="RGB16UI" value="148"/>
<value name="RGB32UI" value="149"/>
<value name="RGBA8UI" value="155"/>
<value name="RGBA16UI" value="156"/>
<value name="RGBA32UI" value="157"/>
<value name="R8 UNORM" value="163"/>
<value name="R16 UNORM" value="164"/>
<value name="R32 UNORM" value="165"/>
<value name="R32F" value="167"/>
<value name="RG8 UNORM" value="171"/>
<value name="RG16 UNORM" value="172"/>
<value name="RG32 UNORM" value="173"/>
<value name="RG32F" value="175"/>
<value name="RGB8 UNORM" value="179"/>
<value name="RGB16 UNORM" value="180"/>
<value name="RGB32 UNORM" value="181"/>
<value name="RGB32F" value="183"/>
<value name="RGBA4 UNORM" value="186"/>
<value name="RGBA8 UNORM" value="187"/>
<value name="RGBA16 UNORM" value="188"/>
<value name="RGBA32 UNORM" value="189"/>
<value name="RGBA32F" value="191"/>
<value name="R8I" value="195"/>
<value name="R16I" value="196"/>
<value name="R32I" value="197"/>
<value name="R16F" value="199"/>
<value name="RG8I" value="203"/>
<value name="RG16I" value="204"/>
<value name="RG32I" value="205"/>
<value name="RG16F" value="207"/>
<value name="RGB8I" value="211"/>
<value name="RGB16I" value="212"/>
<value name="RGB32I" value="213"/>
<value name="RGB16F" value="215"/>
<value name="RGBA8I" value="219"/>
<value name="RGBA16I" value="220"/>
<value name="RGBA32I" value="221"/>
<value name="RGBA16F" value="223"/>
<value name="RGBA4" value="232"/>
<value name="RGBA8 2" value="237"/>
<value name="RGB10 A2 2" value="238"/>
</enum>
<enum name="Block Format">
<!--- 16x16 block u-interleaved -->
<value name="Tiled" value="0"/>