Eric Engestrom
7154c1eb77
ci_run_n_monitor: implicitly include parallel:
jobs
...
This avoids the surprising behaviour where `--target jobname` works for
some jobs but not others, because gitlab adds `X/N` at the end of these
job names.
If the user does specify something like `jobname 1/.*` to only run the
first, the extra `\d+/\d+` is ignored, just like if the job isn't
`parallel:` and therefore doesn't end with `X/N`.
If the user really wants to fail to match parallel jobs (previous
behaviour), they can simply add a `$` at the end of the job name/regex
(but also, I don't see why someone would want that behaviour).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27530 >
2024-02-09 15:58:10 +00:00
Erik Faye-Lund
f40d32770a
targets/va: override LIBVA_DRIVERS_PATH in devenv
...
This is really the right thing to do; it makes libva pick up the driver
we just built in a meson devenv. Not doing so can be kinda fatal;
otherwise we can end up loading different gallium-drivers for OpenGL and
VA-API, which can end up being pretty fatal.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27514 >
2024-02-09 14:57:11 +00:00
Alyssa Rosenzweig
9c006d5dce
nir/passthrough_gs: flesh out gs_in_prim
...
geometry shaders don't specify the input topology, only the class of topology.
normalize when generating a passthrough gs.
asahi will be more picky about this in the future.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27457 >
2024-02-09 11:53:31 +00:00
Alyssa Rosenzweig
3c3f7cb747
compiler,gallium: move u_decomposed_prim to common
...
nir will use
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27457 >
2024-02-09 11:53:31 +00:00
Pierre-Eric Pelloux-Prayer
ac426e1164
winsys/amdgpu: remove unused amdgpu_fence_is_syncobj
...
Unused since !24724 .
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27412 >
2024-02-09 09:21:07 +01:00
Pierre-Eric Pelloux-Prayer
f7facda322
winsys/amdgpu: unmap user fence BO before destroy
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27412 >
2024-02-09 09:21:00 +01:00
Pierre-Eric Pelloux-Prayer
6c3a294eef
radv: don't remove the blit queue from the device queues
...
I don't remember why I implemented it like this in !13959 , but
AFAICT there's no need to manually remove this queue from vk_device's
queues list.
On the other hand, this hack causes issues if syncobj timeline isn't
supported; amdgpu always support timeline, but amdgpu over virtio-gpu
doesn't.
The issue is as follow: the sequence in vk_queue.c:
case VK_QUEUE_SUBMIT_MODE_DEFERRED:
vk_queue_push_submit(queue, submit);
return vk_device_flush(queue->base.device);
Would fail to produce the expected result, because vk_device_flush would
fail to realize that the blit queue has some pending work because
"vk_foreach_queue(queue, device)" would never process the queue.
Then, the call to vk_drm_syncobj_export_sync_file() would fail, because
the syncobj handle was never used in a submit.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27412 >
2024-02-09 09:20:52 +01:00
Eric Engestrom
716ed7d62a
gitlab_gql: print error returned by server in --print-merged-yaml
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27535 >
2024-02-09 08:01:20 +00:00
Samuel Pitoiset
61a125647b
radv: add radv_disable_ngg_gs and enable it for Persona 3 Reload
...
Persona 3 Reload is largely affected by the way amplification works with
NGG GS and disabling it drastically improve performance.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27518 >
2024-02-09 07:24:16 +00:00
Samuel Pitoiset
69d734a8d5
radv: add RADV_DEBUG=nongg_gs for GFX10/GFX10.3
...
NGG GS doesn't perform well in some cases and having an option to
disable it for performance experiments is very useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27518 >
2024-02-09 07:24:16 +00:00
Samuel Pitoiset
877d9678f5
docs: fix RADV_DEBUG=nonggc description
...
NGG culling is only enabled by default on GFX10.3.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27518 >
2024-02-09 07:24:16 +00:00
Daniel Schürmann
932b9e6a23
radv: enable VK_KHR_shader_quad_control
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
312d0784c5
spirv: implement SPV_KHR_quad_control
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
e546f2a55d
radv: enable VK_KHR_shader_maximal_reconvergence
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
2649717a36
aco: enable WQM if demote is used with maximal reconvergence
...
If otherwise no helper lanes are required by the shader, then demote
behaves like discard and immediately terminates the invocations.
With maximal reconvergence, however, we need to ensure that helper lanes
are not terminated unless the entire quad was demoted.
In order to fix this, generally enable helper lanes in this unlikely
corner case and avoid a major refactor.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Daniel Schürmann
6588f5a123
spirv: implement SPV_KHR_maximal_reconvergence
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27277 >
2024-02-09 05:32:35 +00:00
Mike Blumenkrantz
0a243a7241
zink: adjust swizzled deref loads by the variable component offset
...
this code is intended to transform a block like:
```
32 %306 = @load_interpolated_input (%34, %0 (0x0)) (base=3, component=2, dest_type=float32, io location=VARYING_SLOT_VAR3 slots=1)
32x2 %307 = fsub %305, %306.xx
```
into derefs. the existing code generates this:
```
decl_var shader_in INTERP_MODE_NONE none vec2 #7 (VARYING_SLOT_VAR3.zw, 0, 0)
32 %516 = deref_var  (shader_in vec2)
32x2 %517 = @load_deref (%516) (access=none)
32 %518 = mov %517.z
error: src->swizzle[i] < num_components (../src/compiler/nir/nir_validate.c:216)
```
the problem is attempting to reapply the component offset to a variable which is
already at an offset
fixes #10567
Fixes: 17a35412dc
("zink: re-rework i/o variable handling to make having variables entirely optional")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27522 >
2024-02-09 02:29:22 +00:00
Mike Blumenkrantz
fab5c706fe
mesa: plumb errors through to texture allocation
...
the spec allows this and tests like spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch
expect it
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25931 >
2024-02-08 23:30:23 +00:00
Eric Engestrom
45df652d0b
ci_run_n_monitor: refresh job state when starting it
...
Avoids job staying in 'manual' state and making the script think there's
nothing left running.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
8a05cb8da7
ci_run_n_monitor: track new job when retrying a job
...
When retrying a job, we are creating a new job, so we need to keep track
of this new job now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
5bc1a62fbb
ci_run_n_monitor: add method to get a pipeline job by its id
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
bce1230587
ci_run_n_monitor: update job when it goes through enable_job()
...
`enable_job()` modifies the job, so we need to make sure we get the
updated job back out of it.
The next two commits take care of the two specific code paths.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
5758a5d660
ci_run_n_monitor: add some types for gitlab objects
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27499 >
2024-02-08 22:22:54 +00:00
Eric Engestrom
044c51b6bf
ci_run_n_monitor: warn user if they forgot to push the branch
...
Only perform this check if they set `--rev HEAD` (or don't specify it);
let's assume if they select another commit, they know what they're
doing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26969 >
2024-02-08 21:38:21 +00:00
Jesse Natalie
6d8461f545
d3d12: Subgroup ballot
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27528 >
2024-02-08 20:41:58 +00:00
Jesse Natalie
94e0091190
microsoft/compiler: Only use simplified subgroup ID algorithm for compute
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27528 >
2024-02-08 20:41:58 +00:00
Danylo Piliaiev
c8cc7c5c18
tu: Do not print anything on systems without Adreno GPU
...
Output debug info only when explicitly requested with
TU_DEBUG=startup otherwise we should be silent.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10213
Fixes: a669147689
("tu: Always print startup failure messages")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27527 >
2024-02-08 18:57:40 +00:00
Philip Rebohle
7b0fd4cc05
radv: Remove dead shared variables after optimization loop.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27104 >
2024-02-08 18:27:57 +00:00
Samuel Pitoiset
63b238e84e
radv: only load 3x32-bit elements when emitting draws with mesh shader
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27488 >
2024-02-08 18:04:15 +00:00
Samuel Pitoiset
0296196d32
radv: remove unused radv_indirect_command_layout::state_offset
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27488 >
2024-02-08 18:04:15 +00:00
Samuel Pitoiset
7bdf9f5002
radv/ci: remove VKD3D_CONFIG=dxr11 for navi21/navi31
...
The vkd3d-proton version in CI has this enabled by default.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27520 >
2024-02-08 17:39:59 +00:00
Boris Brezillon
49069a1243
pan/va: Add missing valhall_enums dep to valhall_disasm
...
valhall_disasm compilation fails if the valhall_enums.h has
not be generated.
Fixes: 619566dea1
("pan/va: Generate header containing enums")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10553
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27524 >
2024-02-08 15:04:34 +01:00
Samuel Pitoiset
bde272349d
radv: add support for emitting VS+GS compiled separately on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
416b20d381
radv: force GS stage for VS as ES compiled separately on GFX9+
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
8ef4c049ec
radv: declare streamout buffers for VS+GS compiled separately on GFX9+
...
The shader input arguments must match.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
a68e19204e
radv: rework shader arguments for separate compilation of VS+GS on GFX9+
...
The shader input args must match for VS+GS compiled separately.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
482dbacdeb
radv/nir: lower esgs_vertex_stride for GS compiled separately on GFX9+
...
The ESGS vertex stride would be emitted at draw time using the number
of VS/TES outputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Samuel Pitoiset
d777cbf66c
radv: add a new user SGPR for the ESGS ring item size
...
With shader object, when VS+GS or TES+GS are compiled separately and
the VS has written (but unused) outputs, the ESGS vertex stride
must be passed through an user SGPR. This is because when the GS is
compiled we can't know the number of ES outputs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388 >
2024-02-08 13:33:34 +00:00
Boris Brezillon
5b1b76e9cd
panfrost: Pad compute jobs with zeros on v4
...
Apparently, Midgard GPUs don't like when the last 2 words of
compute/vertex jobs contain garbage. Extend the compute job definition
to include a padding section thus aligning the job on a 64-byte boundary,
and add the according pan_section_pack() calls where we have a
compute job filled.
Fixes: b76420be1f
("panfrost: Split command stream descriptor definitions per-gen")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10558
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Tested-by: Anton Bambura <jenneron@postmarketos.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27515 >
2024-02-08 12:49:33 +00:00
Boris Brezillon
0bc26efdc4
panfrost: v4 doesn't have Blend descriptors
...
Drop the Blend descriptor definition in v4.xml, and adjust
pan_blitter accordingly.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27515 >
2024-02-08 12:49:33 +00:00
Rhys Perry
5f0226d82f
aco/tests: use raw strings in form_hard_clauses.nsa
...
Like cad2c0915d
.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
d59d00ebf8
aco/tests: add tests for VOPD operand swapping
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
24c02dbfa6
aco: improve printing of VOPD instructions
...
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/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
ea92aea9f2
aco: turn v_mov_b32 into addition to create VOPD instructions
...
fossil-db (navi31, wave32):
Totals from 15655 (19.76% of 79242) affected shaders:
Instrs: 10699119 -> 10688239 (-0.10%); split: -0.11%, +0.00%
CodeSize: 61290308 -> 61288596 (-0.00%); split: -0.01%, +0.00%
Latency: 89159743 -> 89150355 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 16966295 -> 16955427 (-0.06%); split: -0.07%, +0.00%
VALU: 5484626 -> 5473993 (-0.19%); split: -0.20%, +0.00%
VOPD: 1446725 -> 1457358 (+0.73%); split: +0.74%, -0.01%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
65dfb27f8f
aco: swap operands to create VOPD instructions
...
fossil-db (navi31, wave32):
Totals from 61565 (77.69% of 79242) affected shaders:
Instrs: 34874995 -> 34439344 (-1.25%); split: -1.27%, +0.02%
CodeSize: 200611536 -> 200564028 (-0.02%); split: -0.12%, +0.10%
Latency: 242520024 -> 242120510 (-0.16%); split: -0.28%, +0.11%
InvThroughput: 50236383 -> 49588742 (-1.29%); split: -1.31%, +0.02%
VClause: 713308 -> 712902 (-0.06%); split: -0.07%, +0.01%
SClause: 1184865 -> 1184620 (-0.02%); split: -0.03%, +0.01%
VALU: 18235068 -> 17803847 (-2.36%); split: -2.37%, +0.00%
VOPD: 3930904 -> 4362125 (+10.97%); split: +10.99%, -0.02%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Rhys Perry
96d8b7c59c
aco: refactor create_vopd_instruction
...
Prepare for operand swapping.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27485 >
2024-02-08 12:15:23 +00:00
Marek Olšák
50c3e9f87b
st/mesa: move st_update_functions into st_context
...
st_update_array will be set differently based on driver CAPs.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
5fd80f4fae
st/mesa: change the update enum of vertex elements
...
more enums will be added following the ON/OFF pattern.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
1d9585331e
st/mesa: cosmetic touchups in st_atom_array.cpp
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00
Marek Olšák
7dd66244af
st/mesa: move a piece of _mesa_draw_array_attrib out of the loop in setup_arrays
...
This inlines _mesa_draw_array_attrib and moves attribute_map out of
the loop. The compiler doesn't do this automatically.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27198 >
2024-02-08 11:28:30 +00:00