Alyssa Rosenzweig
4f4bb72745
pan/bi: Add nosched debug option
...
Forces a trivial schedule to replicate the old behaviour (for debugging
or benchmarking). Actually the new scheduler is still used, just highly
constrained; the net result should still do what's expected.
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/8354 >
2021-02-08 14:07:30 +00:00
Alyssa Rosenzweig
ced55f0bcc
pan/bi: Remove older cube map lowering
...
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/8354 >
2021-02-08 14:07:30 +00:00
Alyssa Rosenzweig
1dd3ff51e8
pan/bi: Remove old FAU assignment code
...
Replaced by the scheduler.
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/8354 >
2021-02-08 14:07:30 +00:00
Alyssa Rosenzweig
77933d16d8
pan/bi: Switch to new scheduler
...
Delete the old.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
f0c0082ab0
pan/bi: Schedule blocks
...
Replicate the pattern, greedily select clauses until we run out of
instructions.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
8fac99a7c0
pan/bi: Add constant modifier handling
...
Once we've merged the clauses' constants, we need to....
1. Swap where necessary so non-pcrel constants are correctly encoded.
2. Swap where necessary so pcrel constants are in canonical positions.
3. Force M1 values for pcrel constants and final single constants.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
c5742d9116
pan/bi: Add constant merging routines
...
These work as you would expect: first handling paired constants
(swapping to a canonical form to deduplicate), then handling unpaired
constants (packing together in a canonical form). Most of the added
complexity is from pcrel handling, but we impose strict invariants on
pcrel (no more than one PC-relative constant per clause, only M1=4 mode)
without which the algorithm would be even uglier.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
79dc2038a2
pan/bi: Add constant state constructor
...
Based on the tuple state's constants, satisfying the pcrel invariant we
impose.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
7aaaf9cfaf
pan/bi: Add constant to passthrough rewrite
...
Mimicks the one previously done at pack time, but designed for schedule
time instead.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
fc7770b1dd
pan/bi: Add trivial rewrite helpers
...
We need to do certain rewrites during scheduling before RA runs in order
to satsify scheduler post-conditions.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
66100895ff
pan/bi: Derive M0 from pcrel_idx while packing
...
Assumes the usual M1=4 mode.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
2096359cf9
pan/bi: Add pcrel_idx to bi_clause
...
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
649e45234f
pan/bi: Move bi_constant_field to bifrost.h
...
It's a hardware invariant, and useful for the scheduler (not just
packing).
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
ee78628f78
pan/bi: Add bi_foreach_instr_and_src_in_tuple
...
Rather specialized but keeps down obnoxious indentation in scheduler
passes.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
a8fce919d2
pan/bi: Extract bi_ec0_packed helper
...
Useful for scheduling decisions as well as packing.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
4252fb84f4
pan/bi: Add passthrough register rewriting helper
...
Passthroughs are _required_ for correct scheduling, so we have to handle
this now. The legitimacy of using passthroughs is justified by the
constraint checks and verified with asserts at pack time.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
09c5d4ce18
pan/bi: Destructively schedule a single instruction
...
Wrapper to select the best legal instruction, pop it off the worklist,
update the clause/tuple states, and return it.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
63271dca9a
pan/bi: Choose instructions to schedule
...
In the future we'll want a heuristic minimizing register pressure but
for in-order this will suffice.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
a303076c1a
pan/bi: Add bi_instr_schedulable predicate
...
Using the previously defined checks for architectural scheduling
constraints, define one top-level predicate to check if an instruction
on the worklist is ready for scheduling.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
2537a53d5c
pan/bi: Add writes_reg predicate
...
ATEST is a bit of a wrinkle in this, so let's keep it in one place.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
fb27baa35a
pan/bi: Add T0/T1 constraint check
...
Not visible on real shaders yet, but it will be when we schedule
out-of-order (or implement 64-bit multiplication).
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
0349181e40
pan/bi: Validate reads_t
...
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
3f1cda5284
pan/bi: Add bi_count_succ_reads helper
...
The number of register writes in a tuple must be bounded by a number
based on the number of register reads in the succeeding tuple, since
writes and reads are interleaved. This helper calculates that number of
reads, noting that not every read actually counts - if the preceding
tuple writes to a read source, that will become a temporary instead of
consuming a register slot.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
06bde2cc31
pan/bi: Add bi_tuple_is_new_src
...
To determine the number of register reads in a tuple (which must be
bounded by 3, or 5 if you force writes), we need to count "new" sources:
those that are not already in a partially scheduled tuple.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
93c82c6fac
pan/bi: Add FAU update helper
...
This comes in destructive and nondestructive flavours, to be used to
insert an instruction into a tuple and check if an instruction is
insertable respectively. It is responsible for FAU slot matching.
It's annoying this sort of logic is duplicated in 3 places
(bi_lower_fau, here, and packing) but they each work with different sets
of assumptions...
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
e5607c8745
pan/bi: Add constant count estimates to scheduler
...
Needed to satisfy max constant constaints. These aren't precise but
they should be a good enough approximation for now.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
eb7e363688
pan/bi: Stub worklist routines
...
In the near future we'll schedule out-of-order via a dependendency graph
and worklist. For now, emulate in-order operation.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
3ddff0fa8b
pan/bi: Flatten block lists
...
From Midgard scheduler.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
39406571ec
pan/bi: Add cubeface lowering
...
For the new schedule infrastructure. This supports multiple tuples per
clause, unlike the old hack lowering.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
7b4ab7bd2a
pan/bi: Add scheduler data structures
...
To satisfy the numerous architectural scheduler constraints, quite a bit
of state is required per-tuple, per-clause, and per-block. These data
structures allow maintaining this state separate from the main IR
data structures, allowing for partial constructions and nondestructive
operations.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
07a3ccfbed
pan/bi: Include ATEST datum in the instruction
...
Rather than doing this at pack time like before, or adding extra
constraints to the already overcomplicated scheduler, let's just include
it like a regular FAU source.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
b8f042c9bb
pan/bi: Dead code eliminate per-channel
...
We already track the full liveness so this is a trivial optimization,
with an especial win for shaders reading only a subset of components of
gl_FragCoord.
More importantly, it's required for proper scheduling (in soft mode)
when vectors are used and some (but not all components) are promoted to
temporary registers.
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
08d98290fe
pan/bi: Cleanup terminal block check
...
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/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
4a27f8887d
pan/bi: Print program size in shader-db
...
Less critical than other metrics, but still matters for instruction
cache hit rate, and worth being aware of.
And, fine, it makes the scheduler look like a bigger win on another
axis.
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/8354 >
2021-02-08 14:07:29 +00:00
Icecream95
6ecce71f71
pan/bi: Fix shader prefetch size
...
The prefetch buffer size is larger than first thought, but includes
the final clause, so subtract the size of the final clause from the
prefetch size.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354 >
2021-02-08 14:07:29 +00:00
Icecream95
b5ab019b5a
pan/bi: Return the size of the last clause from bi_pack
...
Will be used for calculating prefetch size.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8354 >
2021-02-08 14:07:29 +00:00
Alyssa Rosenzweig
b5c79e6d9f
pan/bi: Lower transcendentals on G71
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
c4f26d12f9
pan/bi: Lower FP32 transcendentals where required
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
3aadebf4a8
pan/bi: Fix bi quirks detection
...
There is no Bifrost v8...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
0219ecbfa0
pan/bi: Rename NO_FP32_TRANSCENDENTALS quirk
...
Make it more obvious what the issue is. "_FAST" is not a suffix on
Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
0bdd4cbb57
pan/bi: Lower flog2 to a table and polynomial
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
d4c028f770
pan/bi: Lower FEXP2 with a table
...
Connor's code, not the blob's, amusingly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
10b1f26687
pan/bi: Lower frsq to Newton-Raphson
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
c5e5d11599
pan/bi: Lower frcp to Newton-Raphson
...
For G71 but should work on any Bifrost, probably overlaps some CL stuff.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
94fed29680
pan/bi: Fix FLOG_TABLE modifier handling
...
These should not be in a union together.
[Note: this does not need to be backported, since the affected
instruction is not emitted under any circumstances in the stable
branches]
Fixes: dd11e5076e
("pan/bi: Add new bi_instr data structure")
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Alyssa Rosenzweig
9157cf8124
pan/bi: Add bi_fmul_f32 convenience method
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8894 >
2021-02-08 13:55:12 +00:00
Iago Toral Quiroga
8eeb61a3bf
v3dv: add a perf trace when a device is created with robust buffer access
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8913 >
2021-02-08 13:00:16 +00:00
Iago Toral Quiroga
e6f8202749
v3dv: serialize pipeline compilation when debugging shaders
...
It is possible to compile pipelines in multiple threads, but when we
are dumping debug information for shaders, we want all the outputs
serialized so we can make sense of it.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8913 >
2021-02-08 13:00:16 +00:00
Iago Toral Quiroga
44dcc4c24d
v3d/common: use spaces instead of TABs
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8913 >
2021-02-08 13:00:16 +00:00
Erik Faye-Lund
ae8f9584f4
CI: always expose docs artifacts
...
This makes it easier to preview docs changes in merge-requests. Also
make sure we build the docs right away, rather than waiting for when
marge merges. This allows us to see the artifacts right away.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8398 >
2021-02-08 11:39:10 +00:00