mesa/src/broadcom
Neil Roberts deefebc55b v3d/compiler: Fix sorting the gs and fs inputs
ntq_setup_fs_inputs and ntq_setup_gs_inputs sort the inputs according to
the driver location. This input array is then used to calculate the VPM
offset for the outputs in the previous stage. However, it wasn’t taking
into account variables that are packed into a single varying slot. In
that case they would have the same driver_location and are
distinguished by location_frac.

This patch makes it additionally sort by location_frac when the driver
locations are equal. This can happen when the compiler packs varyings
that are sized less than vec4. Without this fix, when the VPM is used to
transmit data free-form between the stages (such as VS->GS) then it
would end up writing to inconsistent locations.

Fixes dEQP tests such as:
dEQP-GLES31.functional.primitive_bounding_box.lines.global_state.
vertex_geometry_fragment.default_framebuffer_bbox_equal

Fixes: 5d578c27ce ("v3d: add initial compiler plumbing for geometry shaders")

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5787>
2020-07-08 07:39:47 +00:00
..
cle meson: use gnu_symbol_visibility argument 2020-06-01 18:59:18 +00:00
clif v3d: Dump the contents off all the buffers in CLIF mode. 2018-07-30 14:29:01 -07:00
common v3d: add initial compiler plumbing for geometry shaders 2019-12-16 08:42:37 +01:00
compiler v3d/compiler: Fix sorting the gs and fs inputs 2020-07-08 07:39:47 +00:00
drm-shim v3d: moving v3d simulator to src/broadcom 2020-06-27 00:06:58 +00:00
qpu broadcom/qpu: set VC5_QPU_RADDR_A out of the switch at _pack_branch 2020-07-07 21:40:16 +02:00
simulator v3d: moving v3d simulator to src/broadcom 2020-06-27 00:06:58 +00:00
.editorconfig
Android.cle.mk android: broadcom/cle: export the broadcom top level path headers 2018-09-15 09:14:46 +02:00
Android.genxml.mk android: broadcom/genxml: fix collision with intel/genxml header-gen macro 2018-09-15 09:14:33 +02:00
Android.mk broadcom/genxml: Introduce a V3D packet/struct decoder. 2017-07-25 14:44:52 -07:00
Makefile.sources v3d: Add a lowering pass for line smoothing 2020-07-06 21:59:16 +00:00
meson.build v3d: moving v3d simulator to src/broadcom 2020-06-27 00:06:58 +00:00