Skip to content

intel/fs: Fix sampler message headers on Gen11+ when using scratch

Kenneth Graunke requested to merge kwg/mesa:icl-sampler-scratch-fix into master

Icelake's sampler message header introduces a field in m0.3 bit 0 which controls whether the sampler state pointer should be relative to bindless sampler state base address or dynamic state base address.

g0.3 bit 0 is part of the per-thread scratch space field. On older hardware, we were able to copy that along because the sampler ignored bits 4:0. Now, however, we need to mask them out.

Fixes various textureGatherOffsets piglit tests when forcing the FS to run with 2048 bytes of per-thread scratch space (which is a per-thread scratch space encoding of 1, meaning bit 0 will be set).

Cc: mesa-stable

Merge request reports