mesa/src
Eric Anholt 8afab607ac nir: Add a scheduler pass to reduce maximum register pressure.
This is similar to a scheduler I've written for vc4 and i965, but this
time written at the NIR level so that hopefully it's reusable.  A notable
new feature it has is Goodman/Hsu's heuristic of "once we've started
processing the uses of a value, prioritize processing the rest of their
uses", which should help avoid the heuristic otherwise making such
systematically bad choices around getting texture results consumed.

Results for v3d:

total instructions in shared programs: 6497588 -> 6518242 (0.32%)
total threads in shared programs: 154000 -> 152828 (-0.76%)
total uniforms in shared programs: 2119629 -> 2068681 (-2.40%)
total spills in shared programs: 4984 -> 472 (-90.53%)
total fills in shared programs: 6418 -> 1546 (-75.91%)

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> (v1)
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> (v2)

v2: Use the DAG datastructure, fold in the scheduling-for-parallelism
    patch, include SSA defs in live values so we can switch to bottom-up
    if we want.
v3: Squash in improvements from Alejandro Piñeiro for getting V3D to
    successfully register allocate on GLES3.1 dEQP.  Make sure that
    discards don't move after store_output.  Comment spelling fix.
2019-11-25 21:12:21 +00:00
..
amd radv: select the depth decompress path based on the aspect mask 2019-11-25 16:29:23 +01:00
broadcom nir: Add a scheduler pass to reduce maximum register pressure. 2019-11-25 21:12:21 +00:00
compiler nir: Add a scheduler pass to reduce maximum register pressure. 2019-11-25 21:12:21 +00:00
drm-shim drm-shim: fix EOF case 2019-11-13 12:39:14 +00:00
egl Revert "egl: handle EGL_IMAGE_EXTERNAL_FLUSH_EXT" 2019-11-14 07:46:14 +02:00
etnaviv etnaviv: add drm-shim 2019-11-21 22:56:04 +00:00
freedreno turnip: implement UBWC 2019-11-21 22:21:57 +00:00
gallium etnaviv: implement 64bpp clear 2019-11-25 20:23:22 +01:00
gbm meson: move the generic symbols check arguments to a common variable 2019-11-05 20:30:47 +00:00
getopt meson: build getopt when using msvc 2019-09-10 20:36:47 +00:00
glx dri: Avoid swapbuffer throttling in glXCopySubBufferMESA 2019-10-05 13:19:37 +00:00
gtest meson: gtest needs pthreads 2019-11-07 06:11:19 -08:00
hgl haiku: fix Mesa build 2019-10-01 10:31:02 +00:00
imgui
intel meson: only build imgui when needed 2019-11-25 07:51:56 +00:00
loader loader: replace xmlpool_options_h with idep_xmlconfig_headers 2019-10-31 15:29:06 +00:00
mapi mesa/glthread: Implement ARB_multi_bind. 2019-11-22 15:29:07 -05:00
mesa Revert "st/mesa: keep serialized NIR instead of nir_shader in st_program" 2019-11-20 15:22:32 -08:00
panfrost pan/midgard: Use lower_tex_without_implicit_lod 2019-11-22 08:38:57 -05:00
util drirc: Add glsl_zero_init workaround for GpuTest 2019-11-25 12:22:37 +02:00
vulkan meson: only build imgui when needed 2019-11-25 07:51:56 +00:00
SConscript
meson.build meson: only build imgui when needed 2019-11-25 07:51:56 +00:00