tgsi: print TGSI_PROPERTY_NEXT_SHADER value as string, not an integer

Print "GEOM" instead of "2", for example.

v2: also update the text parsing code, per Ilia.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Brian Paul 2016-05-24 17:44:30 -06:00
parent 2b773fcf00
commit 9690ab0cdf
2 changed files with 25 additions and 0 deletions

View File

@ -470,6 +470,9 @@ iter_property(
case TGSI_PROPERTY_FS_COORD_PIXEL_CENTER:
ENM(prop->u[i].Data, tgsi_fs_coord_pixel_center_names);
break;
case TGSI_PROPERTY_NEXT_SHADER:
ENM(prop->u[i].Data, tgsi_processor_type_names);
break;
default:
SID( prop->u[i].Data );
break;

View File

@ -1663,6 +1663,22 @@ parse_fs_coord_pixel_center( const char **pcur, uint *fs_coord_pixel_center )
return FALSE;
}
static boolean
parse_property_next_shader( const char **pcur, uint *next_shader )
{
uint i;
for (i = 0; i < ARRAY_SIZE(tgsi_processor_type_names); i++) {
const char *cur = *pcur;
if (str_match_nocase_whole( &cur, tgsi_processor_type_names[i])) {
*next_shader = i;
*pcur = cur;
return TRUE;
}
}
return FALSE;
}
static boolean parse_property( struct translate_ctx *ctx )
{
@ -1716,6 +1732,12 @@ static boolean parse_property( struct translate_ctx *ctx )
return FALSE;
}
break;
case TGSI_PROPERTY_NEXT_SHADER:
if (!parse_property_next_shader(&ctx->cur, &values[0] )) {
report_error( ctx, "Unknown next shader property value." );
return FALSE;
}
break;
case TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS:
default:
if (!parse_uint(&ctx->cur, &values[0] )) {