diff options
author | Hans de Goede <hdegoede@redhat.com> | 2016-04-21 15:43:51 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2016-04-25 11:45:07 +0200 |
commit | 787a53988cc6bb7a0f2b43c216837d683336b33f (patch) | |
tree | d686b44932ed464e6865a4cb231bec98588ba482 /src/util | |
parent | 0831eb94b9adde3f1542ca75a1f80dbe165b8f31 (diff) | |
download | external_mesa3d-787a53988cc6bb7a0f2b43c216837d683336b33f.zip external_mesa3d-787a53988cc6bb7a0f2b43c216837d683336b33f.tar.gz external_mesa3d-787a53988cc6bb7a0f2b43c216837d683336b33f.tar.bz2 |
nouveau: codegen: combineLd/St do not combine indirect loads
combineLd/St would combine, i.e. :
st u32 # g[$r2+0x0] $r2
st u32 # g[$r2+0x4] $r3
into:
st u64 # g[$r2+0x0] $r2d
But this is only valid if r2 contains an 8 byte aligned address,
which is not guaranteed for compute shaders
This commit checks for src0 dim 0 not being indirect when combining
loads / stores as combining indirect loads / stores may break alignment
rules.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Diffstat (limited to 'src/util')
0 files changed, 0 insertions, 0 deletions