Commit Graph

189546 Commits

Author SHA1 Message Date
Mike Blumenkrantz
c6b29a4788 egl/dri2: fix error returns on dri2_initialize_x11_dri3 fail
this is a failure path, so return failure

Fixes: 62f65f4bfd ("egl/dri2: if zink is preferred from dri3 skip dri2 paths.")

Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29171>
2024-05-17 12:28:52 +00:00
Samuel Pitoiset
caca5e0de6 radv: add more helpers to emit viewports
Viewports are emitted differently on GFX12 and adding helpers would
help.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29215>
2024-05-17 08:04:02 +00:00
Samuel Pitoiset
73e1ff6b54 radv: use float instead of double for viewport zscale/ztranslate
The float precision should be largely enough.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29215>
2024-05-17 08:04:02 +00:00
Samuel Pitoiset
50ef8600bc radv: pass radv_physical_device to radv_emit_default_sample_locations()
To emit PA_SC_CENTROID_0 which changed on GFX12.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29215>
2024-05-17 08:04:02 +00:00
Samuel Pitoiset
9e7c44ea11 radv: simplify radv_emit_default_sample_locations()
PA_SC_CENTROID_PRIORITY has been moved on GFX12 and it will be easier
to emit it outside of the switch case.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29215>
2024-05-17 08:04:02 +00:00
Samuel Pitoiset
0697452f57 ac,radv,radeonsi: add a helper to translate buffer dataformat
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29236>
2024-05-17 07:30:16 +00:00
Samuel Pitoiset
5d9bdb6410 ac,radv,radeonsi: add a helper to translate buffer numformat
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29236>
2024-05-17 07:30:16 +00:00
Samuel Pitoiset
3409015103 radv: reject unsupported buffer formats earlier
To simplify adding common helpers for translating buffer formats.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29236>
2024-05-17 07:30:16 +00:00
Samuel Pitoiset
622e1b6385 radv: only enable VK_MESA_image_alignment_control on GFX9-11.5
This is not yet implemented on GFX6-8 and GFX12, better to disable it.

Fixes: 6c3457033a ("radv: Implement VK_MESA_image_alignment_control")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29219>
2024-05-17 06:56:07 +00:00
Samuel Pitoiset
f0200a54d9 radv: add a helper to configure ring buffer descriptors
Instead of duplicating everything which is annoying for bringup when
some fields are updated.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29234>
2024-05-17 06:21:35 +00:00
Juston Li
db58d0f40b venus: forward nice priority when creating ring
Forward the nice priority to the renderer so that corresponding renderer
threads are created with the same priority.

For backwards compatibility, conditioned on
VK_MESA_VENUS_PROTOCOL_SPEC_VERSION >= 2

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29012>
2024-05-17 00:03:44 +00:00
Juston Li
4d2d49c63f sync protocol for VkRingPriorityInfoMESA
Bumps VK_MESA_VENUS_PROTOCOL_SPEC_VERSION to 2

Signed-off-by: Juston Li <justonli@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29012>
2024-05-17 00:03:44 +00:00
David Heidelberg
9b02584bed ci/panfrost: Revert "ci/panfrost: disable G52 until machines gets fixed"
Machines are reported as fixed.

This reverts commit 891730ac0b.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29207>
2024-05-16 22:50:09 +00:00
David Heidelberg
782f2b3dea ci/intel: add new jsl flake
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29207>
2024-05-16 22:50:09 +00:00
David Heidelberg
49760b6af6 ci: Revert "ci: update failures list with angle for jsl, tgl"
MesaCI has new ANGLE, we can revert this one.

This reverts commit 197f99dc70.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29207>
2024-05-16 22:50:09 +00:00
David Heidelberg
ec8eeb39ae ci: bump ANGLE
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29207>
2024-05-16 22:50:09 +00:00
Alyssa Rosenzweig
9a8cb81f61 nir/tex_instr_result_size: handle subpass_ms
I hit this and don't see any reason it shouldn't work

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29249>
2024-05-16 18:09:39 -04:00
Danylo Piliaiev
72326e15f3 anv: Use current_frame from vk device to delimit u_trace frames
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29220>
2024-05-16 18:12:31 +00:00
Danylo Piliaiev
c73b3f590b tu: Use current_frame from vk device to delimit u_trace frames
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29220>
2024-05-16 18:12:30 +00:00
Danylo Piliaiev
4510350d55 util/u_trace: Pass explicit frame_nr argument to delimit frames
Otherwise u_trace has to think that each submission is a frame,
and that's not great if we want to gather statistics on per real
frame basis.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29220>
2024-05-16 18:12:30 +00:00
Danylo Piliaiev
eed28932c0 vulkan/wsi: Make current_frame usable in all cases
It would be useful for u_trace to separate frames.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29220>
2024-05-16 18:12:30 +00:00
Alyssa Rosenzweig
e5637f44b8 asahi: unify naming for COUNTS structs
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Alyssa Rosenzweig
a173c2e38c asahi: split CDM Launch words
similarly separates counts from USC words.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Alyssa Rosenzweig
5fbd8bb694 asahi: split frag shader words
Isolate the counts from the rest, in particular.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Alyssa Rosenzweig
7dcd5f1f02 asahi: don't allocate for USC words
let the driver.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Alyssa Rosenzweig
06d59d3f5c asahi: rename meta -> bg/eot
meta is for making meta gallium calls, we already have something else
appropriately named meta. bg/eot programs are not meta, they're their own
hardware mechanism. use the appropiate powervr name instead.

nfc

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Alyssa Rosenzweig
cd3dabe8e0 asahi: clean up bg/eot counts
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Alyssa Rosenzweig
ed2d15d42f asahi: track imports for decode
otherwise we fail with interesting dmabuf tracing

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Alyssa Rosenzweig
ff553d1ac8 asahi/decode: QoL improvements
- plumb through a context so we can handle multiple VMs in a single process
- add image heap dumping helper for bindless images
- try to guess betwen texture & PBE to reduce noise

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29247>
2024-05-16 13:25:56 -04:00
Karol Herbst
564e569072 nir/lower_cl_images: set binding also for samplers
Fixes https://github.com/darktable-org/darktable/issues/16717 on radeonsi.

Fixes: 31ed24cec7 ("nir/lower_images: extract from clover")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29230>
2024-05-16 16:39:42 +00:00
Danylo Piliaiev
97c99aa9b3 tu: Add more info to renderpass tracepoint
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29222>
2024-05-16 15:57:10 +00:00
Danylo Piliaiev
57a3f0f949 util/u_trace: Allow mixing of ArgStruct and Arg
Would allow to define such arguments:

    args=[ArgStruct(type='const struct tu_framebuffer *', var='fb'),
          ArgStruct(type='const struct tu_tiling_config *', var='tiling'),
          Arg(type='uint8_t',  var='maxSamples',  c_format='%u'),
          Arg(type='uint8_t',  var='clearCPP',    c_format='%u'),
          Arg(type='uint8_t',  var='loadCPP',     c_format='%u'),
          Arg(type='uint8_t',  var='storeCPP',    c_format='%u'),],

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29222>
2024-05-16 15:57:10 +00:00
David Rosca
5f4a6b5b00 radeonsi/vcn: Ensure at least one reference for H264 P/B frames
The original fix from

0f3370eede ("raseonsi/vcn: fix a h264 decoding issue")

would in some cases also trigger for I frames with interlaced streams.
Instead of checking used_for_reference_flags, use slice type and
only add one reference for P/B frames if needed.
This change still fixes playback of the sample from the original issue,
avoids the issue with interlaced streams and also fixes the case where
application provides no references at all.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11060
Cc: mesa-stable
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29055>
2024-05-16 15:05:09 +00:00
David Rosca
2ef3a34f1a radeonsi/vcn: Allow duplicate buffers in DPB
In case of missing frames (eg. when decoding corrupted streams), there
will be duplicate buffers and all of them needs to be in DPB to keep
the layout correct for decoding.

Cc: mesa-stable
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29055>
2024-05-16 15:05:09 +00:00
David Rosca
47b6ca47d0 radeonsi/vcn: Ensure DPB has as many buffers as references
In case of corrupted streams (or application bugs) the number
of references may not be equal to DPB size. This needs to be fixed by
filling the missing slots with dummy buffers.

Cc: mesa-stable
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29055>
2024-05-16 15:05:08 +00:00
David Rosca
9837dab4bd frontends/va: Store slice types for H264 decode
Cc: mesa-stable
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29055>
2024-05-16 15:05:08 +00:00
Patrick Lerda
f8a1d9f787 r600: fix vertex state update clover regression
This change handles the case when "vertex_fetch_shader.cso" is null,
it implements the previous behavior in this specific case. This
situation is happening with clover.

For instance, this issue is triggered with "piglit/bin/cl-custom-buffer-flags":
==6467==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000000c (pc 0x7ff92908fe6e bp 0x7ffe86ae5ad0 sp 0x7ffe86ae5a30 T0)
==6467==The signal is caused by a READ memory access.
==6467==Hint: address points to the zero page.
    #0 0x7ff92908fe6e in evergreen_emit_vertex_buffers ../src/gallium/drivers/r600/evergreen_state.c:2123
    #1 0x7ff92908444b in r600_emit_atom ../src/gallium/drivers/r600/r600_pipe.h:627
    #2 0x7ff92908444b in compute_emit_cs ../src/gallium/drivers/r600/evergreen_compute.c:798
    #3 0x7ff92908444b in evergreen_launch_grid ../src/gallium/drivers/r600/evergreen_compute.c:927
    #4 0x7ff9349f9350 in clover::kernel::launch(clover::command_queue&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&) ../src/gallium/frontends/clover/core/kernel.cpp:105
    #5 0x7ff9349c331d in std::function<void (clover::event&)>::operator()(clover::event&) const /usr/include/c++/11.4.0/bits/std_function.h:590
    #6 0x7ff9349c331d in clover::event::trigger() ../src/gallium/frontends/clover/core/event.cpp:54
    #7 0x7ff9349c82f1 in clover::hard_event::hard_event(clover::command_queue&, unsigned int, clover::ref_vector<clover::event> const&, std::function<void (clover::event&)>) ../src/gallium/frontends/clover/core/event.cpp:138
    #8 0x7ff9348daa47 in create<clover::hard_event, clover::command_queue&, int, clover::ref_vector<clover::event>&, clEnqueueNDRangeKernel(cl_command_queue, cl_kernel, cl_uint, const size_t*, const size_t*, const size_t*, cl_uint, _cl_event* const*, _cl_event**)::<lambda(clover::event&)> > ../src/gallium/frontends/clover/util/pointer.hpp:241
    #9 0x7ff9348daa47 in clEnqueueNDRangeKernel ../src/gallium/frontends/clover/api/kernel.cpp:334

Fixes: 659b7eb2 ("r600: better tracking for vertex buffer emission")
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10079
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29163>
2024-05-16 14:41:25 +00:00
Gert Wollny
f398f6ab08 r600/sfn: Set bit size for newly created store intrinsic
Fixes: 1632948a76
  nir: validate src_type of store_output intrinsics, require bit_size >= 16

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29227>
2024-05-16 14:21:19 +00:00
Mike Blumenkrantz
e1b40373ce zink: ci updates
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:44 +00:00
Mike Blumenkrantz
ee2fb2f2f3 zink: split slot map between regular varyings and patch
these otherwise were using the same mapping

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:44 +00:00
Mike Blumenkrantz
66eb26c00f zink: move 'reserved' into io assign struct
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:44 +00:00
Mike Blumenkrantz
9ca0c8cbae zink: unify io assignment
this was the same in two places but with extra pre-checks in one

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:43 +00:00
Mike Blumenkrantz
c6af91a968 zink: track masks of io locations used during linking
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:43 +00:00
Mike Blumenkrantz
8f2e56350a zink: pass a struct through io assignment functions
this is more easily extensible

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:43 +00:00
Mike Blumenkrantz
42f2719a88 zink: outdent assign_consumer_var_io()
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:43 +00:00
Mike Blumenkrantz
737de5573f zink: outdent assign_producer_var_io()
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:43 +00:00
Mike Blumenkrantz
613c7c1586 zink: minor tweaks to shader io assignment
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:43 +00:00
Mike Blumenkrantz
18f9f17be5 zink: make unassigned io variables unreachable
this should no longer be possible to hit

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28884>
2024-05-16 12:33:43 +00:00
Eric Engestrom
390ac5ba14 mailmap: add entry to unify Roman Stratiienko's contributions
$ git shortlog -sne --author 'Roman Stratiienko'
  65  Roman Stratiienko <r.stratiienko@gmail.com>
   7  Roman Stratiienko <roman.stratiienko@globallogic.com>
   4  Roman Stratiienko <roman.o.stratiienko@globallogic.com>
   3  Roman Stratiienko <roman.stratiienko@nure.ua>

Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29237>
2024-05-16 12:05:27 +00:00
Collabora's Gfx CI Team
75931d6e68 Uprev Piglit to 8a6ce9c6fc5c8039665655bca4904d5601c6dba0
7aa7bc1b01...8a6ce9c6fc

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29050>
2024-05-16 10:15:17 +00:00