intel/brw: load_offset cannot be constant on this path
Literally inside an if-statement (about 26 lines before this hunk) that checks for !nir_src_is_const(instr->src[1]). No shader-db or fossil-db changes on any Intel platform. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30251>
This commit is contained in:
@@ -6606,16 +6606,8 @@ fs_nir_emit_intrinsic(nir_to_brw_state &ntb,
|
||||
|
||||
srcs[SURFACE_LOGICAL_SRC_SURFACE] = surface;
|
||||
srcs[SURFACE_LOGICAL_SRC_SURFACE_HANDLE] = surface_handle;
|
||||
|
||||
const nir_src load_offset = instr->src[1];
|
||||
if (nir_src_is_const(load_offset)) {
|
||||
brw_reg addr =
|
||||
ubld8.MOV(brw_imm_ud(nir_src_as_uint(load_offset)));
|
||||
srcs[SURFACE_LOGICAL_SRC_ADDRESS] = component(addr, 0);
|
||||
} else {
|
||||
srcs[SURFACE_LOGICAL_SRC_ADDRESS] =
|
||||
bld.emit_uniformize(get_nir_src(ntb, load_offset));
|
||||
}
|
||||
srcs[SURFACE_LOGICAL_SRC_ADDRESS] =
|
||||
bld.emit_uniformize(get_nir_src(ntb, instr->src[1]));
|
||||
|
||||
const unsigned total_dwords =
|
||||
ALIGN(instr->num_components, REG_SIZE * reg_unit(devinfo) / 4);
|
||||
|
Reference in New Issue
Block a user