Module: Mesa Branch: master Commit: 07ec745014a9fd07a1948aa0f653b1a57b9b5e12 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=07ec745014a9fd07a1948aa0f653b1a57b9b5e12
Author: Eric Anholt <[email protected]> Date: Mon Jun 1 11:32:04 2020 -0700 freedreno/ir3: Stop pushing immediates once we've filled the constbuf. If we filled the constbuf up with UBOs, we may need to avoid generating more immediate push constants. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5273> --- src/freedreno/ir3/ir3_cp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/freedreno/ir3/ir3_cp.c b/src/freedreno/ir3/ir3_cp.c index ca80b7a8bc2..052c8a539ac 100644 --- a/src/freedreno/ir3/ir3_cp.c +++ b/src/freedreno/ir3/ir3_cp.c @@ -383,7 +383,14 @@ lower_immed(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr, unsigned n, } if (i == const_state->immediate_idx) { - /* need to generate a new immediate: */ + struct ir3_compiler *compiler = instr->block->shader->compiler; + /* Add on a new immediate to be pushed, if we have space left in the + * constbuf. + */ + if (const_state->offsets.immediate + const_state->immediate_idx / 4 >= + compiler->max_const) + return false; + swiz = i % 4; idx = i / 4; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
