Alyssa Rosenzweig
0549649bcf
vulkan: optimize vk_dynamic_graphics_state_any_dirty
...
For drivers using the new state tracking, __bitset_test_range can be
surprisingly hot because we have a lot of dirty bits and __bitset_test_range has
to handle lots of special cases. __bitset_is_empty does not have to worry about
those special cases so can be much faster.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29008 >
2024-05-03 02:22:28 +00:00
Colin Marc
602c62a273
vulkan/video: correctly set sub-layer ordering in H.265 VPS/SPS
...
The relevant sections here are F.7.3.2.1 and F.7.3.2.2.1. The code was
incorrectly assuming sub_layer_ordering_info_present_flag is always 1.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29001 >
2024-05-02 23:51:56 +00:00
Colin Marc
b613566faf
vulkan/video: generate profile_tier_level structure correctly
...
Per section 7.7.3, the structure includes additional optional layer-specific
information, which is padded if left unset, based on the value of
max_sub_layers_minus1. The vulkan input structs have no way to specify this
per-layer information, so we just need the padding.
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29001 >
2024-05-02 23:51:56 +00:00
Derek Foreman
c6dc61775f
wsi/wayland: Add tracepoint in wsi_wl_swapchain_wait_for_present
...
We can spend a lot of time in wait_for_present, making it an interesting
trace point.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:27 +00:00
Derek Foreman
c4b432f83e
wsi/wayland: Add a perfetto track for image presentation
...
Now that we have flows, custom tracks, and timestamps, we can have a track
for wayland buffer presentation times, tagged with appropriate flow ids
so we can follow when a buffer was acquired through to the time it was
displayed.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:26 +00:00
Derek Foreman
57c03fe49c
wsi/wayland: Add latency information to perfetto profiling
...
When using presentation feedback, we know when an image is presented. Use
this and the time we submit the image to calculate the delay in ms
between submission and display.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:26 +00:00
Derek Foreman
34273bc4ed
wsi/wayland: Add timing debugging
...
If perfetto is tracing, always send presentation feedback requests
for image presentations.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:26 +00:00
Derek Foreman
23b4fb2b4c
wsi/wayland: Add flow id to presentation feedback
...
When we use waitforpresent we use presentation feedback. We can plumb
the flow ids into this to have slightly more expressive flows.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:26 +00:00
Derek Foreman
5ba7b3f40c
wsi/wayland: Add perfetto flows to image acquisition and presentation
...
Generate flow ids for slightly more informative swapchain profiling.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:26 +00:00
Derek Foreman
90effcceab
wsi/wayland: refactor wayland dispatch
...
Add a thin wrapper around the wayland dispatch code for no reason other
than to add MESA_TRACE_FUNC so we can see where wayland dispatch delays
are.
Move this to loader so we can use it in the wayland egl code later.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:26 +00:00
Sebastian Wick
1062b3e813
vulkan/wsi/wayland: refactor wsi_wl_swapchain_wait_for_present
...
Split it into a part that dispatches and a part that waits for the
requested id.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28634 >
2024-05-02 19:37:26 +00:00
Michel Dänzer
c3be21f177
wsi/wayland: Dispatch event queue in wsi_wl_swapchain_queue_present
...
With explicit sync, only if it wasn't done earlier for FIFO.
Prevents potentially unbounded memory usage for (wl_buffer.release
events in) the queue, since we don't dispatch the queue anywhere else
with explicit sync.
v2:
* Use wl_display_dispatch_queue_pending instead of
wl_display_dispatch_queue_timeout. (Sebastian Wick)
* Call it from wsi_wl_swapchain_queue_present instead of
wsi_wl_swapchain_acquire_next_image_explicit. (Joshua Ashton)
Fixes: 5f7a5a27ef ("wsi: Implement linux-drm-syncobj-v1")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28874 >
2024-04-26 15:11:00 +00:00
Samuel Pitoiset
e4f945cd4a
vulkan: pass cmdbuf level to vk_command_buffer_ops::create()
...
RADV needs to know the command buffer level in the create() helper.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28861 >
2024-04-23 06:33:31 +00:00
Echo J
0f46e279ba
vulkan: Add implicit pipeline caching support
...
This mirrors RADV's pipeline behavior (which is more performant
when programs like DXVK don't use the pipeline cache functionality)
Drivers need to set the implicit cache variable to use this though
(the next patch will enable this for NVK)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28851 >
2024-04-22 14:37:59 -05:00
Eric Engestrom
05c4c17f91
wsi/x11: drop unused param in x11_present_to_x11_sw()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28806 >
2024-04-18 13:51:48 +00:00
Eric Engestrom
ae5231a0de
vk/overlay-layer: simplify print and make it more readable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805 >
2024-04-18 12:56:39 +00:00
Eric Engestrom
0e61560266
vk/overlay-layer: fix None checks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805 >
2024-04-18 12:56:39 +00:00
Eric Engestrom
fc5fa08d89
vk/overlay-layer: drop unused imports
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805 >
2024-04-18 12:56:39 +00:00
Derek Foreman
e2260b8152
vulkan/wsi/wayland: Remove unused get_min_image_count_for_mode_group
...
This function has no callers.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28786 >
2024-04-17 11:04:05 -05:00
Derek Foreman
642d32045f
vulkan/wsi/wayland: Fix use after free
...
In 7eaceb0392 I called pthread_mutex_unlock() with a member of a freed
structure.
We can unlock as soon as this element is removed from the list it was in,
so just move the unlock to before the free.
Fixes 7eaceb0392
Signed-off-by: Derek Foreman <derek.foreman@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28432 >
2024-04-17 14:43:18 +00:00
Stéphane Cerveau
363a90d0c4
vulkan/video: hevc: b-frames can be reference or not
...
b-frames can be considered as reference, so the NAL type
should refer to reference type and either RASL or TRAIL
depending on the irap_pic_flag.
Fixes: 72f52329c ("vulkan/video: add a nal_unit lookup for hevc")
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28657 >
2024-04-17 01:45:54 +00:00
Constantine Shablia
6b04843537
vulkan/runtime: fix typo
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28695 >
2024-04-16 23:56:19 +00:00
Lionel Landwerlin
db6ee2e1bb
vulkan: track compression control flags on vk_image
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28632 >
2024-04-16 05:56:12 +00:00
Erik Kurzinger
899263ecfc
wsi/x11: support explicit sync
...
This adds support to the X11 WSI for explicit synchronization using DRM
syncobjs. It relies on versions 1.4 of the DRI3 and Present extensions.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27226 >
2024-04-16 02:40:01 +00:00
Paulo Zanoni
edf07649f4
vulkan: reduce struct vk_object_base by 8 bytes
...
I know that, in the grand scheme of things, this isn't significant.
The problem is: now that I know the hole is there, my OCD won't allow
me to sleep until it's fixed.
We went from:
struct vk_object_base {
VK_LOADER_DATA _loader_data; /* 0 8 */
VkObjectType type; /* 8 4 */
/* XXX 4 bytes hole, try to pack */
struct vk_device * device; /* 16 8 */
struct vk_instance * instance; /* 24 8 */
_Bool client_visible; /* 32 1 */
/* XXX 7 bytes hole, try to pack */
struct util_sparse_array private_data; /* 40 24 */
/* --- cacheline 1 boundary (64 bytes) --- */
char * object_name; /* 64 8 */
/* size: 72, cachelines: 2, members: 7 */
/* sum members: 61, holes: 2, sum holes: 11 */
/* last cacheline: 8 bytes */
};
to:
struct vk_object_base {
VK_LOADER_DATA _loader_data; /* 0 8 */
VkObjectType type; /* 8 4 */
_Bool client_visible; /* 12 1 */
/* XXX 3 bytes hole, try to pack */
struct vk_device * device; /* 16 8 */
struct vk_instance * instance; /* 24 8 */
struct util_sparse_array private_data; /* 32 24 */
char * object_name; /* 56 8 */
/* size: 64, cachelines: 1, members: 7 */
/* sum members: 61, holes: 1, sum holes: 3 */
};
which is cool because now the struct nicely fits in a cacheline.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28699 >
2024-04-15 22:12:52 +00:00
Dave Airlie
1e16851ab1
vulkan/video: copy the profile over for h264 encode.
...
This allows is to use it for encoding h264 headers.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25900 >
2024-04-11 12:48:22 +10:00
Erik Kurzinger
c1401fda8a
wsi/wayland: don't use explicit sync with sw
...
When using software rendering with the Wayland WSI we should not try to
use explicit sync even if it is supported by the compositor. Not only is
it not necessary in that case, but the protocol explicitly disallows
using it with shared memory buffers.
As a fix, first we modify wsi_configure_cpu_image to not set
info->explicit_sync to true for CPU images. However, we still want the
implicit_sync parameter in wsi_create_buffer_blit_context to be set to
false since CPU images don't need implicit sync either. To ensure that
remains so, we add a new field to wsi_image_info tracking the image
type, and then only enable implicit sync for DRM images when explicit
sync is not supported.
Additionally, we modify wsi_wl_use_explicit_sync to return false when
device->sw is true.
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28678 >
2024-04-10 23:08:36 +00:00
Hans-Kristian Arntzen
2e502542ac
vulkan/runtime: Check correct callback list for binding report.
...
instance_callbacks is only used for vkCreateInstance time callbacks.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 34e8e5d76f ("vulkan/debug_utils: add a helper for reporting address binding")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28649 >
2024-04-10 13:50:56 +00:00
Paulo Zanoni
b0653370d0
vulkan: don't zero-initialize STACK_ARRAY()'s stack array
...
STACK_ARRAY() is used in a lot of places. When games are running we
see STACK_ARRAY() arrays being used all the time: each queue
submission uses 6, WaitSemaphores and syncobj waiting also uses them:
they're constantly present in Vulkan runtime.
There's no need for STACK_ARRAY()'s stack array to be initialized,
callers cannot not depend on it. If the number of elements is greater
than STACK_ARRAY_SIZE, then STACK_ARRAY() will just malloc() the array
and return it not initialized: anybody depending of
zero-initialization is going to break when the array is big.
The reason why we're zero-intializing STACK_ARRAY()'s stack array is
to silence -Wmaybe-uninitialized warnings: see commit d7957df318
("vulkan: fix uninitialized variables"). I don't think that commit is
the ideal way to deal with the problem, so this patch proposes a
better solution.
The problem here is that zero-initializing it adds code we don't need
for every single caller. STACK_ARRAY() already has 63 callers and only
3 of them are affected by the -Wmaybe-uninitialized warining. So here
we undo what commit d7957df318 did and instead we fix the 3 cases
that actually generate the -Wmaybe-uninitialized warnings.
Gcc is only emitting those warinings because it knows that the number
of elements in the array may be zero, so the loops we have that set
elements to the array may end up do nothing, and then we pass the
array uninitialized to other functions.
For the cases related to vk_sync this is just returning VK_SUCCESS
earlier, instead of relying on the check that eventually happens at
__vk_sync_wait_many(). For the vkCmdWaitEvents() function, the Vulkan
spec says that "eventCount must be greater than 0", so the early
return doesn't hurt anybody either. In both cases we make the zero
case faster by not defining an 8-sized array, zero-initializing it,
then returning success without using it.
Reference: d7957df318 ("vulkan: fix uninitialized variables")
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28288 >
2024-04-08 17:23:25 +00:00
Faith Ekstrand
aac2a31b3d
vulkan: Add a bunch of -Wpadded errors
...
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28615 >
2024-04-06 23:54:36 -05:00
Samuel Pitoiset
34e8e5d76f
vulkan/debug_utils: add a helper for reporting address binding
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28373 >
2024-04-03 08:48:36 +00:00
Eric Engestrom
96e8648b32
docs: replace references to the deprecated VK_INSTANCE_LAYERS with the new VK_LOADER_LAYERS_ENABLE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28516 >
2024-04-02 18:08:52 +00:00
Joshua Ashton
5f7a5a27ef
wsi: Implement linux-drm-syncobj-v1
...
This implements explicit sync with linux-drm-syncobj-v1 for the
Wayland WSI.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:38 +00:00
Joshua Ashton
59813ae468
wsi: Add common infrastructure for explicit sync
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
4bf8f96b3e
wsi: Get timeline semaphore exportable handle types
...
We need to know this for explicit sync
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
6a72ea01d3
wsi: Track CPU side present ordering via a serial
...
We will use this in our hueristics to pick the most optimal buffer in AcquireNextImageKHR
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
7467f29af1
wsi: Add acquired member to wsi_image
...
Tracks whether this wsi_image has been acquired by the app
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
a50ce3df71
wsi: Track if timeline semaphores are supported
...
This will be needed before we expose and use explicit sync.
Even if the host Wayland compositor supports timeline semaphores, in the
case of Venus, etc the underlying driver may not.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
efa6fac0d7
build: Add linux-drm-syncobj-v1 wayland protocol
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
72240780f2
wsi: Add explicit_sync to wsi_drm_image_params
...
Allow the WSI frontend to request explicit sync buffers.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
c30c969c24
wsi: Add explicit_sync to wsi_image_info
...
Will be used in future for specifying explicit sync for Vulkan WSI when supported.
Additionally cleans up wsi_create_buffer_blit_context, etc..
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
eae948332a
wsi: Pass wsi_drm_image_params to wsi_configure_prime_image
...
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Joshua Ashton
d6345250ca
wsi: Pass wsi_drm_image_params to wsi_configure_native_image
...
No need to split this out into function parameters, it's just less clean.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Erik Kurzinger <ekurzinger@nvidia.com >
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25709 >
2024-04-02 13:09:37 +00:00
Hans-Kristian Arntzen
5eb0dec525
wsi/x11: Return OUT_OF_DATE on sw resize.
...
This is more in line with DRI3 path, and fixes a regression
since SUBOPTIMAL was not considered correctly.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Fixes: 19dba854be ("wsi/x11: Rewrite implementation to always use threads.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10878
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28413 >
2024-03-28 14:22:19 +00:00
Yonggang Luo
49f6270e7d
vulkan: Move vk_format_is_alpha and vk_format_is_alpha_on_msb into vk_format.h from pvr
...
The vk_format_description moved to front because it's referenced by vk_format_is_alpha_on_msb
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Matt Coster <matt.coster@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28266 >
2024-03-28 04:11:52 +00:00
David Stern
82ed8aadea
vulkan/wsi/x11: Explicitly discard errors from xcb_present_pixmap.
...
Errors produced by the call to `xcb_present_pixmap` should be explicitly
discarded to ensure they don't leak into the application event loop.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Fixes: 2b885b23 ("vk/wsi/x11: stop roundtripping on presentation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28402 >
2024-03-28 00:23:38 +00:00
Charlie Turner
9e3932e990
{vulkan,radv,anv}/video: fix issue in H264 scaling lists derivation
...
Originally was trying to copy a pps's scaling list when an sps's was
signaled.
Fixes: 8daa32963 ("vulkan/video: add helper to derive H264 scaling lists")
Signed-off-by: Charlie Turner <cturner@igalia.com >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28352 >
2024-03-27 00:19:32 +00:00
Yonggang Luo
1ac1c0843f
treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible
...
This is achieved by the following steps:
#ifndef DEBUG => #if !MESA_DEBUG
defined(DEBUG) => MESA_DEBUG
#ifdef DEBUG => #if MESA_DEBUG
This is done by replace in vscode
excludes
docs,*.rs,addrlib,src/imgui,*.sh,src/intel/vulkan/grl/gpu
These are safe because those files should keep DEBUG macro is already excluded;
and not directly replace DEBUG, as we have some symbols around it.
Use debug or NDEBUG instead of DEBUG in comments when proper
This for reduce the usage of DEBUG,
so it's easier migrating to MESA_DEBUG
These are found when migrating DEBUG to MESA_DEBUG,
these are all comment update, so it's safe
Replace comment /* DEBUG */ and /* !DEBUG */ with proper /* MESA_DEBUG */ or /* !MESA_DEBUG */ manually
DEBUG || !NDEBUG -> MESA_DEBUG || !NDEBUG
!DEBUG && NDEBUG -> !(MESA_DEBUG || !NDEBUG)
Replace the DEBUG present in comment with proper new MESA_DEBUG manually
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28092 >
2024-03-22 18:22:34 +00:00
Hans-Kristian Arntzen
1900617baf
wsi/wayland: Init outstanding list earlier.
...
Fixes a crash if swapchain free is called before the list is
initialized. This only happens when swapchain init fails, so
it is highly unlikely to happen in practical scenarios.
Fixes dEQP-VK.wsi.wayland.swapchain.simulate_oom.min_image_count.
Fixes: 0d51cd4808 ("wsi/wl: Improve fallback for present_wait.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10866
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Tested-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28325 >
2024-03-22 14:02:26 +00:00
Yonggang Luo
680e707534
treewide: Replace the invalid usage #if DEBUG with #ifdef DEBUG
...
This is done by find&replace and exclude the following folders in vscode
docs,*.rs,addrlib,src/imgui,*.sh,src/intel/vulkan/grl/gpu
This is a prepare step for re-working https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21946
These issues are found when to try switch DEBUG to MESA_DEBUG=0|1 in MR
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28092
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28083 >
2024-03-15 16:08:18 +00:00