aco: fix scratch loads which cross element_size boundaries
authorDaniel Schürmann <daniel@schuermann.dev>
Mon, 20 Jul 2020 10:07:55 +0000 (12:07 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 22 Jul 2020 13:12:25 +0000 (13:12 +0000)
commit7015d2c249e1f7814bf5681ccd049e49e4d6495c
treea5329e93cd8fb4f64b7c65d98a02da2add3f6690
parentc33e8d7d522c250443d903b5732224988855b9a9
aco: fix scratch loads which cross element_size boundaries

Previously, we've set element_size == 16 which causes loads from
packed vec3 arrays to cross the boundary and return wrong data.
This patch sets element_size = 4 and splits loads into single channel.
Fixes all of dEQP-VK.subgroups.ballot_broadcast.*

Cc: 20.1 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5977>
.gitlab-ci/deqp-radv-fiji-aco-fails.txt
.gitlab-ci/deqp-radv-pitcairn-aco-fails.txt
.gitlab-ci/deqp-radv-polaris10-aco-fails.txt
src/amd/compiler/aco_instruction_selection.cpp