mesa/src/intel
Jason Ekstrand 7701bf1228 intel: Don't cross DWORD boundaries with byte scratch load/store
The back-end swizzles dwords so that our indirect scratch messages match
the memory layout of spill/fill messages for better cache coherency.
The swizzle happens at a DWORD granularity.  If a read or write crosses
a DWORD boundary, the first bit will get correctly swizzled but whatever
piece lands in the next dword will not because the scatter instructions
assume sequential addresses for all bytes.  For DWORD writes, this is
handled naturally as part of scalarizing.  For smaller writes, we need
to be sure that a single write never escapes a dword.

Fixes: fd04f858b0 ("intel/nir: Don't try to emit vector load_scratch instructions")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7364
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19580>
(cherry picked from commit 25c180b509)
2022-11-09 21:22:06 +00:00
..
blorp
ci glsl: drop sub to add neg lowering in GLSL IR 2022-10-19 03:52:21 +00:00
common utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
compiler intel: Don't cross DWORD boundaries with byte scratch load/store 2022-11-09 21:22:06 +00:00
dev utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
ds anv: add mesh shading tracepoints 2022-10-27 15:03:28 +00:00
genxml intel/genxml: fix width of 3DSTATE_TASK_CONTROL.MaximumNumberofThreadGroups 2022-11-02 08:56:53 +00:00
isl isl: add new MOCS field for protected buffers 2022-10-27 10:53:18 +00:00
nullhw-layer utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
perf intel/perf: Use intel_device_info functions to compute subslice and eu totals 2022-10-28 20:12:07 +00:00
tools
vulkan anv: fix missing VkPhysicalDeviceExtendedDynamicState3PropertiesEXT handling 2022-11-09 21:22:06 +00:00
vulkan_hasvk hasvk: fix android build and reported API version 2022-11-09 21:22:05 +00:00
meson.build