mesa/src/intel
Lionel Landwerlin aa53665fda intel/fs/copy_prop: check stride constraints with actual final type
In some cases we will change the type of the destination register of
an instruction. This is the type we should use to verify that we're
allow to do the replacement.

Otherwise we can hit restrictions on CHV and upcoming Xe-Hp for
instance where the copy propagation transforms this :

send(16) (mlen: 2) vgrf10:UD, 0u, 0u, vgrf35:D, null:UD
mov(16) vgrf11:UW, vgrf10<2>:UW
mov(16) vgrf12:UW, vgrf10+0.2<2>:UW
mov(16) vgrf15:HF, |vgrf11|:HF
mov(16) vgrf16:HF, |vgrf12|:HF
mov(8) vgrf41<2>:UW, vgrf15+0.0:UW group0
mov(8) vgrf42<2>:UW, vgrf15+0.16:UW group8
mov(8) vgrf45<2>:UW, vgrf16+0.0:UW group0
mov(8) vgrf46<2>:UW, vgrf16+0.16:UW group8

into this :

send(16) (mlen: 2) vgrf10:UD, 0u, 0u, vgrf35:D, null:UD
mov(8) vgrf41<2>:HF, |vgrf10+0.0|<2>:HF group0
mov(8) vgrf42<2>:HF, |vgrf10+1.0|<2>:HF group8
mov(8) vgrf45<2>:HF, |vgrf10+0.2|<2>:HF group0
mov(8) vgrf46<2>:HF, |vgrf10+1.2|<2>:HF group8

Because of the floating point use, stride and offets should be the
same.

v2: Fix final destination type selection (Curro)

v3: constify (Curro)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9832>
2021-03-29 22:14:45 +00:00
..
blorp intel/compiler: Use INTEL_DEBUG=blorp to dump blorp shaders 2021-03-24 23:18:46 +00:00
common intel/common: disable batch decoder on Android platform 2021-03-27 19:26:22 +02:00
compiler intel/fs/copy_prop: check stride constraints with actual final type 2021-03-29 22:14:45 +00:00
dev intel/dev: store size of CS prefetch 2021-03-18 20:08:45 +00:00
genxml intel/genxml: Make BindingTablePoolEnable a bool 2021-03-20 12:46:50 -05:00
isl intel: Simplify few version checks involving G4X 2021-03-16 16:40:12 +00:00
nullhw-layer intel/nullhw: fix build 2021-03-26 20:12:40 +00:00
perf intel: Rename "gen_" prefix used in common code to "intel_" 2021-03-10 22:23:51 +00:00
tools intel: Mark an otherwise unused variable in intel_dump_gpu as ASSERTED 2021-03-29 20:02:09 +00:00
vulkan anv: use helper function to get the buffer size 2021-03-25 15:22:20 -07:00
Android.blorp.mk
Android.common.mk intel: split driver/device UUID generators 2020-10-07 11:11:23 +03:00
Android.compiler.mk android: fix build issues with brw_nir_trig_workarounds.c 2017-10-04 07:39:05 +03:00
Android.dev.mk intel: add identifier for debug purposes 2020-05-20 15:58:22 +00:00
Android.genxml.mk intel/genxml: Build gen 12.5 2020-12-01 19:06:22 +00:00
Android.isl.mk intel/isl: Build gen 12.5 2020-12-01 19:06:22 +00:00
Android.mk i965: extract performance query metrics 2019-04-17 14:10:42 +01:00
Android.perf.mk i965: extract performance query metrics 2019-04-17 14:10:42 +01:00
Android.vulkan.mk android: anv: add libcutils shared dependency 2021-03-22 22:52:13 +01:00
Makefile.perf.am i965: extract performance query metrics 2019-04-17 14:10:42 +01:00
Makefile.sources anv: Add a pass for lowering A64 UBO access 2021-03-17 17:49:59 +00:00
meson.build intel: Add null hw layer 2021-03-25 19:10:03 +00:00