Daniel Schürmann
27734c52eb
nir/lower_subgroups: optimize reductions with cluster_size == 1
...
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/218 >
2023-11-17 09:45:40 +00:00
Boris Brezillon
9ac3117e3e
panfrost: Emit image attribs for compute in panfrost_update_shader_state()
...
This will make the job-frontend split easier, and it also makes sense
to update image attributes here for compute.
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/26221 >
2023-11-17 09:29:11 +00:00
Boris Brezillon
3db963a135
panfrost: Emit attribs in panfrost_update_state_3d() on bifrost/midgard
...
The dirty state tracking should allow us to conditionally re-emit the
vertex attribute and attribute buffer arrays if something relevant
changed.
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
ac486a0115
panfrost: Kill unused panfrost_batch::polygon_list field
...
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
8ed471a339
panfrost: Flag the right shader when updating images
...
Fixes: fab1fabb4f ("panfrost: Dirty track fragment images")
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
1d4fa05b78
pan/decode: Fix the pan_unpack() call for JUMP instruction unpacking
...
We are unpacking a CALL instead of JUMP instruction. It doesn't
make a difference because the instruction layout is the same,
but let's fix that for the sake of correctness.
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
238f9a4498
pan/decode: Make CSF decoding more robust to NULL pointers
...
Some staging registers might be NULL, either because some arguments are
optional, or because the command stream is malformed. In any case, being
robust to such situations it probably a good thing.
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
7dd610f908
pan/decode: Print the resource table label
...
Useful to quickly spot which stage of the pipeline is using a resource
table.
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
408b3f3ced
pan/genxml: Fix 'Shader Program' descriptor definition on v9 and v10
...
Bit 8 in the descriptor is not encoding the primary/secondary shader
information. It's a per shader-type field.
For fragment shader descriptors, it describes what the coverage bitmask
contains for per-sample execution:
- DX-style: bits for all covered samples are set
- GL-style: only the bit for the sample the shader is executed on is set
For vertex shader, it encodes the warp limit we want to apply to the
shader execution.
Patch the existing code to match the new semantics.
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
790d4422b2
pan/bo: Make sure we catch refcnt underflows
...
Recently had to debug an unbalanced ref/unref situation in some
code I added, and having an assert(refcnt > 0) in
panfrost_bo_unreference() would have made this simpler, so let's
add one.
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
46d2748a93
panfrost: Fix format_minimum_alignment() for v6-
...
Alignment should be power of two, so I suspect we meant 64 not 63.
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/26221 >
2023-11-17 09:29:10 +00:00
Boris Brezillon
6e166af59e
pan/genxml: Fix "{Last,First} Heap Chunk" field position
...
Those two fields were swapped.
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/26221 >
2023-11-17 09:29:10 +00:00
Samuel Pitoiset
c5e6edcddf
radv: check earlier if a graphics pipeline can force VRS per vertex
...
When a graphics pipeline already enables VRS, forcing VRS isn't
possible, check this earlier.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26248 >
2023-11-17 08:39:48 +00:00
Samuel Pitoiset
61c3796a95
radv: remove redundant check when forcing VRS rates
...
If force_vrs_per_vertex is TRUE, the primitive shading rate varying is
always written.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26248 >
2023-11-17 08:39:48 +00:00
Samuel Pitoiset
d679d12359
aco: remove useless nir_intrinsic_load_force_vrs_rates_amd
...
It's lowered earlier.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26248 >
2023-11-17 08:39:48 +00:00
Samuel Pitoiset
d01b7b0fd4
zink/ci: add a manual job on radv-navi31
...
The run is sequential for now because otherwise a lot of AMDGPU errors
are reported.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25459 >
2023-11-17 08:14:59 +00:00
Eric Engestrom
a5e20a5c31
ci_run_n_monitor: require user to add an explicit .* at the end if jobs like *-full are wanted
...
Most of the time, these jobs are not wanted, so let's make this a full
match instead of prefix match so that users only get what they ask for.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26066 >
2023-11-17 08:12:31 +00:00
Eric Engestrom
ce7cda417f
intel/dev: use libdrm.h wrapper to support builds without libdrm
...
Fixes part of: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10159
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26236 >
2023-11-17 07:38:33 +00:00
Lionel Landwerlin
4eb4197d27
intel/nir/rt: fix reportIntersection() hitT handling
...
We're currently updating the hitT value in the traversal result with
the hitT value from reportIntersection(), but this is not correct.
First the hitT value of reportIntersection() should update the
gl_RayTmaxEXT value (maps to brw_nir_rt_mem_ray_defs::t_far).
Second the hitT determined by traversal should only be updated if the
reportIntersection() hitT value has updated the gl_RayTmaxEXT and that
the new gl_RayTmaxEXT is smaller than the determined hitT value from
traversal.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Fixes: 303378e1dd ("intel/rt: Add lowering for combined intersection/any-hit shaders")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25146 >
2023-11-17 07:06:30 +00:00
Lionel Landwerlin
6dbb5f1e07
intel/fs: rerun divergence analysis prior to convert_from_ssa
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9964
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26235 >
2023-11-17 06:40:49 +00:00
Faith Ekstrand
cd543c94fd
nvk: Advertise VK_KHR_synchronization2
...
We've already got everything, we just need to turn it on.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9657
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26245 >
2023-11-17 05:32:55 +00:00
Faith Ekstrand
7f6d3b82c8
nvk: Implement bufferDeviceAddressCaptureReplay
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10158
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26242 >
2023-11-17 03:07:02 +00:00
Faith Ekstrand
b4cfac64c8
nvk: Add a separate VMA heap for BDA capture/replay
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26242 >
2023-11-17 03:07:02 +00:00
Faith Ekstrand
78eee47471
nvk: Handle VMA allocation failure
...
The chances of these happening is slim to none right now but, the moment
we throw VK_KHR_buffer_device_address into the mix, failure becomes much
more of a real possibility.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26242 >
2023-11-17 03:07:02 +00:00
Faith Ekstrand
0052f1a6fe
nvk: Rework error handling in nouveau_ws_bo_new() and from_dma_buf()
...
Add static _locked versions of both functions which can do the usual
goto cascade for error handling and wrap them in exported functions
which take a lock, call _locked, drop the lock, and return.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26242 >
2023-11-17 03:07:02 +00:00
Faith Ekstrand
ce1cccea98
nvk: Drop nouveau_ws_bo_new_tiled()
...
It's no longer used.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26242 >
2023-11-17 03:07:02 +00:00
Hyunjun Ko
fbc9811241
vulkan/video: fix a typo
...
Fixes: d46162981a ("vulkan/video: add h264 headers encode")
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26139 >
2023-11-17 00:45:55 +00:00
Faith Ekstrand
7e00380445
nvk: Implement VK_KHR_pipeline_executable_properties
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9621
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26241 >
2023-11-17 00:12:36 +00:00
Faith Ekstrand
3b3b157961
nvk: Don't set pipeline->base.type manually
...
It's already set by nvk_pipeline_zalloc().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26241 >
2023-11-17 00:12:36 +00:00
Faith Ekstrand
faadac57d5
nak: Support dumping shader assembly as part of compile
...
This dumps it to a string that gets attached to the nak_shader_bin.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26241 >
2023-11-17 00:12:36 +00:00
Mary Guillemard
ae17145882
nak: Rewrite nir_intrinsic_load_sample_pos and implement nir_intrinsic_load_barycentric_at_sample
...
nir_intrinsic_load_sample_pos was causing failures on barycentric CTS tests.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26239 >
2023-11-16 22:12:29 +00:00
Mary Guillemard
8d8d93fab9
nak: Pass offset to load_frag_w
...
This fix IPA.OFFSET getting an undef for the offset and restore previous
behavior.
Fixes: 618bdb8571 ("nak: Rework FS input interpolation")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26239 >
2023-11-16 22:12:29 +00:00
Faith Ekstrand
1f582bad0a
nak: Stop passing undefs to ipa_nv
...
The undefs get ignored so they technically don't hurt anything. This
mostly just lets them CSE better
Fixes: 618bdb8571 ("nak: Rework FS input interpolation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26239 >
2023-11-16 22:12:29 +00:00
Eric Engestrom
5499e857a3
intel/ci: fix gl/vk dependencies in hsw jobs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26237 >
2023-11-16 21:01:50 +00:00
Erik Faye-Lund
a08d33abff
docs: apply permanent redirect
...
The HTTP URL now redirects to the HTTPS URL, so let's update our link.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26222 >
2023-11-16 20:30:08 +00:00
José Roberto de Souza
014e51251e
intel: Sync xe_drm.h
...
Sync xe_drm.h with commit 6253cfa4c324 ("drm/xe/pmu: Drop interrupt pmu event").
No changes in code need, it is just removing uAPIs that are not used
by any UMD but it still breaks the uAPIs as uAPI numbers changed.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26151 >
2023-11-16 19:54:44 +00:00
Tatsuyuki Ishi
e1cf75b411
zink: Remove now unused dead_framebuffers.
...
These were deleted in fe8212791f ("zink: delete all non-imageless
framebuffer code").
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26168 >
2023-11-16 17:40:14 +00:00
José Expósito
2a71f06f29
zink: allow software rendering only if selected
...
In environments where 3D acceleration is not available, like in a VM,
the behavior before commit 8cd44b8843 ("egl: add automatic zink
fallback loading between hw and sw drivers") was to fallback to swrast.
This was the output of `eglinfo` in that situation:
$ eglinfo
[...]
Wayland platform:
EGL driver name: swrast
OpenGL core profile renderer: llvmpipe (LLVM 17.0.4, 256 bits)
However, after commit 8cd44b8843 ("egl: add automatic zink fallback
loading between hw and sw drivers") Zink support is tested before
falling back to swrast.
Since the system doesn't support 3D acceleration, Zink + software
rendering is used instead of swrast causing issues like the ones
described in #10146 .
In this case, `eglinfo` prints:
$ eglinfo
[...]
Wayland platform:
EGL driver name: zink
OpenGL core profile renderer: zink Vulkan 1.3(llvmpipe (LLVM 17.0.4,
256 bits) (MESA_LLVMPIPE))
This patch ensures that Zink + software rendering is used only when the
user opts-in by setting `LIBGL_ALWAYS_SOFTWARE` or `D3D_ALWAYS_SOFTWARE`
and swrast is used otherwise.
After the patch, the output of `eglinfo` is identical to the one before
the regression:
$ eglinfo
[...]
Wayland platform:
EGL driver name: swrast
OpenGL core profile renderer: llvmpipe (LLVM 17.0.4, 256 bits)
Resolves: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10146
Fixes: 8cd44b8843 ("egl: add automatic zink fallback loading between
hw and sw drivers")
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Signed-off-by: José Expósito <jexposit@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26220 >
2023-11-16 17:18:34 +00:00
Eric Engestrom
99fed1f9b3
lima: drop unused lima_get_absolute_timeout()
...
If someone wants that functionality in the future, use
`os_time_get_absolute_timeout()` instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26229 >
2023-11-16 16:52:10 +00:00
Eric Engestrom
9c62aee027
util/xmlconfig: drop default SYSCONFDIR & DATADIR values
...
The only build system left is meson, which always defines these.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26228 >
2023-11-16 15:55:02 +00:00
Robert Mader
5f4253e096
panfrost: Support parameter queries for main planes
...
In order to return correct offsets, strides and possibly other
parameters. This is relevant for formats like NV12 and P010 where
the second plane, when produced by the V4L2 decoder, uses the
same FD like the first one, but with an offset.
Analogous to 7a7e577d .
Also use the new helper to get the number of planes.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10094
Cc: mesa-stable
Reviewed-by: Italo Nicola <italonicola@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26109 >
2023-11-16 14:28:45 +00:00
Robert Mader
d679154dc0
util: Add new helpers for pipe resources
...
They will be handy for drivers supporting multi-planar formats.
Cc: mesa-stable
Reviewed-by: Italo Nicola <italonicola@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26109 >
2023-11-16 14:28:45 +00:00
Tatsuyuki Ishi
94e867e4a6
zink: Fix waiting for texture commit semaphores.
...
The commit was always being treated as failed...
Fixes: d1456a6b0a ("zink: add semaphore handling for sparse binds")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26171 >
2023-11-16 13:38:07 +00:00
Tatsuyuki Ishi
729ce08815
zink: Defer freeing sparse backing buffers.
...
Sparse backing buffers were destroyed immediately after issuing the
unbind call, which was against the Vulkan spec which requires the
destroy call to not happen before the unbind semaphore was signaled.
To tackle this, keep a reference against buffers we are unbinding within
the batch. This will keep the backing buffer long enough to not cause
use-after-free. As described in comments, we don't need to reference
every backing page used in the batch, as the resource usually keeps
references to them until they are unbound, which is now correctly
handled.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26171 >
2023-11-16 13:38:06 +00:00
Tatsuyuki Ishi
3ee283e455
zink: Fix missing sparse buffer bind synchronization.
...
goto oopsies.
Fixes: d1456a6b0a ("zink: add semaphore handling for sparse binds")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26171 >
2023-11-16 13:38:06 +00:00
Lionel Landwerlin
8b36d230bb
anv: workaround XeSS for Satisfactory
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10152
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26217 >
2023-11-16 13:08:01 +00:00
José Expósito
83ed419cd0
zink: fix dereference before NULL check
...
The `sv->image_view` pointer is dereference before checking whether it's
NULL or not.
Check for NULL before dereferencing it to avoid a possible crash.
Fixes: 9de455bc43 ("zink: check for sampler view existence during
zink_rebind_all_images()")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Signed-off-by: José Expósito <jexposit@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26140 >
2023-11-16 12:22:14 +00:00
Samuel Pitoiset
ec82b42944
radv: add a missing async compute workaround for Tonga/Iceland
...
After digging into PAL code again, I figured that Tonga/Iceland are
both affected by a hw bug related to async compute dispatches.
The solution is to change the "threadgroup" dimension mode to the
"thread" dimension mode unconditionally.
This should fix a bunch of issues related to RADV_DEBUG=nocompute on
these GPUs.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7551
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6334
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4679
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26207 >
2023-11-16 11:37:43 +00:00
Rhys Perry
f695a9fed2
intel/compiler: use nir_lower_fp16_casts
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25566 >
2023-11-16 11:02:31 +00:00
Rhys Perry
ae30edd2a7
aco: remove f16<->f64 conversions
...
radeonsi and RADV now use nir_lower_fp16_casts.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25566 >
2023-11-16 11:02:31 +00:00