mesa/src/broadcom
Alejandro Piñeiro 8da4de7c16 v3dv/pipeline: revamp nir lowering/optimizations passes
The main reason is getting nir_lower_io_to_temporaries and
nir_opt_peephole_select to get some switch/ifelse with store outputs
simplified out, as some tests were failing because the v3d compiler
was not able to handle them.

As this needed some extra lowerings to get that working, we are also
revamping the full nir processing.

Heavily based on intel preprocess/optimize nir passes.

As mentioned on some other v3dv commits, some of this work could be
done by adding those passes to the v3d compiler, allowing to avoid
some duplication. But at this point we prefer to keep the v3d compiler
untouched as much as possible. This could be revisited on the future.

We also remove some passes that are unnedeed or we already know are
called by v3d_compiler.  Although we try to not add too many passes,
we are already adding passes in advance that we think that would be
useful in the near-term.

Among others, gets the following tests working:
  dEQP-VK.binding_model.descriptor_copy.graphics.storage*
  dEQP-VK.binding_model.descriptor_copy.graphics.uniform*

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
2020-10-13 21:21:28 +00:00
..
cle v3d/packet: fix typo on Set InstanceID/PrimitiveID packet 2020-08-26 03:59:14 +02:00
clif v3dv: clif format dumping support 2020-10-13 21:21:26 +00:00
common v3dv: initial CreateGraphicsPipeline/DestroyPipeline implementation 2020-10-13 21:21:26 +00:00
compiler v3d/compiler: handle GL/Vulkan differences in uniform handling 2020-10-13 21:21:27 +00:00
drm-shim v3d: moving v3d simulator to src/broadcom 2020-06-27 00:06:58 +00:00
qpu broadcom/qpu_instr: wait is not a read or write vpm instruction 2020-08-31 15:02:42 +02:00
simulator broadcom/simulator: update to a newer simulator 2020-10-05 22:08:43 +02:00
vulkan v3dv/pipeline: revamp nir lowering/optimizations passes 2020-10-13 21:21:28 +00:00
.editorconfig broadcom: add editorconfig 2017-07-25 14:44:52 -07:00
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 v3dv: add v3d vulkan driver skeleton 2020-10-13 21:21:24 +00:00