freedreno/ir3: we require block_index metadata
authorRob Clark <robclark@freedesktop.org>
Mon, 26 Oct 2015 14:50:35 +0000 (10:50 -0400)
committerRob Clark <robclark@freedesktop.org>
Sun, 3 Jan 2016 14:11:27 +0000 (09:11 -0500)
Found during NIR_TEST_CLONE=1 piglit run.  We were using block->index
but forgetting to require it.  Causing things to not work with a cloned
shader which didn't preserve block_index.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c

index 0a25d52..86afda4 100644 (file)
@@ -2098,6 +2098,8 @@ emit_stream_out(struct ir3_compile *ctx)
 static void
 emit_function(struct ir3_compile *ctx, nir_function_impl *impl)
 {
+       nir_metadata_require(impl, nir_metadata_block_index);
+
        emit_cf_list(ctx, &impl->body);
        emit_block(ctx, impl->end_block);