mesa/src/broadcom/compiler
Eric Anholt 81b9361b68 v3d: Stop scalarizing our uniform loads.
We can pull a whole vector in a single indirect load.  This saves a bunch
of round-trips to the TMU, instructions for setting up multiple loads,
references to the UBO base in the uniforms, and apparently manages to
reduce register pressure as well.

instructions in affected programs: 3086665 -> 2454967 (-20.47%)
uniforms in affected programs: 919581 -> 721039 (-21.59%)
threads in affected programs: 1710 -> 3420 (100.00%)
spills in affected programs: 596 -> 522 (-12.42%)
fills in affected programs: 680 -> 562 (-17.35%)

Improves 3dmmes performance by 2.29312% +/- 0.139825% (n=5)
2019-01-04 15:41:23 -08:00
..
meson.build vc4: Fix meson build when enabled without v3d. 2018-07-29 19:13:29 -07:00
nir_to_vir.c v3d: Stop scalarizing our uniform loads. 2019-01-04 15:41:23 -08:00
qpu_schedule.c v3d: Move "does this instruction have flags" from sched to generic helpers. 2018-12-30 08:03:51 -08:00
qpu_validate.c broadcom/vc5: Add validation that we don't violate GFXH-1633 requirements. 2018-04-26 11:30:22 -07:00
v3d33_tex.c broadcom/vc5: Move V3D 3.3 texturing to a separate file. 2018-01-12 21:56:37 -08:00
v3d33_vpm_setup.c broadcom/vc5: Move V3D 3.3 VPM write setup to a separate file. 2018-01-12 21:56:24 -08:00
v3d40_tex.c v3d: Add support for non-constant texture offsets. 2018-12-30 08:05:11 -08:00
v3d_compiler.h v3d: Refactor compiler entrypoints. 2019-01-02 14:12:29 -08:00
v3d_nir_lower_io.c v3d: Stop scalarizing our uniform loads. 2019-01-04 15:41:23 -08:00
v3d_nir_lower_txf_ms.c broadcom/vc5: Add lowering for txf_ms to a txf on a 2x2-scaled texture. 2017-10-30 13:31:27 -07:00
vir.c v3d: Do UBO loads a vector at a time. 2019-01-04 15:41:23 -08:00
vir_dump.c v3d: Move uniform pretty-printing to its own helper function. 2018-12-14 17:48:01 -08:00
vir_live_variables.c util: use C99 declaration in the for-loop hash_table_foreach() macro 2018-10-25 12:43:18 +01:00
vir_lower_uniforms.c util: use C99 declaration in the for-loop hash_table_foreach() macro 2018-10-25 12:43:18 +01:00
vir_opt_copy_propagate.c broadcom: Add VC5 NIR compiler. 2017-10-10 11:42:04 -07:00
vir_opt_dead_code.c v3d: Dead-code eliminate unused flags updates. 2018-12-30 08:05:11 -08:00
vir_opt_small_immediates.c v3d: Implement a small immediates optimization, based on VC4's. 2018-07-23 10:21:43 -07:00
vir_register_allocate.c v3d: Avoid spilling that breaks the r5 usage after a ldvary. 2018-08-06 13:03:23 -07:00
vir_to_qpu.c v3d: Add a note for a potential performance win on multop/umul24. 2018-12-30 08:05:11 -08:00