mesa/src/broadcom
Eric Anholt 97566efe5c v3d: Rematerialize MOVs of uniforms instead of spilling them.
If we have a MOV of a uniform value available to spill, that's one of our
best choices.  We can just not spill the value, and emit a new load of the
uniform as the fill.  This saves bothering the TMU and the thrsw, and is
the same cost in uniforms (since the spill offset is a uniform anyway).

This doesn't have a huge impact on shader-db, since there aren't a whole
lot of spills and we usually copy-prop the uniforms at the VIR level such
that the only uniform MOVs are from vir_lower_uniforms:

total instructions in shared programs: 6430292 -> 6430279 (<.01%)
total uniforms in shared programs: 2386023 -> 2385787 (<.01%)
total spills in shared programs: 4961 -> 4960 (-0.02%)
total fills in shared programs: 6352 -> 6350 (-0.03%)

However, I'm interested in dropping the uniforms copy-prop in the backend,
since it would be cheaper to not load repeated uniforms if we have the
registers to spare.  This also saves many spills on
dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20, which is what
motivated a bunch of my recent backend work in the first place:

before: 46 spills, 106 fills, 3062 instructions
after: 0 spills, 0 fills, 2611 instructions
2019-02-25 21:33:47 -08:00
..
cle v3d: Fix a release build set-but-unused compiler warning. 2019-01-29 16:02:51 -08:00
clif v3d: Dump the contents off all the buffers in CLIF mode. 2018-07-30 14:29:01 -07:00
common vc4: Declare the last cpu pointer as being modified in NEON asm. 2019-01-29 16:00:25 -08:00
compiler v3d: Rematerialize MOVs of uniforms instead of spilling them. 2019-02-25 21:33:47 -08:00
qpu v3d: Fix incorrect flagging of ldtmu as writing r4 on v3d 4.x. 2019-02-18 18:09:06 -08:00
.editorconfig broadcom: add editorconfig 2017-07-25 14:44:52 -07:00
.gitignore broadcom/vc5: Introduce v3dx_macros.h and v3dx_pack.h headers. 2018-01-12 21:51:40 -08: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.am automake: Add include dir for nir src directory 2019-01-29 23:24:57 +00:00
Makefile.cle.am broadcom: Fix out-of-tree build include path 2017-10-05 15:03:11 -07:00
Makefile.genxml.am v3d: Merge the V3D 4.1 and 4.2 XML into V3D 3.3'x XML. 2018-06-29 13:36:28 -07:00
Makefile.sources v3d: Avoid duplicating limits defines between gallium and v3d core. 2019-01-27 08:30:03 -08:00
Makefile.v3d.am v3d: Rename the driver files from "vc5" to "v3d". 2018-05-16 21:19:07 +01:00
meson.build vc4: Fix meson build when enabled without v3d. 2018-07-29 19:13:29 -07:00