Georg Lehmann
de45676efd
aco/insert_exec: reset exec temporary after combined p_demote + p_end_wqm
...
Otherwise the next divergent merge block might re-enable demoted invocations.
Fixes: 90faadae72 ("aco/insert_exec_mask: don't disable dead quads on demote in divergent CF")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12898
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12912
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34278 >
2025-03-31 06:43:22 +00:00
Hyunjun Ko
ae75376c8f
anv: Move rateControlMode to the video session.
...
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34250 >
2025-03-31 04:25:14 +00:00
Trigger Huang
f03b385d4b
radeonsi: Fix perfcounter start event in si_pc_emit_start
...
The original typo caused performance counters to send STOP events
instead of START, leading to incorrect profiling data.
Fixes: 1a1138817c ("radeonsi: add a new PM4 helper radeon_event_write")
Signed-off-by: Trigger Huang <Trigger.Huang@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34236 >
2025-03-31 02:36:48 +00:00
Faith Ekstrand
59b01dc764
nvk: Disable 32k images on Pascal A
...
While we're here, add a comment about why we have this restriction in
the first place since NVK and the proprietary driver are different here.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34281 >
2025-03-30 20:29:13 -05:00
Faith Ekstrand
65d06d91ca
nvk: Use max_image_dimension for maxFramebufferWidth/Height
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34281 >
2025-03-30 20:29:07 -05:00
Faith Ekstrand
c1674d4dfe
nvk: Disable vulkanMemoryModel on Kepler and earlier
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34281 >
2025-03-30 20:16:25 -05:00
Marek Olšák
b74a6e05bd
glapi: fix x86 32-bit asm dispatch regression
...
shared_glapi_mapi_tmp.h must be included before asm("x86_entry_end:").
Fixes: fae087770a - glapi: simplify codegen macros
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34269 >
2025-03-29 22:36:21 +00:00
Eric Engestrom
359f69ba0c
ci: add FDO_RUNNER_JOB_PRIORITY_TAG_* to control priority of generic freedesktop runners
...
This affects:
- generic jobs (sanity, rustfmt, shader-db, docs, etc.)
- linux image builds
- linux mesa builds
- software renderer tests
- android tests
- virgl & venus tests
Marge pipelines get high priority, nightly pipelines get low priority,
and everything else is in between.
(Hardware test farms have their own mechanisms.)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34264 >
2025-03-29 18:17:24 +01:00
Eric Engestrom
88f70e48f5
ci: move android's kvm requirement to .use-debian/x86_64_test-android
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34264 >
2025-03-29 18:17:24 +01:00
Eric Engestrom
e45f2e6c46
ci: move aarch64 tag to .use-debian/arm64_build
...
Like we do in the other `.use-debian/arm64_*`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34264 >
2025-03-29 18:17:24 +01:00
Eric Engestrom
76a6ce40e1
ci: drop packet.net tag on git archive job
...
We are no longer on that infrastructure, and we no longer need to
specify which one we are on.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34271 >
2025-03-29 10:38:03 +00:00
Aaron Ruby
d64df991bb
gbm/dri: Match zink autoloading from egl
...
Essentially, match the Zink autoloading order that was implemented as
part of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34163 >
2025-03-29 09:18:47 +00:00
Mike Blumenkrantz
49aec32f57
zink: block inferred loading for swrast
...
this should always load llvmpipe
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34163 >
2025-03-29 09:18:47 +00:00
Aaron Ruby
9ee435f92a
egl: Remove FallbackZink config item entirely
...
Its effect was negated as part of: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29771
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34163 >
2025-03-29 09:18:47 +00:00
David Rosca
f9d7d131a4
ac/parse_ib: Parse VCN DYNAMIC_REFLIST_BUFFER
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34262 >
2025-03-29 08:50:49 +00:00
David Rosca
5275a88174
ac/parse_ib: Fix parsing output format on VCN5
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34262 >
2025-03-29 08:50:49 +00:00
Faith Ekstrand
8d45d3bc3d
nak: Disable lea64 and f2fp.pack_ab tests pre-Volta
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34129 >
2025-03-29 04:33:10 +00:00
Faith Ekstrand
bb43c665dc
nak: Add a QMD heap to hw_runner
...
This is needed prior to Maxwell B to avoid SKED cache issues.
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34129 >
2025-03-29 04:33:10 +00:00
Faith Ekstrand
d8fef0a26c
nak: Improve WS abstractions in hw_runner
...
Reviewed-by: Lorenzo Rossi <snowycoder@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34129 >
2025-03-29 04:33:10 +00:00
Mel Henning
c1d64053f2
nak: Assert instr_sched matches calc_instr_deps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32311 >
2025-03-29 04:05:05 +00:00
Mel Henning
562504f47c
nak: Calc static cycle count in instr_sched
...
This changes the static cycle count estimate so that it takes into
account estimated variable latency instruction delays. Statistics from
before this commit are not comparable to statistics generated after
this commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32311 >
2025-03-29 04:05:05 +00:00
Mel Henning
79d0f8263d
nak: Add a simple postpass instruction scheduler
...
To get us started, this is designed to be pretty much the simplest thing
possible. It runs post-RA so we don't need to worry about hurting
occupancy and it uses the classic textbook algorithm for local (single
block) scheduling with the usual latency-weighted-depth heuristic.
-14.22% static cycle count on shaderdb
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32311 >
2025-03-29 04:05:05 +00:00
Faith Ekstrand
d06d76a0d4
nak: Box our RegTrackers
...
RegTracker<T> contains over 300 copies of T. It's probably best not to
put that on the stack. We can probably get away with it on Linux but
Windows has small stacks.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32311 >
2025-03-29 04:05:04 +00:00
Faith Ekstrand
e9ff848095
nak: Move some calc_instr_deps items to a new file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32311 >
2025-03-29 04:05:04 +00:00
Lorenzo Rossi
0ba5d99a61
nak: Simplify shl64 lowering on Maxwell
...
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34137 >
2025-03-29 03:45:49 +00:00
Lorenzo Rossi
139a9ea526
nak: Fix SM50 rounding-mode encoding edge-case
...
Signed-off-by: Lorenzo Rossi <snowycoder@gmail.com >
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34137 >
2025-03-29 03:45:49 +00:00
Faith Ekstrand
a3935c7aa2
nak,nir: Generalize nak_nir_split_64bit_conversions and move it to NIR
...
This pass was originally based on a similar pass from Intel but it's
grown support for some fancy stuff like fp64 -> fp16 conversion
splitting with proper rounding.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34126 >
2025-03-29 03:02:17 +00:00
Faith Ekstrand
2d75e7dced
nak/nir: Use correct rounding for fp64 -> fp16 conversions
...
For up, down, and round towards zero, the rounding accumulates properly
as long as you use the same rounding mode for both. For RTNE, however,
we need to insert a two-instruction fixup in order to guarantee correct
rounding.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34126 >
2025-03-29 03:02:17 +00:00
Faith Ekstrand
d826f82ffe
nak: Implement nir_intrinsic_convert_alu_types
...
We can't support every single form of this instruction but at least it's
plumbed through now. Before this will be OpenCL-ready, we'll need to
call the NIR lowering pass with an appropriate predicate function.
However, for now it lets us use it in NAK-specific NIR lowerings.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34126 >
2025-03-29 03:02:17 +00:00
Faith Ekstrand
c05565ce7b
compiler/rust: Add more NIR intrinsic getters
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34126 >
2025-03-29 03:02:17 +00:00
Faith Ekstrand
1355c71943
compiler/rust: Add a nir_alu_type wrapper
...
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34126 >
2025-03-29 03:02:17 +00:00
Lionel Landwerlin
47cfc77085
anv: expose VK_KHR_maintenance8 support
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:19 +00:00
Lionel Landwerlin
7fca7cc721
anv: wire VkAccessFlagBits3KHR flags in internal helpers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:18 +00:00
Lionel Landwerlin
23de5abcb5
anv: enable non uniform texture offset lowering
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:18 +00:00
Lionel Landwerlin
4346210ae6
brw: move texture offset packing to NIR
...
That way we can deal with upcoming non constant values for
VK_KHR_maintenance8.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:18 +00:00
Lionel Landwerlin
67ae49dede
intel: move lower_texture to brw
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:18 +00:00
Lionel Landwerlin
86773b2ba6
brw: don't lower tg4 offsets without LOD
...
The problem this fixes is currently hidden because of the order in
which we run nir_lower_tex & intel_nir_lower_texture. The issue is
that nir_lower_tex removes the LOD source in some cases and the second
run of nir_lower_tex can add it back.
This is also only needed on Gfx12.5+ if the LOD is present.
Finally move all of the texture lowering to the postprocess phase. No
need to run this multiple times.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:18 +00:00
Lionel Landwerlin
b87dccc64c
elk: stop using intel_nir_lower_texture
...
It's not doing anything.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:18 +00:00
Lionel Landwerlin
772beb0ebf
nir: add support for lowering non uniform texture offsets
...
Intel HW only has support for non-uniform offsets for TG4 operations.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33138 >
2025-03-29 02:15:18 +00:00
Timur Kristóf
64c6930bfc
ac/nir/ngg: Remove cleanup_culling_shader_after_dce.
...
Not needed anymore, now that the new concept is there.
No Fossil DB changes on Navi 21.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
243a80be44
ac/nir/ngg: Use deferred info for compacted arguments.
...
This means we don't have to emit dead code anymore and can only
repack the sysvals that are actually used by the deferred part.
No Fossil DB changes on Navi 21.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
0b71293358
ac/nir/ngg: Gather info about what the deferred shader part uses.
...
Now that the deferred shader part is prepared before emitting
the non-deferred part, we can also gather info about what sysvals
it needs.
No Fossil DB changes on Navi 21.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
e4c91c01e3
ac/nir/ngg: Prepare deferred shader part before adding culling code.
...
The previous concept was to emit the non-deferred shader part
first, including the culling code, and then modify the
non-deferred part accordingly.
This caused some issues because it was really impossible to tell
which sysvals the deferred part needs after DCE, so we had to
run an additional cleanup pass afterwards.
The new concept is to prepare the deferred part first by applying
reusable variables (from the non-deferred part) and run DCE.
This opens the possibility to accurately gather info about what
the deferred part needs.
This idea is further expanded in the next commits.
Fossil DB stats on Navi 21:
Totals from 17 (0.02% of 79377) affected shaders:
Instrs: 18063 -> 18064 (+0.01%)
CodeSize: 93368 -> 93372 (+0.00%)
Latency: 49889 -> 49899 (+0.02%); split: -0.01%, +0.03%
SALU: 2416 -> 2417 (+0.04%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
e9e58fa412
ac/nir/ngg: Remove inputs_needed_by_*
...
This information will be collected by NIR core better,
no need to do it here. It is also currently unused.
No functional changes.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
1e7d28a82e
ac/nir/ngg: Improve reuse of position value.
...
Instead of hand-rolled code, use nir_scalar and its
helper functions to reuse the position value.
Results in more copies, which are mitigated by
copy prop from the previous commit.
This helps eliminate some instructions, especially VMEM loads
from the deferred shader part of NGG culling shaders, which
can be reused from the position values calculated by the
non-deferred part.
Fossil DB stats on Navi 21:
Totals from 2472 (3.11% of 79377) affected shaders:
MaxWaves: 78748 -> 78772 (+0.03%)
Instrs: 636342 -> 633739 (-0.41%); split: -0.45%, +0.04%
CodeSize: 3444740 -> 3427172 (-0.51%); split: -0.53%, +0.02%
VGPRs: 62552 -> 62176 (-0.60%)
Latency: 2025711 -> 2019449 (-0.31%); split: -0.73%, +0.42%
InvThroughput: 221140 -> 221946 (+0.36%); split: -0.12%, +0.49%
VClause: 5443 -> 5278 (-3.03%); split: -3.20%, +0.17%
SClause: 8369 -> 8302 (-0.80%); split: -0.82%, +0.02%
Copies: 102435 -> 101652 (-0.76%); split: -0.87%, +0.11%
PreSGPRs: 63714 -> 63533 (-0.28%)
PreVGPRs: 48555 -> 48392 (-0.34%)
VALU: 242165 -> 241457 (-0.29%); split: -0.33%, +0.04%
SALU: 197656 -> 197482 (-0.09%); split: -0.10%, +0.01%
VMEM: 7746 -> 7571 (-2.26%)
SMEM: 10822 -> 10730 (-0.85%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Timur Kristóf
f7a160d501
ac/nir/ngg: Run copy propagation.
...
Helps eliminate needless copies caused by reusing variables.
Mitigates negative stats from the next commit.
Fossil DB stats on Navi 21:
Totals from 109 (0.14% of 79377) affected shaders:
Instrs: 124480 -> 124486 (+0.00%); split: -0.00%, +0.01%
CodeSize: 651444 -> 651468 (+0.00%); split: -0.00%, +0.00%
Latency: 754120 -> 754116 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 174384 -> 174383 (-0.00%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22073 >
2025-03-29 00:47:20 +00:00
Caio Oliveira
63224f64cc
brw: Remove adjust_block_ips and brw_inst::remove() with defer
...
Now that the brw_ip_ranges analysis is being used, there's no
need to track start_ip/end_ips in the blocks as they are mutate. And
also no need to call adjust_block_ips at the end of some passes.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34012 >
2025-03-29 00:25:51 +00:00
Caio Oliveira
8057cfc49d
brw: Use brw_ip_ranges in liveness analysis
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34012 >
2025-03-29 00:25:51 +00:00
Caio Oliveira
a6b0783375
brw: Use brw_ip_ranges in scheduling / regalloc
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34012 >
2025-03-29 00:25:51 +00:00
Caio Oliveira
3659d36087
brw: Use brw_ip_ranges in passes
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34012 >
2025-03-29 00:25:50 +00:00