panfrost/midgard: Identify the in_reg_full field
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 10 Jun 2019 20:09:39 +0000 (13:09 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 11 Jun 2019 15:44:19 +0000 (08:44 -0700)
This is clear for texelFetch, hence the confusion with Bifrost's filter
field, but it's much more general in reality.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/gallium/drivers/panfrost/midgard/disassemble.c
src/gallium/drivers/panfrost/midgard/midgard.h
src/gallium/drivers/panfrost/midgard/midgard_compile.c

index d1bc6ad0e3afafb111e8e220f4ab49a88ecffbc0..fafa2d4e74ab14ae99f812a8750e1fcd680dece2 100644 (file)
@@ -1079,9 +1079,6 @@ print_texture_word(uint32_t *word, unsigned tabs)
 
         /* Instruction "modifiers" parallel the ALU instructions. */
 
-        if (!texture->filter)
-                printf(".raw");
-
         if (texture->shadow)
                 printf(".shadow");
 
@@ -1103,7 +1100,7 @@ print_texture_word(uint32_t *word, unsigned tabs)
         print_swizzle_vec4(texture->swizzle, false, false);
         printf(", ");
 
-        print_texture_reg(/*texture->in_reg_full*/true, texture->in_reg_select, texture->in_reg_upper);
+        print_texture_reg(texture->in_reg_full, texture->in_reg_select, texture->in_reg_upper);
         print_swizzle_vec4(texture->in_reg_swizzle, false, false);
 
         /* There is *always* an offset attached. Of
index 9957ac5e41518c44aa089a2e9ac404f5fcd6a7ad..841f6e5241b04ff451c38684105f5360611819e7 100644 (file)
@@ -534,9 +534,7 @@ __attribute__((__packed__))
          * specificed in offset_imm_* */
         unsigned offset_register : 1;
 
-        /* Like in Bifrost */
-        unsigned filter  : 1;
-
+        unsigned in_reg_full  : 1;
         unsigned in_reg_select : 1;
         unsigned in_reg_upper  : 1;
         unsigned in_reg_swizzle : 8;
index e7c093e9a29ddfbbe827cedf23513caf1231c612..651cdd61a5b5de3d8ab0d73adc98267ef41835a3 100644 (file)
@@ -1377,12 +1377,10 @@ emit_tex(compiler_context *ctx, nir_tex_instr *instr)
                         .mask = 0xF,
 
                         /* TODO: half */
-                        //.in_reg_full = 1,
+                        .in_reg_full = 1,
                         .in_reg_swizzle = SWIZZLE_XYZW,
                         .out_full = 1,
 
-                        .filter = 1,
-
                         /* Always 1 */
                         .unknown7 = 1,