summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_qir.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2016-11-10 17:28:20 -0800
committerEric Anholt <[email protected]>2016-11-12 19:21:46 -0800
commitace0d810e56a1e2978fc3ac237158918ebe2a23c (patch)
tree7f82646ddac47d8c3bf232795d2d1cccda29ae7c /src/gallium/drivers/vc4/vc4_qir.h
parent67f72c5f5d8172be1bdb970e672202f0a47bac88 (diff)
vc4: Flag the last thread switch in the program as the last.
We don't allow the last thread switch to be inside control flow, to be sure that we hit the last state exactly once. If the last texturing was in control flow, fall back to single threaded.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_qir.h')
-rw-r--r--src/gallium/drivers/vc4/vc4_qir.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir.h b/src/gallium/drivers/vc4/vc4_qir.h
index 03ac1f50128..eebfdf047df 100644
--- a/src/gallium/drivers/vc4/vc4_qir.h
+++ b/src/gallium/drivers/vc4/vc4_qir.h
@@ -514,6 +514,9 @@ struct vc4_compile {
struct list_head qpu_inst_list;
+ /* Pre-QPU-scheduled instruction containing the last THRSW */
+ uint64_t *last_thrsw;
+
uint64_t *qpu_insts;
uint32_t qpu_inst_count;
uint32_t qpu_inst_size;
@@ -540,6 +543,8 @@ struct vc4_compile {
*/
bool fs_threaded;
+ bool last_thrsw_at_top_level;
+
bool failed;
};