mesa/src/panfrost/midgard
Alyssa Rosenzweig 755227baa6 pan/mdg: Push uniforms based on UBO analysis
Skips over "holes" in UBO ranges and allows pushing things other than
UBO #0 (GL uniforms) and sysvals. shader-db results relative to
beginning of series (so includes the hurt from lowering UBO to
uniforms):

total instructions in shared programs: 96611 -> 95018 (-1.65%)
instructions in affected programs: 22356 -> 20763 (-7.13%)
helped: 204
HURT: 13
helped stats (abs) min: 1 max: 27 x̄: 8.18 x̃: 7
helped stats (rel) min: 0.42% max: 26.09% x̄: 8.60% x̃: 8.07%
HURT stats (abs)   min: 1 max: 33 x̄: 5.77 x̃: 2
HURT stats (rel)   min: 0.47% max: 15.64% x̄: 3.56% x̃: 1.72%
95% mean confidence interval for instructions value: -8.29 -6.39
95% mean confidence interval for instructions %-change: -8.74% -7.00%
Instructions are helped.

total bundles in shared programs: 44886 -> 44790 (-0.21%)
bundles in affected programs: 9640 -> 9544 (-1.00%)
helped: 131
HURT: 70
helped stats (abs) min: 1 max: 11 x̄: 4.34 x̃: 4
helped stats (rel) min: 1.04% max: 42.31% x̄: 10.39% x̃: 9.84%
HURT stats (abs)   min: 1 max: 16 x̄: 6.76 x̃: 6
HURT stats (rel)   min: 2.22% max: 37.50% x̄: 13.78% x̃: 10.00%
95% mean confidence interval for bundles value: -1.37 0.42
95% mean confidence interval for bundles %-change: -3.99% 0.04%
Inconclusive result (value mean confidence interval includes 0).

total quadwords in shared programs: 76320 -> 75140 (-1.55%)
quadwords in affected programs: 16691 -> 15511 (-7.07%)
helped: 206
HURT: 5
helped stats (abs) min: 1 max: 18 x̄: 5.91 x̃: 6
helped stats (rel) min: 0.36% max: 27.78% x̄: 7.93% x̃: 8.33%
HURT stats (abs)   min: 1 max: 19 x̄: 7.40 x̃: 1
HURT stats (rel)   min: 0.55% max: 15.79% x̄: 7.39% x̃: 3.57%
95% mean confidence interval for quadwords value: -6.19 -5.00
95% mean confidence interval for quadwords %-change: -8.32% -6.82%
Quadwords are helped.

total registers in shared programs: 6958 -> 6827 (-1.88%)
registers in affected programs: 1083 -> 952 (-12.10%)
helped: 112
HURT: 16
helped stats (abs) min: 1 max: 3 x̄: 1.32 x̃: 1
helped stats (rel) min: 6.25% max: 50.00% x̄: 17.13% x̃: 12.50%
HURT stats (abs)   min: 1 max: 2 x̄: 1.06 x̃: 1
HURT stats (rel)   min: 9.09% max: 20.00% x̄: 11.97% x̃: 11.81%
95% mean confidence interval for registers value: -1.19 -0.86
95% mean confidence interval for registers %-change: -15.78% -11.21%
Registers are helped.

total threads in shared programs: 5109 -> 5153 (0.86%)
threads in affected programs: 62 -> 106 (70.97%)
helped: 42
HURT: 6
helped stats (abs) min: 1 max: 2 x̄: 1.19 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel)   min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: 0.68 1.16
95% mean confidence interval for threads %-change: 66.69% 95.81%
Threads are helped.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8973>
2021-02-11 17:24:37 +00:00
..
compiler.h pan/mdg: Push uniforms based on UBO analysis 2021-02-11 17:24:37 +00:00
disassemble.c pan/mdg: Drop unused stage parameter to disassembler 2021-02-03 14:04:53 +00:00
disassemble.h pan/mdg: Drop unused stage parameter to disassembler 2021-02-03 14:04:53 +00:00
helpers.h pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
meson.build pan/mdg: create nir pass to lower image coord bitsize 2021-01-27 12:39:41 +00:00
midgard.h pan/mdg: Add MIDGARD_MESA_DEBUG=inorder option 2021-02-11 17:24:37 +00:00
midgard_address.c pan/mdg: Optimize UBO offset calculations 2021-02-11 17:24:37 +00:00
midgard_compile.c pan/mdg: Push uniforms based on UBO analysis 2021-02-11 17:24:37 +00:00
midgard_compile.h nir: replace .lower_sub with .has_fsub and .has_isub 2021-01-11 19:13:51 +00:00
midgard_derivatives.c pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
midgard_emit.c pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
midgard_errata_lod.c pan/mdg: Use nir_shader_instructions_pass for nir_lod_errata 2020-09-20 01:39:15 +00:00
midgard_helper_invocations.c pan/mdg: eliminate references to ins->texture.op 2020-07-30 22:55:36 +00:00
midgard_liveness.c pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
midgard_nir.h pan/mdg: create nir pass to lower image coord bitsize 2021-01-27 12:39:41 +00:00
midgard_nir_algebraic.py pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
midgard_nir_lower_image_bitsize.c pan/mdg: create nir pass to lower image coord bitsize 2021-01-27 12:39:41 +00:00
midgard_ops.c pan/mdg: implement shader image instructions 2021-01-27 12:39:41 +00:00
midgard_ops.h pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
midgard_opt_copy_prop.c pan/mdg: eliminate references to ins->load_store.op 2020-07-30 22:55:36 +00:00
midgard_opt_dce.c pan/mdg: eliminate references to ins->load_store.op 2020-07-30 22:55:36 +00:00
midgard_opt_perspective.c pan/mdg: Fix perspective combination 2020-08-31 19:43:55 +00:00
midgard_print.c pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
midgard_print_constant.c pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
midgard_quirks.h pan/mdg: Add quirk for missing out-of-order support 2020-06-01 18:38:49 +00:00
midgard_ra.c pan/mdg: Push uniforms based on UBO analysis 2021-02-11 17:24:37 +00:00
midgard_ra_pipeline.c pan/mdg: Dual source blend input/writeout support 2020-07-15 01:30:00 +00:00
midgard_schedule.c pan/mdg: Push uniforms based on UBO analysis 2021-02-11 17:24:37 +00:00
mir.c pan/mdg: Add missing Collabora copyright notices 2020-11-09 16:45:25 +00:00
mir_promote_uniforms.c pan/mdg: Push uniforms based on UBO analysis 2021-02-11 17:24:37 +00:00
mir_squeeze.c panfrost: Free hash_to_temp map 2020-08-20 18:15:01 +02:00
nir_fuse_io_16.c pan/mdg: Obey f2fmp size restriction in fuse_io_16 2020-09-10 23:35:13 +00:00