i965/fs: Use a default Y coordinate of 0 for TXF on gen9+
Previously, we were incrementing length but not actually putting anything in the Y coordinate. This meant that 1-D TXF operations had a garbage array index. If the surface is emitted as 1-D non-array, the coordinate gets discarded and it works fine. If it happens to be bound as an array surface, it may count as an out-of-bounds array access and you get zero. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
1436238b75
commit
0195299c86
|
@ -4264,6 +4264,8 @@ lower_sampler_logical_send_gen7(const fs_builder &bld, fs_inst *inst, opcode op,
|
|||
if (coord_components >= 2) {
|
||||
bld.MOV(retype(sources[length], BRW_REGISTER_TYPE_D),
|
||||
offset(coordinate, bld, 1));
|
||||
} else {
|
||||
sources[length] = brw_imm_d(0);
|
||||
}
|
||||
length++;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue