mesa/src/freedreno
Rob Clark 771d04c82d freedreno/ir3: scheduler improvements
For instructions that increase the # of live values, apply a threshold
to avoid scheduling them too early.  And factor the net change of # of
live values that would result from scheduling an instruction, to
prioritize instructions that reduce number of live values as the number
of live values increases.

For manhattan:

  total instructions in shared programs: 27869 -> 28413 (1.95%)
  instructions in affected programs: 26756 -> 27300 (2.03%)
  helped: 102
  HURT: 87

  total full in shared programs: 1903 -> 1719 (-9.67%)
  full in affected programs: 1390 -> 1206 (-13.24%)
  helped: 124
  HURT: 9

The reduction in register usage nets ~20% gain in manhattan.  (So
getting mediump support should be a huge win for gles gfxbench.)

Also significantly helps some of the more complex shadertoy shaders,
like IQ's Piano (32 to 18 regs, doubles fps).

The effect is less pronounced on smaller shaders.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2019-06-03 12:44:03 -07:00
..
drm freedreno: Move msm_drm.h to the same spot as other DRM uapi. 2019-05-14 11:51:55 -07:00
ir3 freedreno/ir3: scheduler improvements 2019-06-03 12:44:03 -07:00
registers freedreno: update generated headers 2019-05-04 11:50:44 -07:00
vulkan spirv: Change spirv_to_nir() to return a nir_shader 2019-05-29 10:34:35 -07:00
.dir-locals.el freedreno: Make emacs indent the way robclark's eclipse does. 2019-05-13 15:37:01 -07:00
.editorconfig freedreno: Make .editorconfig match .dir-locals.el. 2019-05-13 15:37:01 -07:00
Android.drm.mk mesa: android: freedreno: build libfreedreno_{drm,ir3} static libs 2019-05-06 11:29:26 +00:00
Android.ir3.mk mesa: android: freedreno: build libfreedreno_{drm,ir3} static libs 2019-05-06 11:29:26 +00:00
Android.mk mesa: android: freedreno: build libfreedreno_{drm,ir3} static libs 2019-05-06 11:29:26 +00:00
Makefile.sources freedreno: Move msm_drm.h to the same spot as other DRM uapi. 2019-05-14 11:51:55 -07:00
meson.build turnip: Add driver skeleton (v2) 2019-03-11 10:01:15 -07:00