Because AR emission and AR use must be in the same CF we have to
be able to track whether all AR ready are emitted.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21347>
int inc_rat_emitted() { return ++m_emitted_rat_instr; }
+ void set_expected_ar_uses(uint32_t n) {m_expected_ar_uses = n;}
+ auto expected_ar_uses() const {return m_expected_ar_uses;}
+ void dec_expected_ar_uses() {
+ assert(m_expected_ar_uses > 0);
+ --m_expected_ar_uses;
+ }
+
static void set_chipclass(r600_chip_class chip_class);
private:
AluInstr *m_lds_group_start{nullptr};
static unsigned s_max_kcache_banks;
int m_emitted_rat_instr{0};
+ uint32_t m_expected_ar_uses{0};
};
class InstrWithResource : public Instr {