diff options
author | Dave Airlie <[email protected]> | 2018-01-10 03:46:50 +0000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-01-18 03:36:41 +0000 |
commit | 2f2cef385fd0f96f5cca3d5ccc48184bbc681831 (patch) | |
tree | d12254667712f8e06c6805831c13deb5f1f431c0 | |
parent | da977ad9074707932b9dc1f7c52b5427ce920c13 (diff) |
r600/sb: update last_cf if alu is the last clause
It's rare to have a final alu clause on normal shaders (exports)
but tess shaders write to LDS as their output, so we see some
alu clauses, and the CF_END get put in the wrong place.
This makes sure to update last_cf correctly.
Acked-By: Roland Scheidegger <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r-- | src/gallium/drivers/r600/sb/sb_bc_finalize.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp b/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp index c20640e4767..2ec4db624a5 100644 --- a/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp +++ b/src/gallium/drivers/r600/sb/sb_bc_finalize.cpp @@ -266,6 +266,7 @@ void bc_finalizer::run_on(container_node* c) { } } } + last_cf = c; } else if (n->is_fetch_inst()) { finalize_fetch(static_cast<fetch_node*>(n)); } else if (n->is_cf_inst()) { |