From: Roland Scheidegger Date: Mon, 15 Sep 2014 16:44:57 +0000 (+0200) Subject: tgsi: accept offsets for sample opcodes too in the text parser X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=02595c55b077e5422a2f2cafc7b53df2ddaf6ce3;p=mesa.git tgsi: accept offsets for sample opcodes too in the text parser sample opcodes are a little oddly represented in the opcode_info, since they don't count as texture instructions - they don't have valid target information, but they may have offsets (unlike "ordinary" texture instructions, the texture token may be optional for them). So just make sure with these opcodes the optional offsets are accepted. Reviewed-by: Jose Fonseca --- diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c index 64033446590..729114594c8 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_text.c +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c @@ -993,8 +993,7 @@ parse_instruction( /* * These are not considered tex opcodes here (no additional * target argument) however we're required to set the Texture - * bit so we can set the number of tex offsets (offsets aren't - * actually handled here yet in any case). + * bit so we can set the number of tex offsets. */ inst.Instruction.Texture = 1; inst.Texture.Texture = TGSI_TEXTURE_UNKNOWN; @@ -1040,7 +1039,7 @@ parse_instruction( cur = ctx->cur; eat_opt_white( &cur ); - for (i = 0; info->is_tex && *cur == ','; i++) { + for (i = 0; inst.Instruction.Texture && *cur == ','; i++) { cur++; eat_opt_white( &cur ); ctx->cur = cur;