Mesa (main): 24 new commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jul 9 23:28:51 UTC 2021
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c70f45c75966c08f0b7e0b013c9092959430ba46
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Fri Jun 11 15:34:10 2021 -0400
panfrost: Set register allocation in the v7 RSD
Required to hit full occupancy. Now that this information is piped
through the compiler, we can do this correctly.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a79bbdb3816fdaa3d00980567bc0898cde2bb09
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 24 11:55:27 2021 -0400
panfrost: Generalize pan_blitter's reg count assert
Needed to avoid crashing on Bifrost/Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ac4156d19387e3ca88be09c62edc8f618e5bc84
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Wed Jun 16 13:29:53 2021 -0400
panfrost: Enable more tiler levels if we can
Boosts glmark2 scores on Mali G52.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc69635516d5a76baa556dd404fec4e371937c17
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Wed Jun 16 13:28:58 2021 -0400
panfrost: Query tiler features
We need the maximum levels to configure the hierarchy mask correctly. We
should also respect the bin size...
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=329cb28d65836bc597acd15b258bfb0e7daf6dc9
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Wed Jun 16 11:29:28 2021 -0400
panfrost: Zero depth_source in vertex shaders
Spurious assignment.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb39b44a2ef56c6ff46d650771da3933987fd131
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Wed Jun 16 11:28:09 2021 -0400
panfrost: Don't set zs_update_operation in vertex shaders
Spurious assignment.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c20dde51797b37950f8067f451221b1daf7cd413
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Tue Jun 15 18:59:33 2021 -0400
panfrost: Add a performance counter dump utility
This uses Antonio's src/panfrost/perf for all the heavylifting, just
like the Perfetto producer. Unlike the Perfetto producer, it has no
dependencies and is a lot less useful. But it's a good smoke test.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7748ab117f04914878653954001b68ccf4b0f5af
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Fri Jun 11 15:23:12 2021 -0400
panfrost: Fix FPK enable condition
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=499397700c10f260e806921ba59103eab0998de8
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Mon Jun 28 10:49:56 2021 -0400
pan/bi: Don't lower fpow
We can fuse the intermediate multiply with the FMA_RSCALE in the
exponent code and save an instruction. Whether this is better than
adding a NIR op remains to be seen.
total instructions in shared programs: 146614 -> 146190 (-0.29%)
instructions in affected programs: 40724 -> 40300 (-1.04%)
helped: 157
HURT: 0
helped stats (abs) min: 1.0 max: 9.0 x̄: 2.70 x̃: 2
helped stats (rel) min: 0.22% max: 10.34% x̄: 1.37% x̃: 1.20%
95% mean confidence interval for instructions value: -3.00 -2.40
95% mean confidence interval for instructions %-change: -1.58% -1.15%
Instructions are helped.
total tuples in shared programs: 128116 -> 127696 (-0.33%)
tuples in affected programs: 33421 -> 33001 (-1.26%)
helped: 150
HURT: 0
helped stats (abs) min: 1.0 max: 16.0 x̄: 2.80 x̃: 2
helped stats (rel) min: 0.28% max: 4.37% x̄: 1.36% x̃: 1.07%
95% mean confidence interval for tuples value: -3.24 -2.36
95% mean confidence interval for tuples %-change: -1.50% -1.21%
Tuples are helped.
total clauses in shared programs: 27531 -> 27483 (-0.17%)
clauses in affected programs: 719 -> 671 (-6.68%)
helped: 20
HURT: 0
helped stats (abs) min: 1.0 max: 8.0 x̄: 2.40 x̃: 1
helped stats (rel) min: 1.61% max: 12.90% x̄: 6.96% x̃: 5.33%
95% mean confidence interval for clauses value: -3.48 -1.32
95% mean confidence interval for clauses %-change: -9.10% -4.82%
Clauses are helped.
total cycles in shared programs: 12250.81 -> 12233.69 (-0.14%)
cycles in affected programs: 1251.50 -> 1234.38 (-1.37%)
helped: 141
HURT: 0
helped stats (abs) min: 0.041665999999999315 max: 0.6666670000000003 x̄: 0.12 x̃: 0
helped stats (rel) min: 0.29% max: 5.00% x̄: 1.48% x̃: 1.20%
95% mean confidence interval for cycles value: -0.14 -0.10
95% mean confidence interval for cycles %-change: -1.63% -1.32%
Cycles are helped.
total arith in shared programs: 4840.25 -> 4822.71 (-0.36%)
arith in affected programs: 1324.08 -> 1306.54 (-1.32%)
helped: 151
HURT: 0
helped stats (abs) min: 0.041665999999999315 max: 0.6666670000000003 x̄: 0.12 x̃: 0
helped stats (rel) min: 0.29% max: 5.00% x̄: 1.43% x̃: 1.13%
95% mean confidence interval for arith value: -0.13 -0.10
95% mean confidence interval for arith %-change: -1.59% -1.28%
Arith are helped.
total texture in shared programs: 1666.50 -> 1666.50 (0.00%)
texture in affected programs: 0 -> 0
helped: 0
HURT: 0
total vary in shared programs: 639.06 -> 639.06 (0.00%)
vary in affected programs: 0 -> 0
helped: 0
HURT: 0
total ldst in shared programs: 9682 -> 9682 (0.00%)
ldst in affected programs: 0 -> 0
helped: 0
HURT: 0
total quadwords in shared programs: 116758 -> 116378 (-0.33%)
quadwords in affected programs: 28054 -> 27674 (-1.35%)
helped: 148
HURT: 2
helped stats (abs) min: 1.0 max: 16.0 x̄: 2.58 x̃: 2
helped stats (rel) min: 0.29% max: 5.13% x̄: 1.54% x̃: 1.23%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.67% max: 0.85% x̄: 0.76% x̃: 0.76%
95% mean confidence interval for quadwords value: -2.94 -2.12
95% mean confidence interval for quadwords %-change: -1.69% -1.33%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=91f130fa1e5a1a3c06ac742b42e01532f4d72bdb
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Mon Jun 28 10:33:04 2021 -0400
pan/bi: Factor out exp2/log2 code
Will be reused for fpow.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0991e9592dc387341af6f2711a6820463100b03a
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Mon Jun 28 10:22:35 2021 -0400
pan/bi: Comment the fexp2 implementation
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=297ac6e4530d7c839e320fc04cf10ba5ea9ec1a2
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Fri Jun 25 18:31:50 2021 -0400
pan/bi: Simplify cube map descriptor generation
We don't need to do the bitwise manipulation ourselves, we can just use
a bitwise MUX instead.
total instructions in shared programs: 146840 -> 146614 (-0.15%)
instructions in affected programs: 15037 -> 14811 (-1.50%)
helped: 109
HURT: 0
helped stats (abs) min: 2.0 max: 4.0 x̄: 2.07 x̃: 2
helped stats (rel) min: 0.86% max: 4.00% x̄: 1.70% x̃: 1.77%
95% mean confidence interval for instructions value: -2.15 -2.00
95% mean confidence interval for instructions %-change: -1.81% -1.59%
Instructions are helped.
total tuples in shared programs: 128149 -> 128116 (-0.03%)
tuples in affected programs: 2896 -> 2863 (-1.14%)
helped: 16
HURT: 0
helped stats (abs) min: 1.0 max: 5.0 x̄: 2.06 x̃: 1
helped stats (rel) min: 0.65% max: 2.33% x̄: 1.16% x̃: 0.70%
95% mean confidence interval for tuples value: -3.01 -1.12
95% mean confidence interval for tuples %-change: -1.50% -0.83%
Tuples are helped.
total cycles in shared programs: 12257.10 -> 12250.81 (-0.05%)
cycles in affected programs: 449.87 -> 443.58 (-1.40%)
helped: 92
HURT: 0
helped stats (abs) min: 0.0416660000000002 max: 0.20833400000000069 x̄: 0.07 x̃: 0
helped stats (rel) min: 0.93% max: 2.53% x̄: 1.40% x̃: 1.26%
95% mean confidence interval for cycles value: -0.08 -0.06
95% mean confidence interval for cycles %-change: -1.48% -1.32%
Cycles are helped.
total arith in shared programs: 4847.33 -> 4840.25 (-0.15%)
arith in affected programs: 490.37 -> 483.29 (-1.44%)
helped: 109
HURT: 0
helped stats (abs) min: 0.0416660000000002 max: 0.20833400000000069 x̄: 0.06 x̃: 0
helped stats (rel) min: 0.93% max: 5.56% x̄: 1.51% x̃: 1.26%
95% mean confidence interval for arith value: -0.07 -0.06
95% mean confidence interval for arith %-change: -1.64% -1.39%
Arith are helped.
total quadwords in shared programs: 116775 -> 116758 (-0.01%)
quadwords in affected programs: 1331 -> 1314 (-1.28%)
helped: 7
HURT: 0
helped stats (abs) min: 1.0 max: 4.0 x̄: 2.43 x̃: 3
helped stats (rel) min: 0.91% max: 2.38% x̄: 1.65% x̃: 1.39%
95% mean confidence interval for quadwords value: -3.48 -1.38
95% mean confidence interval for quadwords %-change: -2.27% -1.04%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=94b9bce46443ff97bd673fab80a2c9f7365d9d66
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Fri Jun 25 11:40:47 2021 -0400
pan/bi: Workaround widen restrictions on +FADD.f32
We can use *FADD.f32 for these cases.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=99b2dddebf1317f2d2eba2e8ab8723811c2e2b23
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 24 19:36:11 2021 -0400
pan/bi: Add a constant subexpression elimination pass
ALU only. Intended to clean up the lowerings used with complex
texturings. Ex: if a shader reads two cube maps at the same coordinates,
this deduplicates the cube map transformation.
This needs to happen in the backend since we do the cube map
transformation with the backend builder, rather than special NIR ops.
This is a tradeoff.
Pass based on ir3's, which in turn is inspired by NIR's.
total instructions in shared programs: 148799 -> 147348 (-0.98%)
instructions in affected programs: 20509 -> 19058 (-7.07%)
helped: 145
HURT: 0
helped stats (abs) min: 4.0 max: 30.0 x̄: 10.01 x̃: 8
helped stats (rel) min: 1.92% max: 54.55% x̄: 10.87% x̃: 7.41%
95% mean confidence interval for instructions value: -10.73 -9.28
95% mean confidence interval for instructions %-change: -12.81% -8.94%
Instructions are helped.
total tuples in shared programs: 129992 -> 128908 (-0.83%)
tuples in affected programs: 17624 -> 16540 (-6.15%)
helped: 145
HURT: 0
helped stats (abs) min: 2.0 max: 25.0 x̄: 7.48 x̃: 7
helped stats (rel) min: 0.74% max: 42.86% x̄: 9.16% x̃: 7.22%
95% mean confidence interval for tuples value: -7.96 -6.99
95% mean confidence interval for tuples %-change: -10.52% -7.79%
Tuples are helped.
total clauses in shared programs: 27632 -> 27582 (-0.18%)
clauses in affected programs: 1077 -> 1027 (-4.64%)
helped: 44
HURT: 0
helped stats (abs) min: 1.0 max: 3.0 x̄: 1.14 x̃: 1
helped stats (rel) min: 2.50% max: 16.67% x̄: 4.99% x̃: 4.45%
95% mean confidence interval for clauses value: -1.26 -1.01
95% mean confidence interval for clauses %-change: -5.70% -4.27%
Clauses are helped.
total cycles in shared programs: 12323 -> 12285.63 (-0.30%)
cycles in affected programs: 618.25 -> 580.88 (-6.05%)
helped: 120
HURT: 0
helped stats (abs) min: 0.08333299999999966 max: 0.5416680000000014 x̄: 0.31 x̃: 0
helped stats (rel) min: 0.77% max: 66.67% x̄: 7.60% x̃: 7.37%
95% mean confidence interval for cycles value: -0.33 -0.29
95% mean confidence interval for cycles %-change: -8.73% -6.47%
Cycles are helped.
total arith in shared programs: 4916.75 -> 4866.88 (-1.01%)
arith in affected programs: 677.79 -> 627.92 (-7.36%)
helped: 145
HURT: 0
helped stats (abs) min: 0.08333299999999966 max: 1.0833329999999997 x̄: 0.34 x̃: 0
helped stats (rel) min: 0.77% max: 66.67% x̄: 12.81% x̃: 7.87%
95% mean confidence interval for arith value: -0.37 -0.32
95% mean confidence interval for arith %-change: -15.33% -10.29%
Arith are helped.
total quadwords in shared programs: 118117 -> 117262 (-0.72%)
quadwords in affected programs: 15283 -> 14428 (-5.59%)
helped: 143
HURT: 0
helped stats (abs) min: 1.0 max: 23.0 x̄: 5.98 x̃: 5
helped stats (rel) min: 0.44% max: 25.71% x̄: 7.56% x̃: 5.56%
95% mean confidence interval for quadwords value: -6.46 -5.50
95% mean confidence interval for quadwords %-change: -8.59% -6.53%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f35d0fb028b511f6862458ef45e87204f3f9cddb
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 24 18:35:58 2021 -0400
pan/bi: Fuse LD_VAR+TEXS_2D -> VAR_TEX
When the LD_VAR is only used once as an input to a texture instruction,
this is an improvement. We handle this case as a backwards pass.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fef3b6afcf739f5bdde3e38e47470c564fd256b
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 24 11:49:19 2021 -0400
pan/bi: Analyze helper invocations
Set the .skip bit on texture instructions and the terminate discarded
threads bit on the clause header based on data flow analysis of helper
invocations. This code is adapted from Midgard, which requires the same
analysis with a few details changed.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=134c74e301cb3f4388069ddf720054a8a3e86120
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Tue Jul 6 11:56:16 2021 -0400
pan/bi: Track LOD mode even for TEXC
Redundant with the texture operation descriptor, but we don't want to
parse that in the rest of the compiler. Handling it as a pseudo-modifier
lets us share a code path with TEXS.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7ca125278e84d0068d883574dffbefff778fc58
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 24 11:04:25 2021 -0400
pan/bi: Report cycle counts
Based on analysis of results from the Mali Offline Compiler. I am
uncertain how well these translate to real life, and they are
normalized counts only...
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a38ad8ec65f0f4d3cc715ea614eca8436cc3e69c
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Wed Jun 16 16:13:56 2021 -0400
pan/bi: Only spill nodes that could progress in RA
This reduces number of spills and hence compile-time by avoiding
pointless decisions. In a terrain shader forced to use full threads:
Before: 39:168 spills:fills
After: 23:127 spills:fills
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=113157dafefc0383575ca54c70a36bfcf616d29b
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Wed Jun 16 14:35:43 2021 -0400
pan/bi: Try to hit full occupancy on v7
Bifrost v7 trades off register pressure and occupancy. If we restrict to
[R0, R15] U [R48, R63], we get full occupancy, but if we use the full
register file, we only get half occupancy. Try to allocate just 32
registers, and only use the full 64 registers if that would spill.
Clever heuristics could make this both more effective (live range
splitting, shuffling, spilling if deemed acceptable) and cheaper at
compile-time (tracking maximum liveness to determine if it's possible to
hit at all). For now, this should suffice.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=98126128b1a28a43841281ea2608673b1d67b675
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Tue Jun 15 17:19:38 2021 -0400
pan/bi: Pack staging_barrier for the -next- clause
Match the semantic in the compiler header.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9e63586acf1388f18541cb880c81ab4a0ab2b8a
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 24 14:07:43 2021 -0400
pan/bi: Add bi_foreach_instr_global_rev_safe helper
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4a849519aec73cb0ff7abeb2ac39157838659e2
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu Jun 24 14:07:27 2021 -0400
pan/bi: Fix skip/lod_mode aliasing with VAR_TEX
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5093f5810c03485e8b644d7c4071be3ef34a9b2
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Tue Jun 15 17:20:04 2021 -0400
pan/bi: Improve clause printing
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11733>
More information about the mesa-commit
mailing list