Karol Herbst
f745a07b36
rusticl/program: rework dynamic Program state
...
We had a lot of implicit locks going on even though there was strictly no
need in doing so. This makes the compilation APIs more atomic while also
providing a cleaner interface.
Not in the mood of splitting it up without deadlocking in the middle. So
it's one big commit sadly.
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22434 >
2023-04-26 20:49:42 +00:00
Antonio Gomes
2b01934bc8
rusticl: Move nir compilation to Program
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22434 >
2023-04-26 20:49:42 +00:00
Mike Blumenkrantz
feb4103272
zink: prune some validation errors from ci
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22715 >
2023-04-26 19:37:58 +00:00
Alyssa Rosenzweig
1ede7c053b
pan/bi: Don't set has_fsub
...
All this option controls is fusing fadd(x, fneg(y)) into a single instruction,
but our modifier propagation can already do that without the special cases.
shader-db changes are mostly noise.
total instructions in shared programs: 2698039 -> 2697812 (<.01%)
instructions in affected programs: 156742 -> 156515 (-0.14%)
helped: 280
HURT: 109
helped stats (abs) min: 1.0 max: 12.0 x̄: 1.69 x̃: 1
helped stats (rel) min: 0.08% max: 10.71% x̄: 0.65% x̃: 0.32%
HURT stats (abs) min: 1.0 max: 8.0 x̄: 2.26 x̃: 2
HURT stats (rel) min: 0.15% max: 5.77% x̄: 2.08% x̃: 2.22%
95% mean confidence interval for instructions value: -0.80 -0.36
95% mean confidence interval for instructions %-change: -0.05% 0.28%
Inconclusive result (%-change mean confidence interval includes 0).
total cycles in shared programs: 143679.94 -> 143676.33 (<.01%)
cycles in affected programs: 617.98 -> 614.38 (-0.58%)
helped: 148
HURT: 3
helped stats (abs) min: 0.015625 max: 0.1875 x̄: 0.02 x̃: 0
helped stats (rel) min: 0.17% max: 3.33% x̄: 0.71% x̃: 0.57%
HURT stats (abs) min: 0.015625 max: 0.046875 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.66% max: 2.27% x̄: 1.46% x̃: 1.45%
95% mean confidence interval for cycles value: -0.03 -0.02
95% mean confidence interval for cycles %-change: -0.77% -0.56%
Cycles are helped.
total fma in shared programs: 22102.44 -> 22098.33 (-0.02%)
fma in affected programs: 395.98 -> 391.88 (-1.04%)
helped: 123
HURT: 3
helped stats (abs) min: 0.015625 max: 0.1875 x̄: 0.03 x̃: 0
helped stats (rel) min: 0.43% max: 18.75% x̄: 1.81% x̃: 0.89%
HURT stats (abs) min: 0.015625 max: 0.046875 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.66% max: 4.17% x̄: 2.09% x̃: 1.45%
95% mean confidence interval for fma value: -0.04 -0.03
95% mean confidence interval for fma %-change: -2.17% -1.27%
Fma are helped.
total cvt in shared programs: 14735.23 -> 14735.80 (<.01%)
cvt in affected programs: 969.64 -> 970.20 (0.06%)
helped: 179
HURT: 121
helped stats (abs) min: 0.015625 max: 0.09375 x̄: 0.02 x̃: 0
helped stats (rel) min: 0.17% max: 46.15% x̄: 1.13% x̃: 0.31%
HURT stats (abs) min: 0.015625 max: 0.125 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.42% max: 28.57% x̄: 6.62% x̃: 6.25%
95% mean confidence interval for cvt value: -0.00 0.01
95% mean confidence interval for cvt %-change: 1.32% 2.68%
Inconclusive result (value mean confidence interval includes 0).
total quadwords in shared programs: 1460952 -> 1460680 (-0.02%)
quadwords in affected programs: 10216 -> 9944 (-2.66%)
helped: 39
HURT: 5
helped stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
helped stats (rel) min: 0.97% max: 11.11% x̄: 4.53% x̃: 3.45%
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 12.50% max: 25.00% x̄: 15.71% x̃: 14.29%
95% mean confidence interval for quadwords value: -7.74 -4.62
95% mean confidence interval for quadwords %-change: -4.43% -0.04%
Quadwords are helped.
total threads in shared programs: 53538 -> 53537 (<.01%)
threads in affected programs: 2 -> 1 (-50.00%)
helped: 0
HURT: 1
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22687 >
2023-04-26 17:23:27 +00:00
Samuel Pitoiset
5e6c716173
docs: add missing ACO_DEBUG=force-waitdeps
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22688 >
2023-04-26 16:40:27 +00:00
Samuel Pitoiset
b0b55dc602
docs: rename ACO_DEBUG=noscheduling to ACO_DEBUG=nosched
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22688 >
2023-04-26 16:40:27 +00:00
Adam Jackson
218aa77941
egl: Clear EGL_WINDOW_BIT for non-double-buffered EGLConfigs
...
EGL windows are not required to support single-buffered rendering,
and it's awful, so let's not.
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22685 >
2023-04-26 15:44:31 +00:00
Samuel Pitoiset
3f14fd8578
radv: reserve command buffer index for SQTT
...
These indexes are used to match command buffers with queue events.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22670 >
2023-04-26 13:57:39 +00:00
Samuel Pitoiset
9c33c4dcbe
ac/sqtt: add a helper to get cmdbuf IDs per queue
...
These will be used by RADV to implement queue event timings.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22670 >
2023-04-26 13:57:39 +00:00
Samuel Pitoiset
a7b4573c11
ac/sqtt: add rgp_sqtt_marker_cb_id definition
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22670 >
2023-04-26 13:57:39 +00:00
Rhys Perry
5e20fbd424
aco: don't move exec reads around exec writes
...
Fixes flickering and blocky plants in Jedi: Fallen Order.
Also fixes flickering squares in The Last of Us Part 1.
fossil-db (navi21):
Totals from 92 (0.07% of 135636) affected shaders:
Instrs: 35324 -> 35354 (+0.08%); split: -0.03%, +0.11%
CodeSize: 189568 -> 189668 (+0.05%); split: -0.03%, +0.08%
Latency: 345305 -> 346529 (+0.35%); split: -0.02%, +0.37%
InvThroughput: 78632 -> 78625 (-0.01%)
SClause: 1955 -> 1972 (+0.87%); split: -0.61%, +1.48%
Copies: 1311 -> 1304 (-0.53%); split: -0.69%, +0.15%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8883
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8878
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22696 >
2023-04-26 13:16:00 +00:00
Mike Blumenkrantz
2c77344048
bump VVL to 1.3.248
...
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22672 >
2023-04-26 11:45:28 +00:00
Lionel Landwerlin
5c214117ad
intel/tools: add ability to dump out raw kernels data
...
Useful for debug.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22703 >
2023-04-26 10:00:54 +00:00
Pavel Ondračka
ca634459c7
r300: add CI list of known rv370 dEQP failures
...
We don't have CI, but its still convenient for local testing.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22705 >
2023-04-26 09:42:38 +00:00
Pavel Ondračka
db6c3cd13d
r300: fix unconditional KIL on R300/R400
...
0: KIL -none.1111
Negate is not allowed for texturing opcodes, so the incorrect swizzle
was detected, however later optimization, where we try to rewrite incorrect
swizzles from constant (immediate) registers by adding a new ones with
correct order was interfering and not handling this correctly, so we
ended with
CONST[0] = { -1.0000 -1.0000 -1.0000 -1.0000 }
0: KIL const[0].xyz-w;
Even if it would get the swizzle right, texturing opcodes can't read from
constant registers, so just skip it and let this be handled by a later
part which inserts an extra mov instead.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Fixes: a8e1e5b5c2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22704 >
2023-04-26 09:25:13 +00:00
Martin Roukala (né Peres)
7d4eb78e1b
radv/ci: document another vkcts flake on vega10
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22702 >
2023-04-26 08:32:56 +00:00
Erik Faye-Lund
c5ad3d3bc9
docs: correct spelling of "frame"
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
2234a7f86f
docs: correct spelling of "tagged"
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
870871c6a7
docs: correct spelling of "source"
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
c3400a787b
docs: toplevel -> top-level
...
This is how we spell it elsewhere.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
690a05579b
docs: vlan -> VLAN
...
VLAN is an abbreviation, so let's spell it in all-caps for clarity.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
1a42e8ac44
docs: use correct tick for "doesn't"
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
9f410bcb96
docs: perfetto -> Perfetto
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
c1ebded76e
docs: Anv -> ANV
...
We're usually spelling ANV in allcaps, so let's do that here as well.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
1c35ad0d63
docs: cma -> CMA
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
ebffd3afed
docs: did't -> didn't
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
9b1a99c89e
docs: codepath -> code-path
...
This is consistent with how we spell this elsewhere in the docs.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
dc788aaa6f
docs: backfacing -> back-facing
...
This is consistent with how the OpenGL spec spells it.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
6d945b4e11
docs: statechanges -> state changes
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
57c87d4661
docs: renderpass -> render pass
...
The Vulkan spec spells render pass in two words, so let's do the same.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22286 >
2023-04-26 08:09:37 +00:00
Erik Faye-Lund
b9ba2c272a
glsl: remove ir_state_slot::swizzle
...
Same story as with the NIR counterpart in the previous commit.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22620 >
2023-04-26 05:51:39 +00:00
Erik Faye-Lund
4e8b532db3
nir: remove nir_state_slot::swizzle
...
This is only ever written to, never read from. Let's just get rid of it!
This also saves us a few needless includes.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22620 >
2023-04-26 05:51:39 +00:00
Mike Blumenkrantz
4c47d83051
zink: use EXT_shader_object to implement generic separate shader precompile
...
this adds precompile for all separate shader stages (+tcs,tes,geom)
using separate shaders, which should eliminate stuttering for games
using it (e.g., Tomb Raider)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
234f9953a2
zink: fix longstanding TODO for generated tcs
...
with dynamic pcp this doesn't matter, and this should only be reached
in async mode if dynamic pcp is available
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
d5a3e2db89
zink: handle all stages in fixup_io_locations()
...
this makes the handling a bit more complex, as both input and output
need to be handled for most stages, and also the per-component handling
gets trickier
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
7a83d6289e
zink: move separate shader creation to shader CSO creation
...
this is a more logical place for it and also enables u_blitter
shaders to be fast-linked
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
0d448d441c
zink: use a more standardized loop for initing separate shader program descriptors
...
this should be identical to previous behavior
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
01694e5bf3
zink: assign separate shader prog stages from ctx->shader_stages
...
this is functionally equivalent given the checks above which already
restrict which stages can be passed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
7415627853
zink: move some shader CSO functions around
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
fe095fcdcd
zink: switch to a regular loop to wait on precompile shader fences
...
even if these aren't done yet, it'll still be faster to wait than
to start compiling new pipelines now
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
ab8499fe00
zink: streamline separate shader descriptor update
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
991d9d9924
zink: simplify separate shader prog init a little
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
38d149ffc7
zink: use intermediate variable for separate shader db resize check
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Mike Blumenkrantz
f46e5f2c0c
zink: use intermediate variable for separate shader descriptor update loop
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671 >
2023-04-26 05:12:25 +00:00
Qiang Yu
5c287290d8
aco,radv: remove unused aco compile options
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
a4b60295a7
aco,ac/llvm,radv,radeonsi: handle ps bc optimization in nir for radv
...
The side effect is removing the aco/llvm backend bc optimization code
and linear/persp_centroid variable.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
df74919bc2
ac/nir/ps: remove used nir_variable if created
...
RADV won't do this, so remove them at last.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
bfcf03872e
radv: implement nir_load_barycentric_optimize_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
33d683bf09
ac/llvm: remove output variable declaration for radv ps
...
radv ps does not support epilog when llvm, so outputs will always
be lowered to exports in nir.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00
Qiang Yu
290c3d360e
aco,radv: lower outputs to exports when nir for monolithic ps
...
Remove the compiler backend code for outputs to exports.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22199 >
2023-04-26 03:27:26 +00:00