Use the same limit for kcache constants in alu group on r6xx as on other chips (two const pairs). Relaxing this will require additional checks to make sure that all 4 consts in the group come from 2 kcache sets (clause limit), probably without noticeable improvements of shader performance.
Signed-off-by: Vadim Girlin <vadimgir...@gmail.com> --- src/gallium/drivers/r600/sb/sb_sched.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp index b21b342..d0045ce 100644 --- a/src/gallium/drivers/r600/sb/sb_sched.cpp +++ b/src/gallium/drivers/r600/sb/sb_sched.cpp @@ -43,7 +43,11 @@ namespace r600_sb { using std::cerr; rp_kcache_tracker::rp_kcache_tracker(shader &sh) : rp(), uc(), - sel_count(sh.get_ctx().is_r600() ? 4 : 2) {} + // FIXME: for now we'll use "two const pairs" limit for r600, same as + // for other chips, otherwise additional check in alu_group_tracker is + // required to make sure that all 4 consts in the group fit into 2 + // kcache sets + sel_count(2) {} bool rp_kcache_tracker::try_reserve(sel_chan r) { unsigned sel = kc_sel(r); -- 1.8.2.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev