I also specified the array sizes in the header so that one can use the Elements macro on it.tags/android-x86-2.2-r2
@@ -138,7 +138,7 @@ static const char *immediate_type_names[] = | |||
}; | |||
const char * | |||
tgsi_swizzle_names[] = | |||
tgsi_swizzle_names[4] = | |||
{ | |||
"x", | |||
"y", | |||
@@ -147,7 +147,7 @@ tgsi_swizzle_names[] = | |||
}; | |||
const char * | |||
tgsi_texture_names[] = | |||
tgsi_texture_names[TGSI_TEXTURE_COUNT] = | |||
{ | |||
"UNKNOWN", | |||
"1D", | |||
@@ -160,7 +160,7 @@ tgsi_texture_names[] = | |||
"SHADOWRECT" | |||
}; | |||
static const char *property_names[] = | |||
const char *tgsi_property_names[TGSI_PROPERTY_COUNT] = | |||
{ | |||
"GS_INPUT_PRIMITIVE", | |||
"GS_OUTPUT_PRIMITIVE", | |||
@@ -170,7 +170,7 @@ static const char *property_names[] = | |||
"FS_COLOR0_WRITES_ALL_CBUFS", | |||
}; | |||
static const char *primitive_names[] = | |||
const char *tgsi_primitive_names[PIPE_PRIM_MAX] = | |||
{ | |||
"POINTS", | |||
"LINES", | |||
@@ -188,13 +188,13 @@ static const char *primitive_names[] = | |||
"TRIANGLE_STRIP_ADJACENCY" | |||
}; | |||
static const char *fs_coord_origin_names[] = | |||
const char *tgsi_fs_coord_origin_names[2] = | |||
{ | |||
"UPPER_LEFT", | |||
"LOWER_LEFT" | |||
}; | |||
static const char *fs_coord_pixel_center_names[] = | |||
const char *tgsi_fs_coord_pixel_center_names[2] = | |||
{ | |||
"HALF_INTEGER", | |||
"INTEGER" | |||
@@ -485,10 +485,10 @@ iter_property( | |||
int i; | |||
struct dump_ctx *ctx = (struct dump_ctx *)iter; | |||
assert(Elements(property_names) == TGSI_PROPERTY_COUNT); | |||
assert(Elements(tgsi_property_names) == TGSI_PROPERTY_COUNT); | |||
TXT( "PROPERTY " ); | |||
ENM(prop->Property.PropertyName, property_names); | |||
ENM(prop->Property.PropertyName, tgsi_property_names); | |||
if (prop->Property.NrTokens > 1) | |||
TXT(" "); | |||
@@ -497,13 +497,13 @@ iter_property( | |||
switch (prop->Property.PropertyName) { | |||
case TGSI_PROPERTY_GS_INPUT_PRIM: | |||
case TGSI_PROPERTY_GS_OUTPUT_PRIM: | |||
ENM(prop->u[i].Data, primitive_names); | |||
ENM(prop->u[i].Data, tgsi_primitive_names); | |||
break; | |||
case TGSI_PROPERTY_FS_COORD_ORIGIN: | |||
ENM(prop->u[i].Data, fs_coord_origin_names); | |||
ENM(prop->u[i].Data, tgsi_fs_coord_origin_names); | |||
break; | |||
case TGSI_PROPERTY_FS_COORD_PIXEL_CENTER: | |||
ENM(prop->u[i].Data, fs_coord_pixel_center_names); | |||
ENM(prop->u[i].Data, tgsi_fs_coord_pixel_center_names); | |||
break; | |||
default: | |||
SID( prop->u[i].Data ); |
@@ -29,6 +29,7 @@ | |||
#define TGSI_DUMP_H | |||
#include "pipe/p_compiler.h" | |||
#include "pipe/p_defines.h" | |||
#include "pipe/p_shader_tokens.h" | |||
#if defined __cplusplus | |||
@@ -39,10 +40,22 @@ extern const char * | |||
tgsi_file_names[TGSI_FILE_COUNT]; | |||
extern const char * | |||
tgsi_swizzle_names[]; | |||
tgsi_swizzle_names[4]; | |||
extern const char * | |||
tgsi_texture_names[]; | |||
tgsi_texture_names[TGSI_TEXTURE_COUNT]; | |||
extern const char * | |||
tgsi_property_names[TGSI_PROPERTY_COUNT]; | |||
extern const char * | |||
tgsi_primitive_names[PIPE_PRIM_MAX]; | |||
extern const char * | |||
tgsi_fs_coord_origin_names[2]; | |||
extern const char * | |||
tgsi_fs_coord_pixel_center_names[2]; | |||
void | |||
tgsi_dump_str( |
@@ -36,6 +36,7 @@ | |||
#include "tgsi_parse.h" | |||
#include "tgsi_sanity.h" | |||
#include "tgsi_util.h" | |||
#include "tgsi_dump.h" | |||
static boolean is_alpha_underscore( const char *cur ) | |||
{ | |||
@@ -1258,43 +1259,6 @@ static boolean parse_immediate( struct translate_ctx *ctx ) | |||
return TRUE; | |||
} | |||
static const char *property_names[] = | |||
{ | |||
"GS_INPUT_PRIMITIVE", | |||
"GS_OUTPUT_PRIMITIVE", | |||
"GS_MAX_OUTPUT_VERTICES", | |||
"FS_COORD_ORIGIN", | |||
"FS_COORD_PIXEL_CENTER", | |||
"FS_COLOR0_WRITE_ALL_CBUFS" | |||
}; | |||
static const char *primitive_names[] = | |||
{ | |||
"POINTS", | |||
"LINES", | |||
"LINE_LOOP", | |||
"LINE_STRIP", | |||
"TRIANGLES", | |||
"TRIANGLE_STRIP", | |||
"TRIANGLE_FAN", | |||
"QUADS", | |||
"QUAD_STRIP", | |||
"POLYGON" | |||
}; | |||
static const char *fs_coord_origin_names[] = | |||
{ | |||
"UPPER_LEFT", | |||
"LOWER_LEFT" | |||
}; | |||
static const char *fs_coord_pixel_center_names[] = | |||
{ | |||
"HALF_INTEGER", | |||
"INTEGER" | |||
}; | |||
static boolean | |||
parse_primitive( const char **pcur, uint *primitive ) | |||
{ | |||
@@ -1303,7 +1267,7 @@ parse_primitive( const char **pcur, uint *primitive ) | |||
for (i = 0; i < PIPE_PRIM_MAX; i++) { | |||
const char *cur = *pcur; | |||
if (str_match_no_case( &cur, primitive_names[i])) { | |||
if (str_match_no_case( &cur, tgsi_primitive_names[i])) { | |||
*primitive = i; | |||
*pcur = cur; | |||
return TRUE; | |||
@@ -1317,10 +1281,10 @@ parse_fs_coord_origin( const char **pcur, uint *fs_coord_origin ) | |||
{ | |||
uint i; | |||
for (i = 0; i < sizeof(fs_coord_origin_names) / sizeof(fs_coord_origin_names[0]); i++) { | |||
for (i = 0; i < Elements(tgsi_fs_coord_origin_names); i++) { | |||
const char *cur = *pcur; | |||
if (str_match_no_case( &cur, fs_coord_origin_names[i])) { | |||
if (str_match_no_case( &cur, tgsi_fs_coord_origin_names[i])) { | |||
*fs_coord_origin = i; | |||
*pcur = cur; | |||
return TRUE; | |||
@@ -1334,10 +1298,10 @@ parse_fs_coord_pixel_center( const char **pcur, uint *fs_coord_pixel_center ) | |||
{ | |||
uint i; | |||
for (i = 0; i < sizeof(fs_coord_pixel_center_names) / sizeof(fs_coord_pixel_center_names[0]); i++) { | |||
for (i = 0; i < Elements(tgsi_fs_coord_pixel_center_names); i++) { | |||
const char *cur = *pcur; | |||
if (str_match_no_case( &cur, fs_coord_pixel_center_names[i])) { | |||
if (str_match_no_case( &cur, tgsi_fs_coord_pixel_center_names[i])) { | |||
*fs_coord_pixel_center = i; | |||
*pcur = cur; | |||
return TRUE; | |||
@@ -1365,7 +1329,7 @@ static boolean parse_property( struct translate_ctx *ctx ) | |||
} | |||
for (property_name = 0; property_name < TGSI_PROPERTY_COUNT; | |||
++property_name) { | |||
if (streq_nocase_uprcase(property_names[property_name], id)) { | |||
if (streq_nocase_uprcase(tgsi_property_names[property_name], id)) { | |||
break; | |||
} | |||
} |