aco: group loads from the same vertex binding into the same clause

In the future, we might have vertex attribute loads from the same binding
but with different descriptors. Since they will be loading from the same
buffer, we should continue grouping them into clauses.

No fossil-db changes.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7871>
This commit is contained in:
Rhys Perry
2020-11-30 17:53:23 +00:00
committed by Marge Bot
parent 4bb2e42fb4
commit dfa38fa0c7
6 changed files with 58 additions and 36 deletions
@@ -4815,13 +4815,15 @@ void visit_load_input(isel_context *ctx, nir_intrinsic_instr *instr)
}
if (use_mubuf) {
bld.mubuf(opcode,
Definition(fetch_dst), list, fetch_index, soffset,
Instruction *mubuf = bld.mubuf(
opcode, Definition(fetch_dst), list, fetch_index, soffset,
fetch_offset, false, false, true).instr;
mubuf->mubuf().vtx_binding = attrib_binding + 1;
} else {
bld.mtbuf(opcode,
Definition(fetch_dst), list, fetch_index, soffset,
Instruction *mtbuf = bld.mtbuf(
opcode, Definition(fetch_dst), list, fetch_index, soffset,
fetch_dfmt, nfmt, fetch_offset, false, true).instr;
mtbuf->mtbuf().vtx_binding = attrib_binding + 1;
}
emit_split_vector(ctx, fetch_dst, fetch_dst.size());