Commit graph

72773 commits

Author SHA1 Message Date
Rob Clark
0632161956 freedreno/a6xx: Hide 10_10_10_2 for opencl
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The alpha channel seems to be internally returned as f16 (up-converted
to f32 is that is the dest type of the sam instruction).  This expresses
1/3 and 2/3 with less precision than cl cts expects (f32).

This may be a test bug.  But the format is not required.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40028>
2026-02-25 00:47:51 +00:00
Rob Clark
d487358527 rusticl: Add CL specific bind flag
In some cases CL has higher precision requirements for format support.
Add a PIPE_BIND_x flag so that drivers can expose formats in GL(ES) that
they cannot expose in CL.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40028>
2026-02-25 00:47:51 +00:00
Rob Clark
bfc5865a1b gallium: Add warning about PIPE_QUERY_x's ABIness
Someone somewhere decided to use PIPE_QUERY_x as the ABI between host
and guest.  Add a warning about this.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40051>
2026-02-24 23:19:34 +00:00
Rob Clark
7dc6fbd5c5 gallium: Switch TIMESTAMP_RAW back to callback
The original MR switched to use a float raw_timestamp_period to scale
the raw timestamp outside of the gallium driver.  This better matched
how vulkan works.

But unlike vulkan, gallium has timestamp related queries/APIs that
return already scaled time, resulting in small errors if the way the
scaling is done differs between driver scaling and frontend scaling.
The important thing is that any error introduced by scaling must be
the same error across APIs.

(In particular, a f64 value cannot preciesly represent an arbitrary
u64 value.  OTOH the driver's scaling could be simply multiply be an
integer.  But differing precision errors of the two approachs causes
problems when comparing between timestamps that are converted in
different ways.)

In some, but not all, cases this could be addressed by changing the
driver to use the same scaling function, but this is not always possible
(if, for ex, the scaling is done on the GPU CP).  So switch back to
the original approach from !39995, using a pscreen->convert_timestamp()
callback, to put the control back in the hands of the driver.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40051>
2026-02-24 23:19:34 +00:00
Benjamin Otte
0b6dd167ac lavapipe: Fix features for nonsubsampled ycbcr formats
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The Vulkan spec says about VkFormatFeatureFlagBits:

  If a format does not incorporate chroma downsampling (it is
  not a “422” or “420” format) but the implementation supports
  sampler Y′CBCR conversion for this format, the implementation
  must set VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT.

Fixes: af062126ae
Signed-off-by: Benjamin Otte <otte@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39820>
2026-02-24 18:56:10 +00:00
Rob Clark
005ce4057c freedreno+ir3: Implement CL isam mode
CL expected different coord rounding, etc.  Switch based on shader type.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40027>
2026-02-24 17:22:03 +00:00
Robert Mader
8592c177d1 lavapipe: Remove some dead code
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40030>
2026-02-24 16:12:13 +00:00
Robert Mader
0b6340fd94 lavapipe: enable dmabuf import for planar drm formats
Like e.g. NV12. This just requires some minor fixes around offset
handling.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40030>
2026-02-24 16:12:13 +00:00
Mike Blumenkrantz
e0a3f1bb8b ntv: ignore stuff for get_ssbo_size() in vulkan mode
this is only from GL

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40057>
2026-02-23 22:41:30 +00:00
Mike Blumenkrantz
9c09b8b968 ntv: also use base glsl type for non-zink array derefs
this matches the struct deref handling to avoid type mismatches

Fixes: e1855dc947 ("ntv: add basic vulkan support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40057>
2026-02-23 22:41:30 +00:00
Pierre-Eric Pelloux-Prayer
85394f39e5 dri: prevent read_sbc from going backward
In some situations we can have multiple present queued
with the same target_msc and in this case we might get
the last one signaled before the previous ones. Here's
an example with some debug logs added to the relevant
functions:

loader_dri3_swap_buffers_msc: new send_sbc=2323 - target_msc=337
dri3_handle_present_event:    old recv_sbc=2322 msc=338 new_recv_sbc=2323
loader_dri3_swap_buffers_msc: new send_sbc=2324 - target_msc=338
dri3_handle_present_event:    old recv_sbc=2323 msc=338 new_recv_sbc=2324
loader_dri3_swap_buffers_msc: new send_sbc=2325 - target_msc=338
dri3_handle_present_event:    old recv_sbc=2324 msc=338 new_recv_sbc=2325
loader_dri3_swap_buffers_msc: new send_sbc=2326 - target_msc=338
loader_dri3_swap_buffers_msc: new send_sbc=2327 - target_msc=338
loader_dri3_swap_buffers_msc: new send_sbc=2328 - target_msc=338
dri3_handle_present_event:    old recv_sbc=2325 msc=338 new_recv_sbc=2327
loader_dri3_swap_buffers_msc: new send_sbc=2329 - target_msc=338
dri3_handle_present_event:    old recv_sbc=2327 msc=338 new_recv_sbc=2328
loader_dri3_swap_buffers_msc: new send_sbc=2330 - target_msc=338
dri3_handle_present_event:    old recv_sbc=2328 msc=338 new_recv_sbc=2329
loader_dri3_swap_buffers_msc: new send_sbc=2331 - target_msc=338
dri3_handle_present_event:    old recv_sbc=2329 msc=338 new_recv_sbc=2330
dri3_handle_present_event:    old recv_sbc=2330 msc=338 new_recv_sbc=2326 # oops
dri3_handle_present_event:    old recv_sbc=2326 msc=339 new_recv_sbc=2331

It's usually harmless, except if Mesa ends up using
loader_dri3_swapbuffer_barrier right after the out-of-order event.

In this example it's ok because more swaps are executed after 2330, so
waiting for read_sbc>=2330 would work anyway.
But if this wasn't the case, loader_dri3_swapbuffer_barrier would never
return, waiting for recv_sbc to become >= 2330 while it's stuck at 2326
because the later swaps were processed earlier.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39857>
2026-02-23 21:35:20 +00:00
Gurchetan Singh
5260acb30c lavapipe: fix uninitialized variable warning
Otherwise, the following error is observed:

lvp_pipeline.c:422:28:
  error: variable 'progress' is used uninitialized whenever
         'if' condition is false [-Werror, -Wsometimes-uninitialized]

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40046>
2026-02-23 16:04:12 +00:00
Pavel Ondračka
83d636fc74 r300: Z16 polygon offset fixes
The way I understand the HW docs is that the polygon offset is applied
always in 24bit depth domain (there are no polygon offset depth format
control registers like r600 has), so we need to manually rescale for
16bit buffers.

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39196>
2026-02-23 15:49:36 +01:00
Eric R. Smith
399c0d22f3 panfrost: blending fixes for Midgard
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The main change here is adding an architecture argument to
pan_blend_can_fixed_function, so that we can take into
account fixed function hardware limitations in particular
generations.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39705>
2026-02-23 13:32:59 +00:00
Eric R. Smith
432babec11 panfrost: optimize blending with DST_ALPHA when there is no alpha
If the output format has no alpha channel then DST_ALPHA is the same
as CONST_ONE, and hence the blend operation becomes trivial (opaque).
This also fixes some piglit test failures, possibly because the
fixed function blending hardware isn't really set up to handle RGB1.

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39705>
2026-02-23 13:32:58 +00:00
Tomeu Vizoso
2b632af73d ethosu: Update tests baseline for new models
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39911>
2026-02-23 10:55:26 +00:00
Tomeu Vizoso
825539f404 teflon/tests: Add MoveNet Lighning and Thunder models
Downloaded from https://github.com/google-coral/test_data/

Apache-2.0

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39911>
2026-02-23 10:55:26 +00:00
Tomeu Vizoso
d07d177f61 teflon/tests: Add SSD MobileNetV2 model
Downloaded from https://github.com/google-coral/test_data/

Apache-2.0

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39911>
2026-02-23 10:55:26 +00:00
Tomeu Vizoso
dd06e58a96 teflon/tests: Add MobileNetV2 model
Downloaded from https://tfhub.dev/tensorflow/lite-model/mobilenet_v2_1.0_224_quantized/1/default/1

Apache 2.0

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39911>
2026-02-23 10:55:25 +00:00
Tomeu Vizoso
016290a4ca teflon/tests: Add InceptionV1 model
Downloaded from https://github.com/google-coral/test_data/

Apache-2.0

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39911>
2026-02-23 10:55:25 +00:00
Tomeu Vizoso
db318818b4 teflon/tests: Add EfficientDet model
Copied from https://www.kaggle.com/models/tensorflow/efficientdet/tfLite/lite0-int8

Apache-2.0

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39911>
2026-02-23 10:55:25 +00:00
Tomeu Vizoso
47a317aa8f teflon/tests: Fail tests with unsupported output types
Instead of asserting, which disrupts the other tests in the batch.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39911>
2026-02-23 10:55:25 +00:00
Rob Clark
b2050f1173 freedreno/a6xx: Implement PIPE_QUERY_TIMESTAMP_RAW
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This will be needed by rusticl to convert ticks to ns.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39995>
2026-02-22 19:18:19 +00:00
Rob Clark
8451190601 gallium: Add PIPE_QUERY_TIMESTAMP_RAW
This is intended to enable rusticl to use get_query_result_resource()
for timestamp queries, for hw which cannot convert ticks to us on the
GPU (or for which doing the conversion on the GPU is expensive).  In
this case, the query result buffer is not exposed to the app, so we
can still do the necessary conversion on the CPU.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39995>
2026-02-22 19:18:19 +00:00
Pavel Ondračka
e57fca6de2 r300/ci: update expectations
Some checks failed
macOS-CI / macOS-CI (dri) (push) Has been cancelled
macOS-CI / macOS-CI (xlib) (push) Has been cancelled
Missed in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39850

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40023>
2026-02-21 09:45:32 +01:00
Pavel Ondračka
5ee7d99f64 r300: handle polygon-mode points in point sprite path
arb_point_sprite-mipmap renders polygons with polygon mode set to POINT.
However, r300 point-sprite setup only treated MESA_PRIM_POINTS as point
draws, so sprite coord replacement was disabled for polygon primitives
that were rasterized as points. This produced wrong texcoord orientation
and failed the piglit test.

Detect point rasterization from the primitive plus rasterizer fill/cull
state and use that in both HWTCL and SWTCL draw paths when updating
is_point flag.

The test now pass on RV370 and fails with the rest of the CI HW, but the
remaining issues seem to be some LOD boundary mismatch at point size 22,
the hardware samples level 0 where test expects level 1. In total only 4
cases now fail instead of 82 before.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39850>
2026-02-20 17:47:20 +00:00
Mike Blumenkrantz
055aec542e zink: use maintenance10 info for DRLR optimization
idk where the original version of this went?

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39739>
2026-02-20 15:24:07 +00:00
Mike Blumenkrantz
7e217112a0 zink: only update the value of VkAttachmentFeedbackLoopInfoEXT, not the pNext
messing with pNexts breaks other mechanics which expect those pointers
to remain constant

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39739>
2026-02-20 15:24:07 +00:00
Michal Krol
b453331e7c lavapipe: implement transformFeedbackRasterizationStreamSelect
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Add support for selecting which geometry shader output stream feeds
the rasterizer, via VkPipelineRasterizationStateStreamCreateInfoEXT.

In both the LLVM and fallback draw pipelines, select the rasterization
stream after stream output emit so that SO still receives all streams.

Wire the Vulkan state through and advertise the feature.

Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39984>
2026-02-20 14:45:39 +00:00
Michal Krol
8f81ab6c63 draw: fix per-stream vertex buffer leak in non-LLVM path
draw_geometry_shader_run allocates vertex buffers for all active
streams, but the non-LLVM pipeline cleanup only freed stream 0.
Free all GS stream allocations unconditionally.

Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39984>
2026-02-20 14:45:39 +00:00
Michal Krol
188ff6755b gallium: add rasterization_stream to pipe_rasterizer_state
Add a 2-bit field to select which geometry shader output stream
feeds the rasterizer. Only meaningful when a geometry shader
with multiple output streams is active.

Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39984>
2026-02-20 14:45:38 +00:00
Christian Gmeiner
f5bbbea9aa etnaviv: Compute blend color registers directly in etna_set_blend_color(..)
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: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Daniel Lang <dalang@gmx.at>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38710>
2026-02-20 13:09:31 +00:00
Christian Gmeiner
3b99a0aca3 etnaviv: Use BGRA-internal texture format with BLT/RS R/B swizzle
Replace the shader-based R/B swap with the blob driver's approach:
use A8R8G8B8 as the texture format so the sampler correctly interprets
the BGRA bytes the PE writes, and perform R<->B conversion at the
CPU boundary during transfer blits (tiled<->linear copies).

The R/B swap is gated by an in_transfer_blit context flag so that
GPU-internal blits (e.g. glBlitFramebuffer) operating on data already
in BGRA byte order are not affected.

For RB_SWAP formats, skip the texture shadow shortcut to ensure the
blit engine path is used, which handles the R/B swap correctly for
both reads and writes.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Daniel Lang <dalang@gmx.at>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38710>
2026-02-20 13:09:31 +00:00
Christian Gmeiner
a7c70c2a7c etnaviv: Add translate_pe_internal_format helper
Add a helper that returns the BGRA pipe format for a given RGBA pipe
format when the PE uses RB_SWAP. This is needed to pack clear colors
in the byte order the hardware actually stores.

Also fix translate_pe_format_rb_swap() to return 0 for formats with
PE_FORMAT_NONE, avoiding false positives on texture-only formats.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Daniel Lang <dalang@gmx.at>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38710>
2026-02-20 13:09:30 +00:00
Christian Gmeiner
55467b087d etnaviv: blt: Use img->swizzle for CONFIG SWIZ fields
Pass the per-image swizzle array through to the BLT CONFIG register
SWIZ fields instead of hardcoding the identity swizzle. This allows
the BLT engine to perform channel swizzling during copies, matching
what the blob driver does.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Daniel Lang <dalang@gmx.at>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38710>
2026-02-20 13:09:30 +00:00
Collabora's Gfx CI Team
6ebb502ab9 Uprev Piglit to 8e2c8bc0018f42b107d470a2de1bf7f53e8fb012
0d79fb4a59...8e2c8bc001

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39927>
2026-02-19 20:52:08 +00:00
José Roberto de Souza
91c5744e25 intel/brw: Use computed push constants size in brw_assign_urb_setup()
It was already computed in brw_shader::assign_curb_setup() so we can use it
in brw_assign_urb_setup().

There was a mismatch between assign_curb_setup() and brw_assign_urb_setup() when
push_sizes were not multiple of REG_SIZE, the first one was aligning every
push_sizes before sum it, while brw_assign_urb_setup() was only aligning the sum
of all push_size.

By luck the only places that did not had a push_size aligned to REG_SIZE only
had one push_size, so this was not an issue.

So here also fixing this mismatch and adding an assert to caught any future
mismatch.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39817>
2026-02-19 16:53:03 +00:00
Georg Lehmann
9109c0aa3c zink: do not check type when emitting fp_fast_math_mode
Since f44de53586 fp_math_ctrl won't be set for non float opcodes.

Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39966>
2026-02-19 15:21:27 +00:00
Maíra Canal
e1aac4f7e0 vc4: fail VS compilation on divergent loops
VC4 hardware doesn't have a dispatch mask for the VS, so divergent
loops can have undefined/garbage contents in some execution channels,
potentially causing infinite loops and GPU hangs.

Fail shader linking instead of hanging the GPU when a divergent loop is
detected in a vertex shader.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39768>
2026-02-19 09:57:05 +00:00
Maíra Canal
6f58861b95 vc4: drop redundant shader->failed reassignment
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39768>
2026-02-19 09:57:05 +00:00
Juan A. Suarez Romero
56258f4cfd v3d,v3dv: emit always set point size
On V3D 4.2 (Raspberry Pi 4), there is a hardware bug where the binner
can trigger a GPU reset in some situations where primitives are
discarded, such as due to primitive restarts.

The way to avoid this is to force the binner to do always something, by
emitting the proper CL. In this case we decided to always set point
size, as it is a very simple and fast operation.

This fixes resets caused by
dEQP-VK.pipeline.monolithic.input_assembly.primitive_restart.*.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39826>
2026-02-19 09:07:03 +00:00
Juan A. Suarez Romero
0df50e8ed1 v3d: fix leak in blit fast
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Unref destination buffer's texture before returning.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39885>
2026-02-19 08:50:05 +00:00
Pavel Ondračka
451895c1d0 i915/ci: update expectations
Some new unrolls after d66de1bb49.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39980>
2026-02-19 08:12:34 +00:00
Pavel Ondračka
1a3525ed1c r300/ci: update expectations
Expectation updates after d66de1bb49.

Mostly more unrolls and thus fixes for the R3xx/R4xx, however also a
single new fail that looks like an uncovered R5xx backend bug.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39980>
2026-02-19 08:12:33 +00:00
Kenneth Graunke
1478329c53 iris: Move ALT mode handling from brw to iris
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We just read this from the NIR and store it in iris_compiled_shader,
there's no reason for the backend compiler to be involved.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39926>
2026-02-19 02:51:00 +00:00
Kenneth Graunke
b985494d6f iris: Create our own enums for system values
These days, our system value concept is just about iris_program
communicating to iris_state which values to upload into a UBO.
Nowhere in that process is the backend compiler involved, so it
doesn't make sense for there to be brw/elk mechanisms.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39926>
2026-02-19 02:51:00 +00:00
Kenneth Graunke
53c5798194 iris: Move passthrough TCS generation out of brw and into iris
iris needs this, but anv does not, and it's just a small wrapper around
common NIR lowering anyway.  This also removes some brw/elk splitting.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39926>
2026-02-19 02:50:59 +00:00
Rob Clark
78bab99812 freedreno: Move some draw regs into driver
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When these are correctly mapped to draw usage, we can't rely on them
being globally initialized in tu_init_hw().  They need to be re-
initialized after rp stomping.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39819>
2026-02-19 00:56:43 +00:00
Rob Clark
a99164651e freedreno/registers: Move remaining rp_blit to draw
After separating out the compute/blit/resolve usages, what remains is 3d
draws.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39819>
2026-02-19 00:56:43 +00:00
Rob Clark
c84b069fca freedreno/registers: Split out compute usage
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39819>
2026-02-19 00:56:43 +00:00