Module: Mesa Branch: gallium-resource-sampling Commit: 7ea3e376bd085248beafb556dfe869fe989247f7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ea3e376bd085248beafb556dfe869fe989247f7
Author: Zack Rusin <[email protected]> Date: Tue Jun 8 12:51:51 2010 -0400 tgsi: fix parsing and dumping of resources --- src/gallium/auxiliary/tgsi/tgsi_dump.c | 10 ++++------ src/gallium/auxiliary/tgsi/tgsi_info.c | 18 +++++++++--------- src/gallium/auxiliary/tgsi/tgsi_text.c | 20 +++++++++++--------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index 7032e0e..2e10d23 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -340,13 +340,11 @@ iter_declaration( TXT(", "); ENM(decl->Resource.Resource, texture_names); TXT(", "); - if (decl->Resource.ReturnTypeX == - decl->Resource.ReturnTypeY == - decl->Resource.ReturnTypeZ == - decl->Resource.ReturnTypeW) + if ((decl->Resource.ReturnTypeX == decl->Resource.ReturnTypeY) && + (decl->Resource.ReturnTypeX == decl->Resource.ReturnTypeZ) && + (decl->Resource.ReturnTypeX == decl->Resource.ReturnTypeW)) { ENM(decl->Resource.ReturnTypeX, type_names); - else { - TXT(", "); + } else { ENM(decl->Resource.ReturnTypeX, type_names); TXT(", "); ENM(decl->Resource.ReturnTypeY, type_names); diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c index e420f5b..14ed56a 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_info.c +++ b/src/gallium/auxiliary/tgsi/tgsi_info.c @@ -177,15 +177,15 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] = { 0, 0, 0, 0, 0, 0, "DEFAULT", TGSI_OPCODE_DEFAULT }, { 0, 0, 0, 0, 0, 0, "ENDSWITCH", TGSI_OPCODE_ENDSWITCH }, - { 1, 2, 1, 0, 0, 0, "LOAD", TGSI_OPCODE_LOAD }, - { 1, 2, 1, 0, 0, 0, "LOAD_MS", TGSI_OPCODE_LOAD_MS }, - { 1, 3, 1, 0, 0, 0, "SAMPLE", TGSI_OPCODE_SAMPLE }, - { 1, 4, 1, 0, 0, 0, "SAMPLE_B", TGSI_OPCODE_SAMPLE_B }, - { 1, 4, 1, 0, 0, 0, "SAMPLE_C", TGSI_OPCODE_SAMPLE_C }, - { 1, 4, 1, 0, 0, 0, "SAMPLE_C_LZ", TGSI_OPCODE_SAMPLE_C_LZ }, - { 1, 5, 1, 0, 0, 0, "SAMPLE_D", TGSI_OPCODE_SAMPLE_D }, - { 1, 3, 1, 0, 0, 0, "SAMPLE_L", TGSI_OPCODE_SAMPLE_L }, - { 1, 3, 1, 0, 0, 0, "GATHER4", TGSI_OPCODE_GATHER4 }, + { 1, 2, 0, 0, 0, 0, "LOAD", TGSI_OPCODE_LOAD }, + { 1, 2, 0, 0, 0, 0, "LOAD_MS", TGSI_OPCODE_LOAD_MS }, + { 1, 3, 0, 0, 0, 0, "SAMPLE", TGSI_OPCODE_SAMPLE }, + { 1, 4, 0, 0, 0, 0, "SAMPLE_B", TGSI_OPCODE_SAMPLE_B }, + { 1, 4, 0, 0, 0, 0, "SAMPLE_C", TGSI_OPCODE_SAMPLE_C }, + { 1, 4, 0, 0, 0, 0, "SAMPLE_C_LZ", TGSI_OPCODE_SAMPLE_C_LZ }, + { 1, 5, 0, 0, 0, 0, "SAMPLE_D", TGSI_OPCODE_SAMPLE_D }, + { 1, 3, 0, 0, 0, 0, "SAMPLE_L", TGSI_OPCODE_SAMPLE_L }, + { 1, 3, 0, 0, 0, 0, "GATHER4", TGSI_OPCODE_GATHER4 }, { 1, 2, 0, 0, 0, 0, "RESINFO", TGSI_OPCODE_RESINFO }, { 1, 2, 0, 0, 0, 0, "SAMPLE_POS", TGSI_OPCODE_SAMPLE_POS }, { 1, 2, 0, 0, 0, 0, "SAMPLE_INFO", TGSI_OPCODE_SAMPLE_INFO }, diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c index 5a26eaa..2535d81 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_text.c +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c @@ -1044,7 +1044,6 @@ static boolean parse_declaration( struct translate_ctx *ctx ) cur++; eat_opt_white( &cur ); if (file == TGSI_FILE_RESOURCE) { - debug_printf("RESOURCE!!!!!!!!\n"); for (i = 0; i < TGSI_TEXTURE_COUNT; i++) { if (str_match_no_case(&cur, texture_names[i])) { if (!is_digit_alpha_underscore(cur)) { @@ -1058,10 +1057,11 @@ static boolean parse_declaration( struct translate_ctx *ctx ) return FALSE; } eat_opt_white( &cur ); - if (*ctx->cur != ',') { + if (*cur != ',') { report_error( ctx, "Expected `,'" ); return FALSE; } + ++cur; eat_opt_white( &cur ); for (j = 0; j < 4; ++j) { for (i = 0; i < PIPE_TYPE_COUNT; ++i) { @@ -1094,13 +1094,15 @@ static boolean parse_declaration( struct translate_ctx *ctx ) } break; } else { - eat_opt_white( &ctx->cur ); - if (*ctx->cur != ',') { - report_error( ctx, "Expected `,'" ); - return FALSE; - } - ctx->cur++; - eat_opt_white( &ctx->cur ); + const char *cur2 = cur; + eat_opt_white( &cur2 ); + if (*cur2 == ',') { + cur2++; + eat_opt_white( &cur2 ); + cur = cur2; + continue; + } else + break; } } if (j < 4) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
