Kenneth Graunke
bdacab49c7
brw: Use LSC extended descriptor offsets for Xe2 URB messages
...
URB messages on Xe2 are LSC messages with FLAT addressing. We can
specify a S19 immediate offset in the extended message descriptor,
which should be more than adequate to hold any offsets we need.
We wrote the original URB code before implementing that, and never
doubled back to take advantage of it. But doing so can drop ADDs
near every URB access.
fossil-db results on Battlemage:
Totals:
Instrs: 232239759 -> 231432254 (-0.35%)
Cycle count: 34044435848.0 -> 34055507100.0 (+0.03%); split: -0.00%, +0.04%
Spill count: 520370 -> 520362 (-0.00%); split: -0.00%, +0.00%
Fill count: 470790 -> 470803 (+0.00%); split: -0.00%, +0.00%
Max live registers: 72111853 -> 72111369 (-0.00%); split: -0.00%, +0.00%
Totals from 227920 (28.89% of 788851) affected shaders:
Instrs: 59841897 -> 59034392 (-1.35%)
Cycle count: 683385208.0 -> 694456460.0 (+1.62%); split: -0.14%, +1.76%
Spill count: 17278 -> 17270 (-0.05%); split: -0.10%, +0.06%
Fill count: 17481 -> 17494 (+0.07%); split: -0.03%, +0.10%
Max live registers: 23052652 -> 23052168 (-0.00%); split: -0.00%, +0.00%
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38899 >
2025-12-12 00:12:03 +00:00
Kenneth Graunke
9482d392a1
brw: Fix outdated comments about urb->offset units
...
I recently converted urb->offset to be in bytes on Xe2, but neglected to
update these comments that still said OWord.
Fixes: 9ffae42975 ("brw: Store brw_urb_inst::offset in bytes on Xe2")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38899 >
2025-12-12 00:12:03 +00:00
Alejandro Piñeiro
bb06af3f9b
panfrost/job: avoid shadowing variable name
...
Without this commit, panfrost_batch_update_access receives a parameter
called "batch", and then it uses the same name while iterating for all
batches on the current context. This can be confusing and error-prone,
so let's rename the latter.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38908 >
2025-12-11 23:44:20 +00:00
Lionel Landwerlin
fecb9e0952
anv: switch shader heap placement to beginning of heap by default
...
It seems placing the shader at the end has a negative performance
impact.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 8ba197c9ef ("anv: Switch shaders to dedicated VMA allocator")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38900 >
2025-12-11 23:20:06 +00:00
Iván Briano
094f8f041f
anv: enable fragmentShadingRateWithShaderSampleMask on Xe2+
...
Before DG2, the value the HW gives us seems to be backwards, but
since DG2 this is supposed to be supported just fine.
However, due to Wa_22012766191, enable it only for Xe2 and up.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38641 >
2025-12-11 22:50:10 +00:00
Iván Briano
df15770785
anv: coarse_pixel doesn't require any InputCoverageMaskState
...
The UNUSED is to avoid warnings on the gen9 variant.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38641 >
2025-12-11 22:50:10 +00:00
Iván Briano
978d4b2a99
anv: maxFragmentShadingRateCoverageSamples is 16 on all platforms
...
But before ACM, we need to mis-report it to keep the CTS sane, as the
implementation of coarse pixel seems to have all sorts of wrongs in
older HW.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38641 >
2025-12-11 22:50:10 +00:00
Iván Briano
a7280ab590
nir: add nir_lower_single_sampled::lower_sample_mask_in option
...
GLSL defines gl_SampleMaskIn as :
"a fragment language that indicates the set of samples covered
by the primitive generating the fragment during multisample
rasterization"
when variable rate shading is enabled, a single invocation might cover
multiple samples. The lowering done in nir_lower_single_sampled() does
not account for that case, so add an option to selectively disable it.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38641 >
2025-12-11 22:50:10 +00:00
Iván Briano
ef31f07077
nir: clear SAMPLE_MASK_IN if we lowered it
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38641 >
2025-12-11 22:50:10 +00:00
Emma Anholt
71b59563fe
tu: Move tu_xs_config() to use the CRB builder.
...
This duplicates the field setup per stage, but lets us use the nice reg
packers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
780de476e7
tu: Split loading immediates for a program from the program config.
...
This moves the immediates load down a bit, so we can continue the CRB
conversion of program config.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
5f091af897
tu: Move a bunch of program config to CRB.
...
This shows off how we don't need to pass an explicit size per CRB instance
in our non-growable CSes.
However, I don't like the additional indentation I did to make a CRB go
out of scope when I needed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
c130c94bcb
tu: move tu6_emit_msaa() to use CRB.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
f973ff307d
tu: Move tu6_emit_window_offset() to use CRB.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
5bfc950128
tu: Move tu6_emit_mrt() to use CRB.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
daa9c0e228
tu: Move VFD CRBs to the CRB builder.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
02602cc3e4
tu: Move pipeline SO setup to the CRB builder.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
1b93a4b778
tu: Add CRB builder.
...
Loosely based on freedreno's, but simplified since a lot of overflow
handling was already there in tu_cs. It successfully catches issues of:
- Overflowing the CRB reservation
- Starting a new CRB with one in progress.
- Emitting a pkt4 while a CRB emit is in progress.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Jonathan Marek
2d6c15ad57
tu: remove magic bo reg packing (use iovas directly)
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Emma Anholt
67c6abb20b
tu,freedreno: Drop the ".bo_write" flag.
...
It's been unused since my commit 064f395a89 ("freedreno: Tell the kernel
that all BOs are for writing.") back in 2020.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38762 >
2025-12-11 22:22:34 +00:00
Calder Young
0b3f0d1662
anv: Fix typo when checking if async rt scratch size changed
...
Current stack size is stored in layout.sw_stack_size, but the function
thats supposed to update it is comparing layout.total_size instead.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38898 >
2025-12-11 20:43:51 +00:00
Christian Gmeiner
b393518bdf
treewide: Use wsi_common_is_swapchain_image() helper
...
Replace the duplicated swapchain image detection pattern across all
Vulkan drivers with the new wsi_common_is_swapchain_image() helper.
Since the swapchain handle can be extracted from VkImageCreateInfo's
pNext chain inside wsi_common_create_swapchain_image(), remove the
now-redundant VkSwapchainKHR parameter from that function.
This removes the #ifdef guards for Android/WSI platforms from each
driver, as the helper now handles this uniformly.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38541 >
2025-12-11 20:20:39 +00:00
Christian Gmeiner
9a89280d62
vulkan/wsi: Add wsi_common_is_swapchain_image() helper
...
Add a helper function to check if a VkImageCreateInfo represents a
swapchain image by looking for VkImageSwapchainCreateInfoKHR in the
pNext chain.
This consolidates the swapchain detection logic that is currently
duplicated across all Vulkan drivers, and handles the Android case
in one place.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Suggested-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38541 >
2025-12-11 20:20:39 +00:00
Boris Brezillon
840c80d80e
pan/ci: Disable THP on panfrost-g52-piglit
...
This is causing an OOM, and weston gets killed, which causes all
the remaining jobs to fail after that point.
Until this is sorted out, disable THP for this specific job.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38912 >
2025-12-11 19:45:33 +00:00
Erik Faye-Lund
708d331a04
pvr: run clang-format
...
This fixes up a bunch of clang-format issues that was missed recently.
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38886 >
2025-12-11 19:07:40 +00:00
Erik Faye-Lund
306de6782c
pvr: disable has_gs_rta_support for ge7800 as well
...
The MR adding support for ge7800 (!38211 ) was submitted while the MR
that disabled has_gs_rta_support (!38024 ) was under review. It seems
nobody noticed that we missed disabling it here as well.
Let's fix that up, so we don't try to use this when it's not expected to
work.
Fixes: c60232c0c5 ("pvr: temporarily disable gs_rta_support on all cores")
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Alessio Belle <alessio.belle@imgtec.com >
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38909 >
2025-12-11 18:52:36 +00:00
Faith Ekstrand
39b8456a79
panvk: Drop compile_inputs from panvk_lower_nir()
...
We no longer need this. Now panvk_lower_nir() is simply about
descriptors, I/O, and calling into the back-end lowering code.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:54 +00:00
Faith Ekstrand
4909e23d11
panvk: Pull multiview lowering out of panvk_lower_nir()
...
It only applies to vertex shaders right now. Also, once we add
geometry, it won't really work anymore so we'll need to do something
else.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:54 +00:00
Faith Ekstrand
4f0386fbfb
panvk: Restructure VS variant handling
...
There's no real point in the array of NIRs and the array of infos. It
just makes everything more of a headache inside the loop.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:54 +00:00
Faith Ekstrand
0191e1f28a
panvk: Make compile_inputs const in panvk_compile_nir()
...
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:53 +00:00
Faith Ekstrand
c161619a0c
panvk: Only pass the panvk_shader_desc_info to panvk_lower_nir()
...
Now that input attachment lowering is factored out, there's no reason to
be passing the whole shader variant around here. This both makes things
a lot more clear and gives us more flexibility about when we call it,
allowing us to potentially call it once per-shader instead of once
per-variant.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:53 +00:00
Faith Ekstrand
1c5ea90042
panvk: Store the varying attribute descriptor count in desc_info
...
This is what everybody outside the compiler actually wants. This also
gives us the opportunity to centralize our choice to use LD_VAR_BUF[_IMM]
to one place in the compiler and stop sprinkling it around all over.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:52 +00:00
Faith Ekstrand
153a35aa91
panvk: Move I/O lowering out of panvk_lower_nir()
...
It really is per-stage and there's nothing we're really saving ourselves
by trying to do it in a common place.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:51 +00:00
Faith Ekstrand
e694e2c352
panvk: Re-prefix panvk_shader_desc_info/map with lower_
...
This is more clear in the presence of the lowering pass and will prevent
a name collision in the next commmit.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:50 +00:00
Faith Ekstrand
3747e3318a
panvk: Call lower_input_attachment_loads() from compile_shader()
...
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:50 +00:00
Faith Ekstrand
cddfa4615b
panvk: Break input attachment lowering into its own file
...
Input attachment lowering really has nothing to do with descriptor
lowering. It just needs to be called first so we still have access to
the variables.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:49 +00:00
Faith Ekstrand
5ac0b11893
panvk: Stop using descriptor helpers in lower_input_attachments
...
We're about to move this to another file which won't have anything to do
with descriptor sets. This makes the one potentially functional change
easily bisectable and then the next commit is just moving code.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:48 +00:00
Faith Ekstrand
e518450661
panvk: Use nir_instr_clone() for input attachment loads
...
There's no point in re-typing it all with the builder
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:48 +00:00
Faith Ekstrand
c2e6133549
panvk: Add separate COMPUTE and FRAGMENT cases in compile_shader()
...
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:47 +00:00
Faith Ekstrand
388a3cff5c
panvk: Upload all variants at the end of compile_shader()
...
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:47 +00:00
Mary Guillemard
aabdd0f5ca
panvk: Move late lowering to panvk_compile_nir()
...
This is needed for intershader optimization and GS lowering.
We now pass all NIR variants with pan_compile_inputs to
panvk_compile_shader and handle sysvals/push consts lowering in there.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:46 +00:00
Mary Guillemard
f4470dd7d7
panvk: Move FAU space info to panvk_compile_nir
...
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Co-authored-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:45 +00:00
Faith Ekstrand
2bd282a968
pan/bi: Run nir_lower_all_phis_to_scalar() late
...
We were running this in the preprocess step and then trusting that it
would clean up everything before we got to the back-end. However, we
were running the entire optimization loop in between as well as drivers
potentially adding stuff (since panvk has it's own passes after
postprocess). Instead, this should be one of the last things run, right
before we go into the back-end.
Cc: mesa-stable
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:44 +00:00
Faith Ekstrand
5f22dfa2e1
panvk: Run pan_preprocess_nir() in the preprocess step
...
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:44 +00:00
Faith Ekstrand
7206572884
pan/bi: Move opt_sink and opt_move calls to postprocess
...
The comments pretty explicitly say that they assume lowered UBOs and
SSBOs so preprocess is the wrong place for them.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:44 +00:00
Faith Ekstrand
5841106027
pan/bi: Only delete function temp variables
...
Other resource variables like UBOs and SSBOs are still useful for
debugging and not harming anything. Also, some Vulkan-focused passes
look up variables from the otherwise detached resource intrinsics and
use them for things. We really want to keep them around.
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Acked-by: Eric R. Smith <eric.smith@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38821 >
2025-12-11 18:29:43 +00:00
Connor Abbott
da969df092
ir3: Fix condition for using uniform predicates
...
cat2_may_use_scalar_alu() was incorrect because the instruction could
use an indirectly-accessed const where a0.x (i.e. the offset) is
non-uniform. Fortunately, we already know whether this is the case,
because the original instruction would then write a non-shared GPR.
Also, the restrictions for scalar ALU are the same regardless of whether
we write up0.x or a shared GPR, and vice versa the restrictions for
normal cat2 are the same regardless of whether we write p0.x or a
non-shared GPR, so it should always be safe to write p0.x if non-shared
and up0.x if shared. So, just do that.
Fixes: 2a8c5ebc77 ("ir3: enable scalar predicates")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38895 >
2025-12-11 18:02:46 +00:00
Rob Clark
d0bae6c1b3
ir3: Fix early-preamble (sy)
...
This is about writes to shared regs, not GPR (as early-preamble can only
use shared regs). It's a pretty hypothetical case, but might as well
get it correct.
Fixes: 189e494249 ("ir3: Add (sy) before end of preamble when necessary")
Reported-by: Job Noorman <jnoorman@igalia.com >
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38868 >
2025-12-11 17:36:11 +00:00
Rhys Perry
156ae6195e
aco: print large p_parallelcopy using several lines
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Emre Cecanpunar <emreleno@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38695 >
2025-12-11 16:51:21 +00:00
Rhys Perry
21414e0898
aco/ra: add first loop header phi operand to temp_to_phi_resources
...
If the first operand is a CSSA copy, we might want to add this to
temp_to_phi_resources, so that we later mark it as the last-seen phi
operand.
fossil-db (navi31):
Totals from 284 (0.36% of 79825) affected shaders:
Instrs: 4160233 -> 4157517 (-0.07%); split: -0.09%, +0.03%
CodeSize: 21546420 -> 21532884 (-0.06%); split: -0.09%, +0.02%
VGPRs: 31404 -> 31416 (+0.04%)
Latency: 40266308 -> 40253731 (-0.03%); split: -0.06%, +0.02%
InvThroughput: 8140751 -> 8139724 (-0.01%); split: -0.05%, +0.04%
VClause: 99849 -> 99835 (-0.01%); split: -0.02%, +0.01%
Copies: 344512 -> 341732 (-0.81%); split: -1.08%, +0.28%
Branches: 113620 -> 113629 (+0.01%); split: -0.02%, +0.03%
VALU: 2502619 -> 2499836 (-0.11%); split: -0.15%, +0.04%
SALU: 499245 -> 499341 (+0.02%); split: -0.02%, +0.04%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Emre Cecanpunar <emreleno@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38695 >
2025-12-11 16:51:21 +00:00