panfrost: Disable indirect outputs for now
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 21 Apr 2019 05:11:02 +0000 (05:11 +0000)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Wed, 24 Apr 2019 02:22:31 +0000 (02:22 +0000)
The hardware needs this lowered anyway; for now, might as well use
mesa's default lowering for pure conformance reasons.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
src/gallium/drivers/panfrost/midgard/midgard_compile.c
src/gallium/drivers/panfrost/pan_screen.c

index 66c8deb4771f5801b77a01f99f9c29b040546ff3..0407f028a0d1d18632478913de1da4de5e8d1123 100644 (file)
@@ -958,8 +958,10 @@ nir_src_index(compiler_context *ctx, nir_src *src)
 {
         if (src->is_ssa)
                 return src->ssa->index;
-        else
+        else {
+                assert(!src->reg.indirect);
                 return ctx->func->impl->ssa_alloc + src->reg.reg->index;
+        }
 }
 
 static unsigned
@@ -967,8 +969,10 @@ nir_dest_index(compiler_context *ctx, nir_dest *dst)
 {
         if (dst->is_ssa)
                 return dst->ssa.index;
-        else
+        else {
+                assert(!dst->reg.indirect);
                 return ctx->func->impl->ssa_alloc + dst->reg.reg->index;
+        }
 }
 
 static unsigned
index a296c254ef63da5dfb1a9e453dc8e1539f633c60..5dddb801578c5c0df21b006a472aeb1427de5b32 100644 (file)
@@ -320,8 +320,9 @@ panfrost_get_shader_param(struct pipe_screen *screen,
                 return 0;
 
         case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
-        case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR:
                 return 1;
+        case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR:
+                return 0;
 
         case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
                 return 0;