Konstantin Seurer
d6c9b1d03f
radv: Handle all dependencies of CmdWaitEvents2
...
The spec describes pDependencyInfos as an array with eventCount elements.
cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10579
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28896 >
2024-04-26 08:09:22 +00:00
Samuel Pitoiset
7c0b73e0aa
radv/rt: rework the helper that hashes a ray tracing pipeline
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28860 >
2024-04-26 07:40:09 +00:00
Samuel Pitoiset
58fb6db649
radv/rt: pass radv_ray_tracing_state_key to radv_rt_pipeline_compile()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28860 >
2024-04-26 07:40:09 +00:00
Samuel Pitoiset
7be635719c
radv/rt: add radv_ray_tracing_state_key
...
This struct contains all information for compiling a pipeline
(stages, stage keys and groups). It will be used to generate a unique
pipeline hash.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28860 >
2024-04-26 07:40:09 +00:00
Colin Marc
ec78cbce4c
radv/video: don't truncate frame_num and POC to 32
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28719 >
2024-04-26 06:38:44 +00:00
Ryan Neph
ee7e0168a1
venus: reclaim signal semaphore feedback resources for wasteful clients
...
Pending feedback resources (cmds, buffers, slots) for timeline semaphores are
generally reclaimed for re-use during subsequent semaphore waits/queries or any
queue submission containing at least one "wait" semaphore.
They are never reclaimed in the unexpected case when all submissions only
contain "signal" timeline semaphores, which consume such resources but
are never subsequently queried or waited upon.
This strange behavior is observed in several Valve games (Portal 2,
L4D2, CS2), which all run natively on linux with their own internal
distributions of DXVK v2.0 (at time of this MR submission). A Cursory
analysis of recent DXVK history indicates that it may be gone by v2.1.
The consequence is rapid guest memory leak and host Vk resource leak,
resulting in a crash within 1-2 minutes.
Fix that leak by running the reclaimation procedure for submissions with
_any_ accompanying semaphores.
Fixes: d63432012d ("venus: refactor semaphore feedback")
Signed-off-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28915 >
2024-04-26 06:17:37 +00:00
Yiwei Zhang
fdc21a95aa
venus: workaround excessive dma-buf import failure on turnip
...
Workaround dEQP-VK.wsi.android.swapchain.simulate_oom.* test failures on
turnip where excessive imports can fail, and venus has to propagate oom.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28941 >
2024-04-26 05:56:42 +00:00
Yiwei Zhang
824a8542d7
venus: silence a stack array false alarm
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28914 >
2024-04-26 05:37:02 +00:00
Yiwei Zhang
3e16d25d1a
venus: avoid client allocators for ring internals
...
There're many cases in which the ring submissions must succeed. We don't
worry about real oom since things would fail earlier. For simulated oom
from random intentional allocs, there isn't robust way to fail those
must succeeds. e.g. the commands that don't have return codes or valid
error return struct defaults. So real oom propagation is still at best
effort.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28914 >
2024-04-26 05:37:02 +00:00
Lionel Landwerlin
9926aedc96
anv: enable EDS3 AlphaToCoverageEnable & RasterizationSamples
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10647
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
ada806baa3
anv: remove fs_msaa_flags from the graphics pipeline
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
ddf31d2f40
anv: move 3DSTATE_MULTISAMPLE to partial emission
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
815d2e3e8b
anv: move 3DSTATE_PS to partial packing
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
3a336a98e9
anv: move more PS_EXTRA programming to runtime
...
All the stuff related to fs_msaa_flags.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
355549e7b0
anv: move 3DSTATE_WM::BarycentricInterpolationMode programming to runtime
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
11b348a1c5
anv: add dirty tracking of fs_msaa_flags in runtime
...
At the moment this is useless as the pipeline already holds the same
value. But in the next changes we'll stop building this value on the
pipeline to allow for more dynamic states.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
25b57a6a75
anv: track sample shading enable & min sample shading
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
b80dd22d57
intel/brw: add min_sample_shading value in wm_prog_data
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
bdfa25dc77
intel/fs: decouple alphaToCoverage from per sample dispatch
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:03 +00:00
Lionel Landwerlin
1bbe2d9833
intel/brw: fixup wm_prog_data_barycentric_modes()
...
Always select sample barycentric when persample dispatch is unknown at
compile time and let the payload adjustments feed the expected value
based on dispatch.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:02 +00:00
Lionel Landwerlin
48bf95ba96
anv: factor out wm_prog_data get in runtime flush
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:02 +00:00
Lionel Landwerlin
e302825fef
anv: fixup indentation
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:02 +00:00
Lionel Landwerlin
2f0c2d2ed7
anv: simplify multisampling check
...
We've already checked that ms != NULL in the if condition.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803 >
2024-04-26 05:13:02 +00:00
Mike Blumenkrantz
bd1a3921d1
zink: fully wait on all program fences during ctx destroy
...
optimized pipeline compile jobs may still be ongoing during ctx
destroy, and these must complete too or else crashes will occur
fixes shutdown crash with dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source.teximage2d_render
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28900 >
2024-04-26 04:50:31 +00:00
Mike Blumenkrantz
f18a1d3a31
zink: prune zink_shader::programs under lock
...
it's possible for a shader to be precompiling its separate shader variants
during destruction, which requires that the programs set be iterated
under lock in order to prune every new variant as it is created without
crashing
fixes crashes in spec@arb_separate_shader_objects@400 combinations.*
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28900 >
2024-04-26 04:50:30 +00:00
Mary Guillemard
866dc85d67
panfrost: Skip new failure from VKCTS 1.3.8.x
...
Mark "dEQP-VK.pipeline.monolithic.vertex_input.misc.stride_change_vert_frag"
as failing.
Reason for failure is unknown for now, will need investigation at a
later time.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28939 >
2024-04-26 04:23:44 +00:00
Mary Guillemard
fc15041255
panvk: Ensure we lower load_base_workgroup_id to 0
...
This pass options to nir_lower_compute_system_values to ensure that
load_base_workgroup_id is lowered to 0 instead of NULL.
Fix VKCTS failures related to it.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Fixes: d22f936019 ("nir: remove workgroup_id_zero_base")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28939 >
2024-04-26 04:23:44 +00:00
Christian Gmeiner
33db56e784
isaspec: Improve 'meta' handling
...
As a meta line could become quite long, make it possible to have
multiple meta tags.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28920 >
2024-04-26 03:35:13 +00:00
Christian Gmeiner
1747fed633
isaspec: Add method to get the displayname of BitSetEnumValue
...
This is needed for an assembler use case.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28920 >
2024-04-26 03:35:12 +00:00
Iván Briano
8ebf07eccd
anv: check requirements for VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE
...
Somehow I missed this one in 164c0951a0
If the format the image is being created with doesn't have the FSR
format feature, report it as unsupported.
Also fixes future CTS tests: dEQP-VK.api.info.unsupported_image_usage.*
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28913 >
2024-04-26 03:01:07 +00:00
Eric Engestrom
497672ac74
ci: pass MESA_VK_ABORT_ON_DEVICE_LOSS through to the DUT
...
Fixes: 9bbbe90f06 ("ci: enable MESA_VK_ABORT_ON_DEVICE_LOSS globally")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28940 >
2024-04-26 01:18:08 +00:00
Chia-I Wu
ae68fa51a4
radeonsi: respect pipe_picture_desc::flush_flags
...
It is not always possible to assume PIPE_FLUSH_ASYNC.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771 >
2024-04-26 00:45:05 +00:00
Chia-I Wu
08d3b93ce7
radeonsi: prep for pipe_picture_desc::flush_flags
...
Make sure video codecs support flush flags.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771 >
2024-04-26 00:45:05 +00:00
Chia-I Wu
7ed3874996
frontends/va: set PIPE_FLUSH_ASYNC when possible
...
When there are external handles, flush cannot be async.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771 >
2024-04-26 00:45:05 +00:00
Chia-I Wu
a90075e772
frontends/va: track whether there are imported/exported surfaces
...
Add vlVaDriver::has_external_handles and set it to true when external
handles are imported via VASurfaceAttribMemoryType or exported via
vaExportSurfaceHandle.
It will serve the same purpose as
gl_shared_state::HasExternallySharedImages does, but for va.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771 >
2024-04-26 00:45:04 +00:00
Chia-I Wu
893797eb32
gallium: add pipe_picture_desc::flush_flags
...
It specifies the flush flags for pipe_video_codec::end_frame.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28771 >
2024-04-26 00:45:04 +00:00
Sil Vilerino
b2c0c83be1
d3d12: Fix static analysis issues due to bad parenthesis closing
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28933 >
2024-04-26 00:15:16 +00:00
Timur Kristóf
7809c5f222
ac/nir/tess: Implement packed 16-bit HS->TES I/O using helper macros.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768 >
2024-04-25 23:45:05 +00:00
Timur Kristóf
e92e0bab93
ac/nir/tess: Implement packed 16-bit LS->HS I/O using helper macros.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768 >
2024-04-25 23:45:05 +00:00
Timur Kristóf
67c2016dd5
ac/nir/esgs: Implement packed 16-bit ES->GS I/O using helper macros.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768 >
2024-04-25 23:45:05 +00:00
Timur Kristóf
7bfbff7440
ac/nir: Add helper macros for emitting IO code.
...
These are implemented as macros because C doesn't
have templates. They are meant for implementing
properly split packed 16-bit IO stores and loads,
to avoid repetition in the code.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768 >
2024-04-25 23:45:05 +00:00
Timur Kristóf
feb2ba9e9b
ac/nir/tess: Slightly refactor emitting LS outputs.
...
No functional changes, just reorganize the code a little bit
in preparation for the next commits.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768 >
2024-04-25 23:45:05 +00:00
Timur Kristóf
55757ce03b
ac/nir/esgs: Slightly refactor emitting IO loads and stores.
...
No functional changes, just reorganize the code a little bit
in preparation for the next commits.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28768 >
2024-04-25 23:45:05 +00:00
Erik Faye-Lund
86cce0e677
panfrost: clamp buffer-size to max-size
...
When texture-buffers are created from buffers that are larger than the
max-size, the correct thing to do is to clamp the size. Let's do that.
This fixes these piglits:
- spec/arb_texture_buffer_object/texture-buffer-size-clamp/r8ui_texture_buffer_size_via_sampler
- spec/arb_texture_buffer_object/texture-buffer-size-clamp/rg8ui_texture_buffer_size_via_sampler
- spec/arb_texture_buffer_object/texture-buffer-size-clamp/rgba8ui_texture_buffer_size_via_sampler
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28908 >
2024-04-25 23:22:16 +00:00
Erik Faye-Lund
19aa0b9473
panfrost: add PAN_MAX_TEXEL_BUFFER_ELEMENTS define
...
We're going to be repeating this value a few places, so let's use a
single define to keep thing simple.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28908 >
2024-04-25 23:22:16 +00:00
Tomeu Vizoso
1277f58d8a
etnaviv/nn: Make parallel jobs disabled by default
...
It doesn't work for all models, with the same happening to the
proprietary driver. There may be some hardware limitation on at least
the HW that is currently supported in Mesa.
So match what the proprietary driver is doing and disable by default.
Fixes: d6473ce28e ("etnaviv: Use NN cores to accelerate convolutions")
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28918 >
2024-04-25 21:59:40 +00:00
Rohan Garg
b406759479
anv: formatting fix when printing pipe controls
...
Fixes: abc4111 ('anv: pass steam output as argument for anv_dump_pipe_bits')
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28931 >
2024-04-25 21:38:30 +00:00
Guilherme Gallo
7101aecc53
ci: Use id_tokens for JWT auth
...
Fixes : #9180
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28916 >
2024-04-25 20:45:53 +00:00
Guilherme Gallo
2639c91052
ci: Add S3 id_token for all jobs
...
id_tokens will replace $CI_JOB_TOKEN predefined variable in GitLab 18.0
See:
https://docs.gitlab.com/ee/update/deprecations.html#default-cicd-job-token-ci_job_token-scope-changed
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28916 >
2024-04-25 20:45:53 +00:00
David (Ming Qiang) Wu
87fa1fdcb2
radeonsi/vcn: set accurate size for dec header and index_codec
...
Each codec has its own size in the dec message,
for example: AVC has sizeof(rvcn_dec_message_avc_t) and
AV1 has sizeof(rvcn_dec_message_av1_t)
This patch will set the correct size for index_codec section
and set the total_size properly for the dec message header.
Signed-off-by: David (Ming Qiang) Wu <David.Wu3@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28886 >
2024-04-25 20:18:30 +00:00