Commit graph

223391 commits

Author SHA1 Message Date
David Rosca
2aec2e8dba ac/parse_ib: Add VCN decode queue parsing
Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41861>
2026-06-01 07:34:11 +00:00
Samuel Pitoiset
e32d518819 radv: cleanup conditional header includes
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41865>
2026-06-01 06:35:31 +00:00
Faith Ekstrand
fd9c2ce73d compiler/rust/nir: Add helpers for getting ALU input/output types
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/41896>
2026-06-01 03:24:17 +00:00
Faith Ekstrand
52e2439973 compiler/rust/nir: Add structured block iterators
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41896>
2026-06-01 03:24:17 +00:00
Faith Ekstrand
4d129b10ac compiler/rust: Add a nir_shader::to_string()
Annoyingly, this has to take a &mut nir_shader because printing
re-indexes SSA value.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41896>
2026-06-01 03:24:16 +00:00
Faith Ekstrand
5922db15bf compiler/rust: Add a nir_shader::get_entrypoint() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41896>
2026-06-01 03:24:16 +00:00
Faith Ekstrand
8b71407672 compiler/rust/bindings: Add util_dyarray
NIR uses dynarray for predecessors now so we should include it in the
bindings to keep other users from pulling in a duplicate.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41896>
2026-06-01 03:24:16 +00:00
Faith Ekstrand
0d8ca7cc6c meson: Suffix compiler/rust bindings with _compiler_rs_extern
This prevents symbol collisions with other crates in Mesa.

Fixes: b60694b91e ("compiler/rust: Add a float16 wrapper")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41896>
2026-06-01 03:24:16 +00:00
Daivik Bhatia
993d4f5233 pan/nir: fix GNU compilation error with clang
Swapping `{}` for `{0}` to fix a GNU empty initializer
error when building with Clang.

Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41864>
2026-06-01 02:59:38 +00:00
Benjamin Otte
364ae96477 Revert "lavapipe: Don't advertise support for multiplane drm formats"
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
These formats are supported now, so we should not bail anymore.

This reverts commit 0941af995a.

Fixes: 77c630b0b01eaf1f078338296d02d952277c4e33
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41776>
2026-05-31 18:53:28 +02:00
Konstantin Seurer
40087f9be2 lavapipe: Perform shader object compatibility check early
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
To avoid allocating (and leaking) a lvp_shader.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:29 +00:00
Konstantin Seurer
9f11d59f9a llvmpipe: Fix memory leak when allocating sample functions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:29 +00:00
Mike Blumenkrantz
e41ad705a9 lavapipe: Implement VK_EXT_descriptor_heap
Co-authored-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:29 +00:00
Konstantin Seurer
a12e7c85f5 lavapipe: Add lvp_nir_lower_push_constants
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:29 +00:00
Konstantin
a4bdc0ba0d lavapipe: Fix push_constant_size for shader objects
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:28 +00:00
Konstantin
327093a306 lavapipe: Re-emit push constants if the size changed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:28 +00:00
Mike Blumenkrantz
644041cf0b lavapipe: stop using pipeline layouts in some places
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:28 +00:00
Konstantin Seurer
5b050154ed lavapipe: Implement VK_KHR_shader_untyped_pointers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:28 +00:00
Konstantin Seurer
f2de5f8088 lavapipe: Reduce descriptor sizes even further
This works by splitting lp_descriptor into image, sampler and buffer
descriptor types. The lavapipe side needs to be adjusted to handle
descriptor set layouts with varying descriptor sizes.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:28 +00:00
Konstantin Seurer
3416cc5f90 llvmpipe: Remove lp_llvm_descriptor_base
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:28 +00:00
Konstantin
5251cd7236 vulkan/cmd_queue: Handle struct copies that are not pointers
Structs that need explicit copies can be inline members.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39496>
2026-05-31 12:36:28 +00:00
Konstantin Seurer
f48f681fb5 nir: Duplicate the name in nir_def_set_name
nir_sweep expects that nir_instr_debug_info::variable_name is owned by
nir_instr_debug_info.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40706>
2026-05-31 13:31:55 +02:00
Konstantin Seurer
9c596cd05b lavapipe: Bump maxRayDispatchInvocationCount to the min requirement
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40706>
2026-05-31 13:31:55 +02:00
Alyssa Rosenzweig
e22cdebfdc brw: nir_lower_constant_convert_alu_types only once
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40762>
2026-05-30 21:00:39 -07:00
Faith Ekstrand
154d3b5812 nak: Simplify SSARef construction with try_push()
Some checks failed
macOS-CI / macOS-CI (dri) (push) Has been cancelled
macOS-CI / macOS-CI (xlib) (push) Has been cancelled
This is what LowerBoundedU32Array is doing internally and it's unlikely
faster to have all these extra cases.  This also gets rid of a bunch of
transmute(), which is always nice.  It does mean a small copy in the
case of large SSARefs but those should be uncommon.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41462>
2026-05-30 01:20:10 +00:00
Faith Ekstrand
f279bcdaef nak: Allow SSA value 0 again
We no longer need the index to be non-zero because we add 17.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41462>
2026-05-30 01:20:10 +00:00
Faith Ekstrand
8629f5cb3e nak: Use LowerBoundedU32 for SSAValue
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41462>
2026-05-30 01:20:10 +00:00
Faith Ekstrand
e6bc41ed44 compiler/rust: Add LowerBoundedU32[Array] types
This is a generalization of NAK's SSAValue and SSAValueArray structs.
But instead of depending on NAK's bespoke invariants, this depends on
something far simpler: A lower bound on the u32.  As long as you can
guarantee that the maximum array length is strictly less than the
minimum U32 value, we can pull the same trick as NAK and generalize it
into a LowerBoundedU32Array type.

Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41462>
2026-05-30 01:20:10 +00:00
Faith Ekstrand
48b234d78b meson: Bump the minimum rust version to 1.85.0
Acked-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41462>
2026-05-30 01:20:10 +00:00
Caio Oliveira
181eaee52e brw: Remove old encoder, generator and related tools
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
15e53be9c9 intel/compiler: Add and use gen_update_reloc_imm()
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
f5eb84daf8 iris: Use gen_print instead of brw_disasm
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
159ab10712 intel/tools: Use gen_print instead of brw_disasm
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
4010129227 anv: Use gen_print instead of brw_disasm
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
ddc9383eed brw: Make brw_generator an implementation detail of brw_to_binary.cpp
Now that every caller goes through brw_to_binary(), brw_generator has
a single user (brw_to_binary.cpp itself).  Move the class definition
into that .cpp inside an anonymous namespace and delete the header,
so it can no longer leak into other translation units.

No functional change.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
74583d3db6 brw: Add brw_to_binary() as the single codegen entrypoint
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
24e8921b3d brw: Use the new gen based generator
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
a20f7432a6 brw: Port the copy of generator to use gen_encoding
This port tries to keep the same structure and still uses a lot of
brw_reg, converting types at the last moment.  The idea is to make
easiert to verify the change.  A later patch will convert to use
gen_operand and other types earlier.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
266d80e1c0 brw: Make a copy of brw_generator for using gen
It is convenient for us to have the new code in a different file (for
various validation tasks).  So first make a copy of the current generator
to a new file that later will be updated to use the gen module.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
0952a56da0 intel/executor: Update to use gen module
Assisted-by: Pi coding agent (opus-4.7)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
677f643491 intel/decoder: Convert to use gen module
Assisted-by: Pi coding agent (opus-4.7)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
cb0227ab27 jay: Use gen module
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Tested-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
2117be441c jay: Use gen_condition enum and helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
f52a360399 brw, jay: Use various enums from gen instead of brw
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
9e3d70408d brw, jay: Use gen_sfid instead of brw_sfid
Tweak jay_opcodes.py to add a padding because gen_sfid is packed now.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
2ee7f796f5 brw, jay: Use gen_swsb and related enums
These are the same as brw ones, just with a new name.  Also
make all the code use the same gen_print_swsb() helper.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
f97fbc36d9 brw, jay: Use lsc_* symbols from gen
Also use the new structs for collecting desc/ex_desc information.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
03ea848277 intel/compiler: Stop forcing null destination HSTRIDE=1 on pre-xe SEND in brw_asm "compat" mode
Remove the compatibility handling from gen and update the expected
results for the relevant parser tests.

This was the last remaining quirk in the "compact" mode, so also remove the
INTEL_BRW_ASM_COMPAT env var plumbing.

Assisted-by: Pi coding agent (opus-4.7)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
8d0c16e4fc intel/compiler: Stop forcing null source <0;1,0> region in brw_asm "compat" mode
Remove the compatibility handling from gen and update the expected
results for the relevant parser tests.

Assisted-by: Pi coding agent (opus-4.7)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00
Caio Oliveira
4a0a34a981 intel/compiler: Stop replicating narrow immediate values in brw_asm "compat" mode
Remove the compatibility handling from gen and update the expected
results for the relevant parser tests.

Assisted-by: Pi coding agent (opus-4.7)
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41413>
2026-05-30 00:54:00 +00:00