pan/va: Pack MKVEC.v2i8 byte lanes
They are in a different place, but the encoding is otherwise as usual. This will be required for texture gathers with dynamic offsets. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17101>
This commit is contained in:
parent
10301885ab
commit
c570693c19
|
@ -453,8 +453,10 @@ va_pack_alu(const bi_instr *I)
|
|||
unsigned offs = (i == 1) ? 26 : 36;
|
||||
hex |= (uint64_t) va_pack_widen(src.swizzle, src_info.size) << offs;
|
||||
} else if (src_info.lane) {
|
||||
unsigned offs = 28;
|
||||
assert(i == 0 && "todo: MKVEC");
|
||||
unsigned offs = (I->op == BI_OPCODE_MKVEC_V2I8) ?
|
||||
((i == 0) ? 38 : 36) :
|
||||
28;
|
||||
|
||||
if (src_info.size == VA_SIZE_16) {
|
||||
hex |= (src.swizzle == BI_SWIZZLE_H11 ? 1 : 0) << offs;
|
||||
} else if (I->op == BI_OPCODE_BRANCHZ_I16) {
|
||||
|
|
Loading…
Reference in New Issue