tgsi: accept offsets for sample opcodes too in the text parser
authorRoland Scheidegger <sroland@vmware.com>
Mon, 15 Sep 2014 16:44:57 +0000 (18:44 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Tue, 16 Sep 2014 01:50:31 +0000 (03:50 +0200)
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 <jfonseca@vmware.com>
src/gallium/auxiliary/tgsi/tgsi_text.c

index 640334465905830e3695b98307ec82c4094ffc28..729114594c88357b33ede3d1b2b9589e3145ec36 100644 (file)
@@ -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;