Przeglądaj źródła

tgsi: remove redundant name tables from tgsi_text, use those from tgsi_dump

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
Marek Olšák 14 lat temu
rodzic
commit
92209314df

+ 11
- 11
src/gallium/auxiliary/tgsi/tgsi_dump.c Wyświetl plik

@@ -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 );

+ 15
- 2
src/gallium/auxiliary/tgsi/tgsi_dump.h Wyświetl plik

@@ -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(

+ 7
- 43
src/gallium/auxiliary/tgsi/tgsi_text.c Wyświetl plik

@@ -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;
}
}

Ładowanie…
Anuluj
Zapisz