Commit Graph

205877 Commits

Author SHA1 Message Date
Olivia Lee 32177b99d5 panvk: track whether we are in a vk_meta command
This is needed to handle the provoking vertex mode correctly. vk_meta
doesn't care which provoking vertex mode is used, but there is no way to
express this directly in the vulkan api.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974>
2025-05-26 04:15:21 +00:00
Olivia Lee d60c688317 panvk/csf: set up shared register dump regions for cs functions
The tiler OOM exception handler allocated a region of memory to dump
save/restored registers. For defining more functions in the future, we
allocate a register dump region for each subqueue, that can hold the
largest number of registers needed by any functions executed on that
subqueue.

This does mean that we cannot have function calls more than one deep. If
we ever need nested function calls, we will have to consider a real
stack.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974>
2025-05-26 04:15:21 +00:00
Olivia Lee 61e7d47270 pan/csf: rename cs_exception_handler to cs_function
The register save/restore machinery is useful for more general callable
functions, not just exception handlers.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974>
2025-05-26 04:15:21 +00:00
Olivia Lee 83bb97796b pan/csf: add cs_maybe mechanism to retroactively patch cs contents
We have an edge case with VK_EXT_provoking_vertex where we may need to
emit FBDs and TDs before we know what provoking vertex mode the
application is using for the renderpass. To handle this, we want to
retroactively patch the provoking vertex bit. This commit introduces an
abstraction to do that.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974>
2025-05-26 04:15:21 +00:00
Olivia Lee 952703eefe pan/csf: add cs_builder unit test infrastructure
For now, just comparing the raw contents of the output buffer. Possibly
in the future we could hook this up to the disassembly from decode_csf.c
to make it a easier to edit.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974>
2025-05-26 04:15:21 +00:00
Olivia Lee 79a1d98e1e pan/csf: make cs_builder.h usable from c++
We need to do this in order to test it with gtest. Most of the changes
are just fixing integer truncation warnings.

Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Tested-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Ryan Mckeever <ryan.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34974>
2025-05-26 04:15:21 +00:00
Qiang Yu 6f2a1e19da nir/opt_varyings: fix mesh shader miss promote varying to flat
We still allow mesh shader promote constant output to flat, but
mesh shader like geometry shader may store multi vertices'
varying in a single thread. So mesh shader may store different
constant values to different vertices in a single thread, we
should not promote this case to flat.

I'm not using shader_info.mesh.ms_cross_invocation_output_access
because OpenGL does not require IO to have explicit location, so
when nir_shader_gather_info is called in OpenGL GLSL compiler to
compute ms_cross_invocation_output_access, some implicit output
has -1 location which causes ms_cross_invocation_output_access
unset for it.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13134
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35081>
2025-05-26 02:07:50 +00:00
Timothy Arceri bf24d56862 util: add workaround for the game Foundation
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12882
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35107>
2025-05-26 00:10:40 +00:00
Timothy Arceri 27945bbd8a mesa: extend linear_as_nearest work around
Here we allow packed stencils to skip the completeness check also.
Will be used in the following patch for a bug in the game Foundation.

Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35107>
2025-05-26 00:10:39 +00:00
Faith Ekstrand 38f8e82dd2 nvk: 64-bit atomics exist on Kepler B+
64-bit atomics exist on Kepler B but not Kepler A.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149>
2025-05-25 00:39:56 +00:00
Faith Ekstrand aad4410b51 nak/sm20: Don't allow 64-bit atomics
The encoding exists and the disassembler will disassemble it but the
hardware throws an ILLEGAL_INSTRUCTION_ENCODING if we ever try to
execute one.  The proprietary driver doesn't expose any 64-bit atomics
features on Kepler A so we assume the hardware just doesn't do them.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149>
2025-05-25 00:39:56 +00:00
Faith Ekstrand 4d752ad123 nvk: Disable R64_[US]INT formats when shaderImageInt64Atomics isn't supported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149>
2025-05-25 00:39:56 +00:00
Lorenzo Rossi 00bbb68c08 nak/sm32: Fix various encoding bugs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35059>
2025-05-25 00:33:47 +02:00
Lorenzo Rossi 150a61ab2f nak/sm32: Fix shfl.up register alignment
For some obscure reason, shfl.up on sm32 requires the lane register to
be 128-bit aligned, this can be fixed with minimal code changes by
aligning the register in legalization.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35059>
2025-05-24 21:20:49 +02:00
Collabora's Gfx CI Team 3b6d7cdd23 Uprev ANGLE to ec4d8f8e4d3f1a9e64430abd8b6b436253732adf
https://github.com/google/angle/compare/db71e8fa7c26d18f76d7b9e9474447b20f1c73b3...ec4d8f8e4d3f1a9e64430abd8b6b436253732adf

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35040>
2025-05-24 07:35:01 +00:00
Marek Olšák 32c419744e mesa: remove the old GL name (ID) allocator
Split from the commit that enabled the new GL name (ID) allocator.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31515>
2025-05-24 05:05:03 +00:00
sarbes 40497ca3a9 lima: genxml-ify PP frame registers
Most (all?) PP frame registers are now documented in genxml. Most of the magic values written to the registers are gone.

v2:
- moved default values out of genxml
- commented on stencil truncation

v3:
- fixed comment typo

Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34210>
2025-05-24 00:45:27 +00:00
sarbes eb61a607d8 lima: add 'unorm8' format to genxml
This MR allows packing of (normalized) floats into an 8 bit field.

v2:
- removed default attribute

Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34210>
2025-05-24 00:45:27 +00:00
Christian Gmeiner 41f2da1a6e treewide: Do not use NIR_PASS_V for nir_divergence_analysis(..)
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35131>
2025-05-23 21:19:25 +00:00
Caleb Callaway e7454f5318 intel/debug: shader dump filter
v2: Fixes filtering for various brw shader dump logic

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35061>
2025-05-23 19:57:02 +00:00
Caleb Callaway 5a36452158 intel/perf: intel_monitor documentation tweak
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35061>
2025-05-23 19:57:02 +00:00
Mel Henning 59308f92bf nak: Call nir_lower_undef_to_zero
Totals:
CodeSize: 4571686864 -> 4545122720 (-0.58%); split: -0.59%, +0.01%
Number of GPRs: 10994283 -> 10963889 (-0.28%); split: -0.28%, +0.00%
SLM Size: 1893964 -> 1855380 (-2.04%)
Static cycle count: 1114502308 -> 1104322907 (-0.91%); split: -0.93%, +0.02%
Spills to memory: 573363 -> 480689 (-16.16%)
Fills from memory: 573363 -> 480689 (-16.16%)
Spills to reg: 1625502 -> 458804 (-71.77%); split: -71.78%, +0.00%
Fills from reg: 878478 -> 303068 (-65.50%); split: -65.50%, +0.00%
Max warps/SM: 7235748 -> 7245516 (+0.13%)

Totals from 25050 (12.75% of 196502) affected shaders:
CodeSize: 1870779504 -> 1844215360 (-1.42%); split: -1.45%, +0.03%
Number of GPRs: 2578387 -> 2547993 (-1.18%); split: -1.18%, +0.00%
SLM Size: 890840 -> 852256 (-4.33%)
Static cycle count: 439061010 -> 428881609 (-2.32%); split: -2.37%, +0.05%
Spills to memory: 268807 -> 176133 (-34.48%)
Fills from memory: 268807 -> 176133 (-34.48%)
Spills to reg: 1485538 -> 318840 (-78.54%); split: -78.54%, +0.00%
Fills from reg: 753623 -> 178213 (-76.35%); split: -76.35%, +0.00%
Max warps/SM: 556844 -> 566612 (+1.75%)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35100>
2025-05-23 19:41:31 +00:00
Mel Henning 9d620fabd2 nak: Fix a perf regression in tex lowering
These lines look like they were mistakenly introduced, and cause a
significant perf hit. Eg. this fix improves the Horizon Zero Dawn
in-game benchamark by ~42% on my ampere machine (5992 pts -> 8517 pts).

Fixes: d16e75e55f ("nak: Lower texture inputs for Kepler B")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35100>
2025-05-23 19:41:31 +00:00
Eric Engestrom 162f1f5566 delete xa leftovers
Fixes: 3be2c47db2 ("delete the XA frontend")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35136>
2025-05-23 18:54:04 +00:00
Eric Engestrom e3d8f4c135 lavapipe/ci: skip timing out tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom 31a5039b38 lavapipe/ci: document flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom 84bbee22f4 rpi/ci: skip timing out test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom 30dedadc53 rpi/ci: document flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom cde3351213 amd/ci: document radv flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom 286204404a amd/ci: document radeonsi flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom 2beeac9484 r300/ci: document fixed test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom 5969df364a radeonsi/ci: document fixed piglit tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom 7707e17cd4 radv/ci: document fixed angle test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Mike Blumenkrantz 00aaef9f12 delete gallium-nine
farewell, old friend

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34887>
2025-05-23 13:43:37 -04:00
Mike Blumenkrantz 3be2c47db2 delete the XA frontend
this is unmaintained and untested

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34823>
2025-05-23 12:46:23 -04:00
Sil Vilerino c4b6285c81 mr-label-maker.yml: Add mediafoundation tag and associated directories
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34843>
2025-05-23 15:30:04 +00:00
Pohsiang (John) Hsu d348fd5fb5 mediafoundation: Add mediafoundation frontend
Reviewed-by: <yuboxie@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34843>
2025-05-23 15:30:04 +00:00
Rob Clark 45a2f02876 ci: Disable fd-farm
Take the google farm offline in preparation for shipping.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35093>
2025-05-23 15:27:16 +00:00
Mike Blumenkrantz 42b303c7b0 lavapipe: handle counterOffset in vkCmdDrawIndirectByteCountEXT
fixes dEQP-VK.transform_feedback.simple.draw_indirect*counter_offset*

cc: mesa-stable

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35076>
2025-05-23 14:53:02 +00:00
Mike Blumenkrantz 753d3e71d3 llvmpipe: disable conditional rendering mem for blits
u_blitter doesn't support this, and changing u_blitter to support a niche
lavapipe feature seems like overkill

fixes dEQP-VK.conditional_rendering.conditional_ignore.resolve_image*

cc: mesa-stable

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35076>
2025-05-23 14:53:02 +00:00
José Roberto de Souza ddca50584c intel: Return PTL stepping
Without this no temporary workaround is applied to PTL as by
default INTEL_STEPPING_RELEASE is returned and it is larger than
any stepping.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35110>
2025-05-23 13:52:27 +00:00
Mike Blumenkrantz c78d6bc4c3 ci: disable panfrost-t720-gles2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz 2eb45daa9c gallium: de-pointerize pipe_surface
this allows eliminating surface refcounting and objects
which, relatively speaking, don't serve much purpose

see MR for details

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz 506c8f9b76 mesa: remove gl_renderbuffer::surface
this is just a convenience alias

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz c374bfd864 ci: set -Wno-error=deprecated-declarations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz 7999b8024c util/inlines: constify pipe_surface_equal()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz 7154116220 gallium: pipe_surface_release -> pipe_surface_unref
this is a more accurate name for the function and will avoid confusion
with the 'release' mechanism of other objects

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:28 +00:00
Lionel Landwerlin 39f55541a3 anv: don't use pipeline layout at descriptor bind
An application is allowed to bind an empty descriptor set in a place
where a pipeline layout has no descriptor set layout. For example :

  pipeline_layout_A :
     set0 : NULL
     set1 : descriptor_set_layout_A

  vkCmdBindDescriptor :
     set0 : descriptor_set_B (with layout bindingCount=0)
     set1 : descriptor_set_C (compatible with descriptor_set_layout_A)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13227
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35125>
2025-05-23 12:56:31 +00:00
Christian Gmeiner 9da5eafa8e util/perf: Add sysprof integration
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34893>
2025-05-23 11:27:14 +00:00
Christian Gmeiner 8358d44223 util/perf: Change _mesa_trace begin functions to return void *
This enables implementations to pass context data between begin and
end tracing points, which is useful for more complex performance monitoring.

The change is minimal and only affects the function signatures and return
values, with no functional changes to existing behavior.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34893>
2025-05-23 11:27:14 +00:00