Commit graph

212972 commits

Author SHA1 Message Date
Lars-Ivar Hesselberg Simonsen
067305e4c6 vulkan: Find first_subpass when creating renderpass
Like last_subpass, add a per-view mask of what subpass first uses an
attachment. This is required for optimizing out some barriers later.

Note that this requires us to do another loop over the subpasses.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36985>
2025-09-08 16:54:06 +00:00
Lars-Ivar Hesselberg Simonsen
3bad2ae069 vulkan: Stop combining subpass dependencies
Rather than OR-ing all subpass dependencies together in the Vulkan layer,
pass an array of barriers down to the drivers and allow them to do the
OR-ing if needed.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36985>
2025-09-08 16:54:05 +00:00
serguei
3d8fa90845 Revert "ci: disable Collabora's farm due to maintenance"
This reverts commit 084add9959.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37219>
2025-09-08 16:16:52 +00:00
Mike Blumenkrantz
504a522a1e zink: toggle ctx->has_swapchain when flushing clears
this otherwise breaks resolve handling

Fixes: b122c3eaa9 ("zink: unify/fix clear flushing")

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13841
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13847
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37234>
2025-09-08 15:37:53 +00:00
Connor Abbott
764b3d9161 tu: Implement transient attachments and lazily allocated memory
Transient attachments have been in Vulkan since 1.0, and are a way to
avoid allocating memory for attachments that can be stored entirely in
tile memory. The driver exposes a memory type with LAZILY_ALLOCATED_BIT,
and apps use this type to allocate images with TRANSIENT_ATTACHMENT
usage, which are restricted to color/depth/stencil/input attachment
usage. The driver is supposed to then delay allocating memory until it
knows that one of the images bound to the VkDeviceMemory must have
actual backing memory.

Implement this using the "lazy VMA" mechanism added earlier. We reserve
an iova range for lazy BOs, and only allocate them if we chose sysmem
rendering or there is a LOAD_OP_LOAD/STORE_OP_STORE. Because we never
split render passes and force sysmem instead, we don't have to deal with
the additional complexity of that here and just allocate everything.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37151>
2025-09-08 15:22:17 +00:00
Connor Abbott
3b990ba210 tu: Make tu_image point to tu_device_memory instead of tu_bo
Up until now tu_device_memory (turnip's VkDeviceMemory) was a thin
wrapper around tu_bo (the GEM BO), so when binding an image to a
VkDeviceMemory we could just store the BO. But now we have to skip
allocating the BO unless we need to for lazily-allocated memory, and the
tracking for that needs to happen at the API level instead of the
kernel/GEM level, so store the tu_device_memory instead.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37151>
2025-09-08 15:22:17 +00:00
Connor Abbott
88d001383a tu: Add support for a "lazy" sparse VMA
Add an extremely limited form of sparse where zeroing memory is not
supported and only one BO can be fully bound to the sparse VMA
immediately when it's created. This can be implemented on drm/msm even
without VM_BIND, by just reserving the iova range. However kgsl doesn't
let us control iova offsets, so we have to use "real" sparse support to
implement it. In effect this lets us reserve an iova range and then
"lazily" allocate the BO. This will be used for transient allocations in
Vulkan when we have to fallback to sysmem.

As part of this we add skeleton sparse VMA support to virtio, which is
just enough for lazy VMAs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37151>
2025-09-08 15:22:17 +00:00
Connor Abbott
93a80f4bb9 tu/drm: Split out iova allocation and BO allocation
Reserve an iova range separately before allocating a BO. This reduces
the size of the critical section under the VMA lock and paves the way
for lazy BOs, where iova initialization is separated out.

While we're here, shrink the area where the VMA mutex is applied when
importing a dma-buf. AFAICT it's not useful to lock the entire function,
only the VMA lookup and zombie BO handling.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37151>
2025-09-08 15:22:17 +00:00
Connor Abbott
b663d8f762 freedreno: Add blit_wfi_quirk and use in turnip
When enabling
dEQP-VK.renderpass2.dedicated_allocation.attachment_allocation.grow.17,
we see a hang on a618 when a draw is immediately followed by a blit
without anything in between. The draw and clear are writing completely
different surfaces.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37151>
2025-09-08 15:22:17 +00:00
Derek Foreman
5331de653c zink: Don't use VK_PRESENT_MODE_IMMEDIATE_KHR on wayland
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Wayland EGL applications often set SwapInterval 0 and then use surface
frame callbacks independently to pace their updates. These applications
don't actually want the display to tear, and we do not currently use
wayland tearing_control protocol on EGL to enable tearing behaviour.

Using a tearing presentation mode in Vulkan will lead to unexpected
behaviour for these applications.

Use MAILBOX on wayland instead.

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34842>
2025-09-08 15:07:16 +00:00
Mary Guillemard
67a662ed05 pan/bi: Propagate MKVEC.v2i8 and V2X8_TO_V2X16 for replicate swizzle
On Valhall, we can end up with a lot of convertions for 8-bit and 16-bit
values.

However, since Valhall, we have access to a lot more swizzles on widen
sources.

The idea of this pass is to propagate replicate swizzle usages to
simplify things.

We do not attempt to propagate MKVEC.v2i16 as it is already handled by
bi_lower_swizzle.

This changes the following:
   9 = V2S8_TO_V2S16 !7.b0
   11 = IADD.v2s16 !9.h00, u4
   88 = MKVEC.v2i8 11.b0, u256.b0, u256
   13 = IMUL.v4i8 !88.b0, 8.b0
   14 = V2S8_TO_V2S16 !13.b0
   15 = IADD.v2s16 14.h00, !11.h00
   89 = MKVEC.v2i8 !15.b0, u256.b0, u256
   17 = IMUL.v4i8 !89.b0, !8.b0

Into this:
   11 = IADD.v2s16 !7.b0, u4
   13 = IMUL.v4i8 11.b0, 8.b0
   15 = IADD.v2s16 13.b0, !11.h00
   17 = IMUL.v4i8 !15.b0, !8.b0

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37167>
2025-09-08 14:25:22 +00:00
Mary Guillemard
59e0a15c47 pan/bi: Make va_optimize_forward run until there is no progress
We are going to do more things here that will likely benefit from
possibly running multiple time.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37167>
2025-09-08 14:25:22 +00:00
Eric Engestrom
03ff41e747 intel/perf: fix enum type for eu stall props
src/intel/perf/xe/intel_perf.c:420:27: warning: implicit conversion from enumeration type 'enum drm_xe_eu_stall_property_id' to different enumeration type 'enum drm_xe_oa_property_id' [-Wenum-conversion]

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37172>
2025-09-08 14:12:13 +00:00
Gert Wollny
8f543a0ee1 r600/sfn: Don't fall through if a WaitACK was scheduled
In theory this is of no consequence, but letting the scheduler run
it's normal algorithm is better.

Fixes: a6b6ce84f7 ("r600/sfn: Prepare scheduler to handle WaitAck instructions")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37232>
2025-09-08 13:56:11 +00:00
Gert Wollny
10d3b95d54 r600/sfn: start scheduling memory writes earlier
It seems emmitting more than four MEM_RAT instructions in
a row may lead to a GPU hang, so start scheduling free
instructions earlier.

The problem is triggered by
  KHR-GL45.compute_shader.shared-max

Fixes: fc40002de7 ("r600/sfn: Simplify scheduling")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37232>
2025-09-08 13:56:11 +00:00
Eric Engestrom
8e2ff175c6 ci/update_traces_checksum: fix regex detecting PIGLIT_REPLAY_DEVICE_NAME in job logs
`declare -x` is one way to export a variable, but there is also `export`.
LAVA uses the former, while CI-tron uses the latter.

LAVA always adds quotes, while CI-tron uses python's `shlex.quote()` [1]
which only adds the quotes when necessary, so let's make those optional
in the regex as well.

[1] https://docs.python.org/3/library/shlex.html#shlex.quote

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37215>
2025-09-08 13:39:39 +00:00
Eric Engestrom
62428ae59b ci/update_traces_checksum: fix decoding of log lines
We don't need to evaluate escape sequences, we should instead read them
verbatim.

Fixes issues like:

    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\.'
    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\ '
    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\;'
    bin/ci/update_traces_checksum.py:45: DeprecationWarning: invalid escape sequence '\_'

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37215>
2025-09-08 13:39:39 +00:00
Eric Engestrom
eb79f6573c zink+radv/ci: comment out the two checksums
We don't (yet) have the ability to say that more than one value is
acceptable, and the yaml module we use complains about duplicate keys,
so let's just comment them out as it doesn't care about missing keys and
doesn't remove comments.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37215>
2025-09-08 13:39:38 +00:00
Erik Faye-Lund
8c8a7da43e zink: use polygonModePointSize instead of open-coding
VK_KHR_maintenance5 added a query for exactly this behavior, so we
should query that instead of manually checking for the one driver where
this is known to be a problem.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37221>
2025-09-08 13:20:47 +00:00
Konstantin Seurer
9a93f794cd radv/bvh: Do not write pointer flag related data on GFX103
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
On GFX103, those fields are unused. VK_BUILD_FLAG_PROPAGATE_CULL_FLAGS
is set if the fields are used so it can be used to skip writing them.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37021>
2025-09-08 12:47:18 +00:00
Erik Faye-Lund
8913e8502d zink: add missing gpl requirement
Without graphicsPipelineLibraryFastLinking, we don't care about
VK_KHR_pipeline_library support, so let's add that to the requirements
file.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37229>
2025-09-08 12:26:22 +00:00
Erik Faye-Lund
313b0ebd83 zink: update profile schema
We're referring to features that requires a newer schema, let's fix that
up.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37229>
2025-09-08 12:26:22 +00:00
David Rosca
c9b2c00de6 radv: Enable VK_EXT_ycbcr_2plane_444_formats
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9486
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37174>
2025-09-08 11:59:37 +00:00
David Rosca
a758273231 vulkan/format: Map VK_EXT_ycbcr_2plane_444_formats to pipe format
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37174>
2025-09-08 11:59:36 +00:00
David Rosca
10dbb0ed2a util/format: Add VK_EXT_ycbcr_2plane_444_formats formats
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37174>
2025-09-08 11:59:36 +00:00
Patrick Lerda
ef01013b71 r600: update multi_draw_indirect_params drm version requirement
The definitive linux kernel counterpart update is now merged.
The linux kernel commit dc5c742f41c0a1c2b14e4357c752851e015f3bcd
(v6.17-rc1) set the new r600 drm version requirement. This change
updates the drm version accordingly to 2.51.0.

Fixes: 9e1180b335 ("r600: implement ARB_indirect_parameters")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37118>
2025-09-08 11:44:18 +00:00
Christian Gmeiner
10b5bbb6dc etnaviv: re-format using clang-format
No manual changes here, this is simply running
$ ninja -C build/ clang-format

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37227>
2025-09-08 11:29:34 +00:00
Patrick Lerda
df5e8e1252 r600: fix r600_resource_copy_region behavior for some formats
The function resource_copy_region is expected to have a memcpy()
like behavior. Some formats, like r11g11b10_float, do not preserve
the original raw values. This was the problem. This change
updates r600_resource_copy_region() to use the generic copy path
for those formats.

This change takes into account how 8235d3aa19 "radeonsi: preserve
NaNs in draw-based resource_copy_region" proceeds.

This change fixes the remaining khr-gl and deqp-gles31 copy_image tests. This
change was tested on palm, barts and cayman. Here are the tests fixed:
khr-gl4[2-6]/texture_view/view_classes: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_2d_array_src_format_rgb9_e5_dst_target_texture_2d_array_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_2d_array_src_format_rgb9_e5_dst_target_texture_3d_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_2d_array_src_format_rgb9_e5_dst_target_texture_rectangle_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_3d_src_format_rgb9_e5_dst_target_texture_2d_array_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_3d_src_format_rgb9_e5_dst_target_texture_3d_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_3d_src_format_rgb9_e5_dst_target_texture_rectangle_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_rectangle_src_format_rgb9_e5_dst_target_texture_2d_array_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_rectangle_src_format_rgb9_e5_dst_target_texture_3d_dst_format_r11f_g11f_b10f: fail pass
khr-gl4[3-6]/copy_image/functional_src_target_texture_rectangle_src_format_rgb9_e5_dst_target_texture_rectangle_dst_format_r11f_g11f_b10f: fail pass
deqp-gles31/functional/copy_image/non_compressed/viewclass_16_bits/.*: fail pass
deqp-gles31/functional/copy_image/non_compressed/viewclass_32_bits/.*: fail pass

Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37117>
2025-09-08 11:13:35 +00:00
David Rosca
5e7b6df860 radv/video: Support quantization map on VCN5
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
VCN5 needs to convert the input map image to internal format.

Reviewed-by: Autumn Ashton <misyl@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37156>
2025-09-08 10:52:06 +00:00
David Rosca
a03e055cd3 radv/video: Set rate control to default on reset
If we never get rate control info, we would treat it as rate control
disabled and use QP value from slice info which is always 0 for default
rate control.

Cc: mesa-stable
Reviewed-by: Autumn Ashton <misyl@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37156>
2025-09-08 10:52:05 +00:00
David Rosca
070c3d2b89 ac/vcn: Add RADEON_VCN_IB_COMMON_OP_RESOLVEINPUTPARAMLAYOUT
Reviewed-by: Autumn Ashton <misyl@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37156>
2025-09-08 10:52:05 +00:00
Daniel Schürmann
a53190a426 nir/load_store_vectorize: hoist base addr instead of subtracting
Totals from 3130 (3.92% of 79839) affected shaders: (Navi48)
Instrs: 2634316 -> 2633652 (-0.03%); split: -0.06%, +0.04%
CodeSize: 13999784 -> 13996888 (-0.02%); split: -0.05%, +0.03%
SpillSGPRs: 1771 -> 1778 (+0.40%)
Latency: 27233464 -> 27230934 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 4234587 -> 4234550 (-0.00%); split: -0.00%, +0.00%
VClause: 54684 -> 54689 (+0.01%)
SClause: 62743 -> 62912 (+0.27%); split: -0.08%, +0.35%
Copies: 162594 -> 163729 (+0.70%); split: -0.22%, +0.91%
PreSGPRs: 146909 -> 146914 (+0.00%); split: -0.01%, +0.01%
VALU: 1558771 -> 1558778 (+0.00%)
SALU: 337715 -> 338168 (+0.13%); split: -0.30%, +0.44%

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37163>
2025-09-08 09:56:04 +00:00
Rhys Perry
cfba417316 nir/load_store_vectorize: optimize accesses with u2u64(ishl.nuw(iadd))
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37163>
2025-09-08 09:56:04 +00:00
Rhys Perry
4bc4322150 nir/load_store_vectorize: call nir_def_num_lsb_zero less
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37163>
2025-09-08 09:56:03 +00:00
Rhys Perry
491b7e851f nir/load_store_vectorize: refactor entry key creation
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37163>
2025-09-08 09:56:03 +00:00
Rhys Perry
8888c2471b nir/load_store_vectorize: refactor offset parsing
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37163>
2025-09-08 09:56:03 +00:00
Daniel Schürmann
acb47d2c78 nir/load_store_vectorize: also parse offsets through u2u64 if additions don't wrap around
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37163>
2025-09-08 09:56:03 +00:00
Sergi Blanch-Torne
084add9959 ci: disable Collabora's farm due to maintenance
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Planned downtime in the farm:
* Start: 2025-09-08 07:00 UTC
* End: 2025-09-08 13:00 UTC

Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36752>
2025-09-08 07:03:33 +02:00
Timothy Arceri
891d46f517 st/glsl_to_nir: dont add duplicate state tokens
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This avoids adding duplicates that also won't be optimised as
the param optimise path is also skipped for variants.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13735
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:25 +00:00
Timothy Arceri
5231bbe32e st/glsl: set driver loc after lowering clipplane
We need to store the driver location when we add it to the state
param list. Currently this code only works because
st_nir_assign_uniform_locations() later adds duplicate params but
this will be fixed in a following patch.

Unfortunatly we could not simply move nir_lower_clip to the state
tracker like we did in the reset of this MR as it is also called
directly from some drivers. Also to avoid making nir depend on the
gl_parameter defintions we simply loop over the results of the lowering
and fix up the locations.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:25 +00:00
Timothy Arceri
265b878f80 st/glsl: set driver location in nir_lower_point_size_mov()
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:25 +00:00
Timothy Arceri
8b1d48cf0b nir: move nir_lower_point_size_mov() to st
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:24 +00:00
Timothy Arceri
a73dab0af8 st/glsl: set driver location in nir_lower_alpha_test()
This previously worked because the driver locations would later
be set when st_nir_assign_uniform_locations() was called for a
second time but we will be skipping the extra call in a later patch.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:24 +00:00
Timothy Arceri
450419c3f4 nir: move nir_lower_alpha_test() to the st
This is gl specific and a following fix will add more gl specific
params so here we move it to the st to avoid filling nir.h with
more junk.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:23 +00:00
Timothy Arceri
3d9a5ee95d st/glsl: set driver locations in nir_lower_drawpixels()
This previously worked because the driver locations would later
be set when st_nir_assign_uniform_locations() was called for a
second time but we will be skipping the extra call in a later patch.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:23 +00:00
Timothy Arceri
8417f4a8eb nir: move nir_lower_drawpixels() to the state tracker
This is gl specific and a following fix will add more gl specific
params so here we move it to the st to avoid filling nir.h with
more junk.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:22 +00:00
Timothy Arceri
109040a4b5 st/glsl: fix nir_lower_position_invariant()
We need to store the driver location when we add it to the state
param list. Currently this code only works because
st_nir_assign_uniform_locations() later adds duplicate params but
this will be fixed in a following patch.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:22 +00:00
Timothy Arceri
79f0060618 st/glsl: fix packed uniform handling in st_nir_lower_fog()
This previously worked because the driver locations would later
be overwritten when st_nir_assign_uniform_locations() was called
for a second time but we will be skipping the extra call in a
later patch.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:21 +00:00
Timothy Arceri
3da857d7c5 st/glsl: encapsulate more in st_nir_state_variable_create()
This will allow us to fix bugs with driver_location in following
patches while keeping code to a minimum.

For now we always set uniform packing to false, this will be
corrected as we go in following patches for now it doesn't matter
as the driver location is later overwritten.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37037>
2025-09-07 23:13:21 +00:00
Eric Engestrom
415db01738 venus/ci: document fixed tests
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37217>
2025-09-07 22:25:59 +02:00