mesa/src/panfrost/midgard
Alyssa Rosenzweig b131f96aa8 pan/mdg: Set lower_uniforms_to_ubo
Rip off the band-aid. No other driver in Mesa has this combination, and
there's a reason for that. It confuses nir_to_tgsi; this commit fixes
GALLIUM_HUD (again) on Midgard.

shader-db stats aren't as bad as they appear at first blush, since the
added cycles are from added if-else branches (and only one side of the
if is taken on Midgard, which does no warping*).

total instructions in shared programs: 97036 -> 98107 (1.10%)
instructions in affected programs: 8297 -> 9368 (12.91%)
helped: 0
HURT: 45
HURT stats (abs)   min: 1 max: 52 x̄: 23.80 x̃: 25
HURT stats (rel)   min: 0.61% max: 61.90% x̄: 16.18% x̃: 14.66%
95% mean confidence interval for instructions value: 20.04 27.56
95% mean confidence interval for instructions %-change: 12.62% 19.74%
Instructions are HURT.

total bundles in shared programs: 45507 -> 46091 (1.28%)
bundles in affected programs: 3138 -> 3722 (18.61%)
helped: 2
HURT: 40
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 1.54% max: 2.17% x̄: 1.86% x̃: 1.86%
HURT stats (abs)   min: 2 max: 44 x̄: 14.65 x̃: 12
HURT stats (rel)   min: 2.70% max: 50.00% x̄: 23.03% x̃: 21.25%
95% mean confidence interval for bundles value: 10.35 17.46
95% mean confidence interval for bundles %-change: 16.81% 26.88%
Bundles are HURT.

total quadwords in shared programs: 76952 -> 77849 (1.17%)
quadwords in affected programs: 6556 -> 7453 (13.68%)
helped: 2
HURT: 44
helped stats (abs) min: 1 max: 5 x̄: 3.00 x̃: 3
helped stats (rel) min: 1.73% max: 4.55% x̄: 3.14% x̃: 3.14%
HURT stats (abs)   min: 2 max: 58 x̄: 20.52 x̃: 18
HURT stats (rel)   min: 2.11% max: 46.34% x̄: 17.20% x̃: 12.96%
95% mean confidence interval for quadwords value: 15.18 23.82
95% mean confidence interval for quadwords %-change: 12.68% 19.96%
Quadwords are HURT.

total registers in shared programs: 6966 -> 6925 (-0.59%)
registers in affected programs: 347 -> 306 (-11.82%)
helped: 26
HURT: 8
helped stats (abs) min: 1 max: 4 x̄: 2.04 x̃: 2
helped stats (rel) min: 6.67% max: 42.86% x̄: 20.92% x̃: 22.22%
HURT stats (abs)   min: 1 max: 5 x̄: 1.50 x̃: 1
HURT stats (rel)   min: 9.09% max: 50.00% x̄: 17.19% x̃: 11.81%
95% mean confidence interval for registers value: -1.85 -0.56
95% mean confidence interval for registers %-change: -18.97% -4.93%
Registers are helped.

total threads in shared programs: 5040 -> 5050 (0.20%)
threads in affected programs: 13 -> 23 (76.92%)
helped: 10
HURT: 1
helped stats (abs) min: 1 max: 2 x̄: 1.10 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.44 1.38
95% mean confidence interval for threads %-change: 55.98% 116.75%
Threads are helped.

Fixes: 24d7c413fe ("panfrost: Enable packed uniforms.")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10866>
2021-05-18 19:19:01 +00:00
..
compiler.h pan/mdg: Fix spills to TLS 2021-05-18 19:19:01 +00:00
disassemble.c pan/mdg: Fix output types for scalar fields 2021-05-18 19:19:01 +00:00
disassemble.h pan/mdg: Hide units behind MIDGARD_MESA_DEBUG=verbose 2021-05-04 20:04:03 +00:00
helpers.h pan/mdg: improve tex opcode decoding and add missing ops 2021-04-27 07:04:08 +00:00
meson.build pan/mdg: Lower stores from helpers 2021-02-12 16:44:30 -05:00
midgard.h pan/mdg: Hide units behind MIDGARD_MESA_DEBUG=verbose 2021-05-04 20:04:03 +00:00
midgard_address.c pan/mdg: properly encode/decode ldst instructions 2021-04-27 07:04:08 +00:00
midgard_compile.c pan/mdg: Set lower_uniforms_to_ubo 2021-05-18 19:19:01 +00:00
midgard_compile.h pan/mdg: Set lower_uniforms_to_ubo 2021-05-18 19:19:01 +00:00
midgard_derivatives.c pan/mdg: improve tex opcode decoding and add missing ops 2021-04-27 07:04:08 +00:00
midgard_emit.c pan/midgard: Don't emit zero padding 2021-05-10 17:02:09 +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: Lower stores from helpers 2021-02-12 16:44:30 -05:00
midgard_nir_algebraic.py pan/mdg: Lower ufind_msb, poorly 2021-02-12 16:44:30 -05:00
midgard_nir_lower_helper_writes.c pan/mdg: Lower stores from helpers 2021-02-12 16:44:30 -05: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: Don't print explicit .rte 2021-05-04 20:04:03 +00:00
midgard_ops.h pan/mdg: Remove unused midgard_int_alu_op_prefix 2021-05-18 19:19:01 +00:00
midgard_opt_copy_prop.c pan/mdg: Remove midgard_opt_copy_prop_reg 2021-05-06 16:40:50 +00:00
midgard_opt_dce.c pan/mdg: improve tex opcode decoding and add missing ops 2021-04-27 07:04:08 +00:00
midgard_opt_perspective.c pan/mdg: properly encode/decode ldst instructions 2021-04-27 07:04:08 +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: stop querying datatype by reading opcode name 2021-04-27 07:04:07 +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: Model blend shader interference 2021-05-06 23:26:21 +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: improve tex opcode decoding and add missing ops 2021-04-27 07:04:08 +00:00
mir.c pan/mdg: Remove midgard_opt_copy_prop_reg 2021-05-06 16:40:50 +00:00
mir_promote_uniforms.c pan/mdg: properly encode/decode ldst instructions 2021-04-27 07:04:08 +00:00
mir_squeeze.c util/hash_table: do not leak u64 struct key 2021-04-29 12:58:23 +02:00
nir_fuse_io_16.c nir: Make nir_ssa_def_rewrite_uses_after take an SSA value 2021-03-08 16:59:55 +00:00