intel/fs: Fix FB read header setup for SIMD32.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:

committed by
Jason Ekstrand

parent
e06f5b30cc
commit
2aefa5e19f
@@ -4187,12 +4187,21 @@ lower_fb_write_logical_send(const fs_builder &bld, fs_inst *inst,
|
|||||||
static void
|
static void
|
||||||
lower_fb_read_logical_send(const fs_builder &bld, fs_inst *inst)
|
lower_fb_read_logical_send(const fs_builder &bld, fs_inst *inst)
|
||||||
{
|
{
|
||||||
const fs_builder &ubld = bld.exec_all();
|
const fs_builder &ubld = bld.exec_all().group(8, 0);
|
||||||
const unsigned length = 2;
|
const unsigned length = 2;
|
||||||
const fs_reg header = ubld.group(8, 0).vgrf(BRW_REGISTER_TYPE_UD, length);
|
const fs_reg header = ubld.vgrf(BRW_REGISTER_TYPE_UD, length);
|
||||||
|
|
||||||
ubld.group(16, 0)
|
if (bld.group() < 16) {
|
||||||
.MOV(header, retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UD));
|
ubld.group(16, 0).MOV(header, retype(brw_vec8_grf(0, 0),
|
||||||
|
BRW_REGISTER_TYPE_UD));
|
||||||
|
} else {
|
||||||
|
assert(bld.group() < 32);
|
||||||
|
const fs_reg header_sources[] = {
|
||||||
|
retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UD),
|
||||||
|
retype(brw_vec8_grf(2, 0), BRW_REGISTER_TYPE_UD)
|
||||||
|
};
|
||||||
|
ubld.LOAD_PAYLOAD(header, header_sources, ARRAY_SIZE(header_sources), 0);
|
||||||
|
}
|
||||||
|
|
||||||
inst->resize_sources(1);
|
inst->resize_sources(1);
|
||||||
inst->src[0] = header;
|
inst->src[0] = header;
|
||||||
|
Reference in New Issue
Block a user