Mike Blumenkrantz [Thu, 1 Sep 2022 13:37:06 +0000 (09:37 -0400)]
zink: remove batch usage from sampler states
this was useless
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
Mike Blumenkrantz [Thu, 1 Sep 2022 13:34:41 +0000 (09:34 -0400)]
zink: remove batch tracking/usage from view types
instead of incurring all the overhead of tracking lifetimes for these,
it makes more sense to just let them delete whenever and then store
the vk object onto its parent image/buffer to be deleted when that gets
freed, as the parent object's lifetime will always be >= the view's lifetime
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
Mike Blumenkrantz [Thu, 1 Sep 2022 13:15:30 +0000 (09:15 -0400)]
zink: split out bind_sampler_states hook for drivers without EXT_non_seamless_cube_map
this incurs some overhead and is seldom used, so avoid having it in the codepath
at all if it won't be used
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
Mike Blumenkrantz [Thu, 1 Sep 2022 13:15:06 +0000 (09:15 -0400)]
zink bump batch state limit a bit
this should yield better throughput
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
Mike Blumenkrantz [Wed, 31 Aug 2022 19:38:29 +0000 (15:38 -0400)]
zink: rework batch tracking for resources
this uses a revised version of radeonsi's buffer list array to track
resources for lifetime/usage management, massively improving performance
by avoiding hash table lookups
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
Mike Blumenkrantz [Mon, 29 Aug 2022 15:40:50 +0000 (11:40 -0400)]
zink: defer more semaphore destruction
these have noticeable overhead, so handle them in the submit thread
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664>
Mike Blumenkrantz [Wed, 21 Sep 2022 13:07:35 +0000 (09:07 -0400)]
zink: rework flush_frontbuffer to always flush
previously this would no-op unacquired swapchains and then try to
execute a copy from the last-presented swapchain image to the current
image to avoid presenting garbage data
instead, just present garbage like the app requested
fixes #7165
Tested-By: Matti Hamalainen <ccr@tnsp.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18730>
Mike Blumenkrantz [Tue, 6 Sep 2022 16:14:01 +0000 (12:14 -0400)]
zink: check format compatibility up front when creating framebuffer surface
this avoids an assert in create_ivci while enforcing correct behavior
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18446>
Adam Jackson [Tue, 20 Sep 2022 18:42:23 +0000 (14:42 -0400)]
egl: Rewrite eglSetBlobCacheFuncsANDROID to use the standard macros
As the deleted comment hints, you just need the macro to expand to
return /* void */;
for things to work.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
Adam Jackson [Tue, 20 Sep 2022 18:14:51 +0000 (14:14 -0400)]
egl: Factor out the eglTerminate write-lock pattern
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
Adam Jackson [Tue, 20 Sep 2022 17:51:00 +0000 (13:51 -0400)]
egl: Untangle some spaghetti around _eglLookupDisplay
Only eglapi needs any of this.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
Adam Jackson [Tue, 20 Sep 2022 17:38:04 +0000 (13:38 -0400)]
egl: Promote _eglLock/UnlockDisplay to internal API
This reads a bit more cleanly than egl_lock/egl_unlock I think.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
Adam Jackson [Fri, 16 Sep 2022 17:06:18 +0000 (13:06 -0400)]
egl: Fix a bunch of maybe-uninitialized warnings
Fedora's gcc 12 is apparently not smart enough to deduce that these are
always initialized, so set some clear default values.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713>
Yonggang Luo [Wed, 21 Sep 2022 18:26:44 +0000 (18:26 +0000)]
Update 22.2.0.rst
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
Dylan Baker [Wed, 21 Sep 2022 16:24:29 +0000 (09:24 -0700)]
docs: Add calendar entries for 22.2 release.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
Dylan Baker [Wed, 21 Sep 2022 16:23:31 +0000 (09:23 -0700)]
docs: update calendar and link releases notes for 22.2.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
Dylan Baker [Wed, 21 Sep 2022 16:17:10 +0000 (09:17 -0700)]
docs: Add sha256 sum for 22.2.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
Dylan Baker [Wed, 21 Sep 2022 16:16:34 +0000 (09:16 -0700)]
docs: add release notes for 22.2.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726>
Yiwei Zhang [Thu, 22 Sep 2022 05:43:56 +0000 (05:43 +0000)]
venus: ensure to clear VkPipelineCreationFeedback::flags if needed
Fixes:
d0cb99e96a2 ("venus: Enable VK_EXT_pipeline_creation_feedback")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18741>
Emma Anholt [Wed, 21 Sep 2022 23:42:34 +0000 (16:42 -0700)]
turnip: Fix busy-waiting on syncobjs with OS_TIMEOUT_INFINITE.
I noticed that glmark2's glFinish()es in its offscreen rendering tests
under zink were spinning. When we passed -1 as the timeout for
drmSyncobjWait(), the kernel would immediately return ETIME.
Fixes:
0a82a26a1854 ("turnip: Porting to common implementation for timeline semaphore")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18739>
Leo Liu [Thu, 22 Sep 2022 16:53:25 +0000 (12:53 -0400)]
frontends/va: fix build error for vaSyncBuffer with older VA
return VA_STATUS_ERROR_TIMEDOUT;
| ^~~~~~~~~~~~~~~~~~~~~~~~
| VA_STATUS_ERROR_UNKNOWN
../src/gallium/frontends/va/buffer.c:434:14: note: each undeclared identifier is reported only once for each function it appears in
../src/gallium/frontends/va/buffer.c:436:22: error: ‘VA_TIMEOUT_INFINITE’ undeclared (first use in this function); did you mean ‘PIPE_TIMEOUT_INFINITE’?
436 | if (timeout_ns != VA_TIMEOUT_INFINITE)
| ^~~~~~~~~~~~~~~~~~~
| PIPE_TIMEOUT_INFINITE
Fixes:
229c6f79a ("frontends/va: Implement vaSyncBuffer")
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18760>
Rob Clark [Tue, 20 Sep 2022 21:15:43 +0000 (14:15 -0700)]
freedreno: Handle xfb invalidation
So using the same buffer for CPU writes and GPU writes might be kinda
unusual. But I noticed we were missing handling for the case while
debugging something unrelated.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18732>
Yonggang Luo [Thu, 22 Sep 2022 08:41:55 +0000 (16:41 +0800)]
lavapipe/meson: rename module_dir to icd_lib_path and swap two lines for consistence
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18747>
Yonggang Luo [Thu, 22 Sep 2022 08:42:32 +0000 (16:42 +0800)]
dzn: rename module_dir to icd_lib_path for consistence
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18747>
Yonggang Luo [Thu, 22 Sep 2022 03:58:57 +0000 (11:58 +0800)]
radv: Getting radeon_icd to be generated properly on win32
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18747>
Tapani Pälli [Thu, 22 Sep 2022 08:17:21 +0000 (11:17 +0300)]
mesa/st: fix a set_sampler_views call parameter order
Fixes:
e7b95619596 ("gallium: implement compute pbo download")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18745>
Rajnesh Kanwal [Thu, 1 Sep 2022 12:13:12 +0000 (13:13 +0100)]
pvr: Implement vkCmdNextSubpass API.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Tue, 30 Aug 2022 18:58:56 +0000 (19:58 +0100)]
pvr: Pass load-op struct instead of idx to support subpass load-ops.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Tue, 30 Aug 2022 14:50:15 +0000 (15:50 +0100)]
pvr: Add support to create subpass load ops.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Fri, 2 Sep 2022 14:15:42 +0000 (15:15 +0100)]
pvr: Add attachment resolve support.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Fri, 2 Sep 2022 14:12:06 +0000 (15:12 +0100)]
pvr: Add const to structs that are not supposed to be modified.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Tue, 23 Aug 2022 10:35:25 +0000 (11:35 +0100)]
pvr: Rename userpass_spawn to isp_userpass.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Wed, 3 Aug 2022 16:53:32 +0000 (17:53 +0100)]
pvr: Add missing output register write in pvr_CreateRenderPass2.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Thu, 4 Aug 2022 13:05:44 +0000 (14:05 +0100)]
pvr: Use ~0 for masks instead of ~0U.
This makes code future proof in case someone changes the type
and also avoids half masks (0x00000000FFFFFFFF) in case of
64bit variables.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reported-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Tue, 5 Jul 2022 11:26:37 +0000 (12:26 +0100)]
pvr: Add support for generating render pass hw setup data.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Tue, 2 Aug 2022 12:52:03 +0000 (13:52 +0100)]
pvr: Replace pvr_renderpass_surface_initop with VkAttachmentLoadOp.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Rajnesh Kanwal [Tue, 2 Aug 2022 12:27:35 +0000 (13:27 +0100)]
pvr: General reformatting and renaming some fields.
Mainly renaming driver_id and similar fields to index to
better represent what they contain.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707>
Eric Engestrom [Thu, 22 Sep 2022 12:33:29 +0000 (14:33 +0200)]
docs: update calendar and link releases notes for 22.1.7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752>
Eric Engestrom [Thu, 22 Sep 2022 12:58:07 +0000 (14:58 +0200)]
docs: add release notes for 22.1.7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752>
Eric Engestrom [Thu, 22 Sep 2022 12:33:27 +0000 (14:33 +0200)]
docs: update calendar and link releases notes for 22.1.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752>
Eric Engestrom [Thu, 22 Sep 2022 12:55:57 +0000 (14:55 +0200)]
docs: add release notes for 22.1.6
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752>
Daniel Schürmann [Wed, 24 Aug 2022 17:13:52 +0000 (19:13 +0200)]
aco/optimizer: change inverse_comparison in-place
This avoids creating a second comparison which is more expensive
than just using the existing s_not.
Totals from 1089 (0.81% of 134913) affected shaders: (GFX10.3)
VGPRs: 50472 -> 50184 (-0.57%)
CodeSize: 4724692 -> 4760824 (+0.76%); split: -0.03%, +0.79%
MaxWaves: 23964 -> 24012 (+0.20%)
Instrs: 859588 -> 859687 (+0.01%); split: -0.11%, +0.12%
Latency:
10674653 ->
10650353 (-0.23%); split: -0.41%, +0.18%
InvThroughput: 1752987 -> 1750238 (-0.16%); split: -0.20%, +0.04%
VClause: 20921 -> 20872 (-0.23%); split: -0.68%, +0.45%
SClause: 31417 -> 31550 (+0.42%)
Copies: 69428 -> 68738 (-0.99%); split: -1.52%, +0.53%
PreSGPRs: 48033 -> 49649 (+3.36%)
PreVGPRs: 44490 -> 43699 (-1.78%)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253>
Timur Kristóf [Sat, 20 Aug 2022 20:55:45 +0000 (22:55 +0200)]
aco: Change inverse-comparison optimization to work with s_not
Some time ago we stopped using s_andn2 with exec for boolean NOT.
The reasoning behind that change was that those booleans will be
always ANDed with exec when necessary.
This inhibited the inverse-comparison optimization in most cases
which is fixed by this patch.
Fossil DB stats on Navi 21:
Totals from 12251 (9.08% of 134913) affected shaders:
VGPRs: 801744 -> 802016 (+0.03%); split: -0.00%, +0.04%
SpillSGPRs: 8863 -> 8893 (+0.34%)
CodeSize:
100593244 ->
100370684 (-0.22%); split: -0.22%, +0.00%
MaxWaves: 204994 -> 204948 (-0.02%); split: +0.00%, -0.02%
Instrs:
18717001 ->
18668965 (-0.26%); split: -0.26%, +0.00%
Latency:
263255046 ->
262874896 (-0.14%); split: -0.16%, +0.02%
InvThroughput:
52760249 ->
52721736 (-0.07%); split: -0.08%, +0.01%
VClause: 329631 -> 329680 (+0.01%); split: -0.03%, +0.04%
SClause: 681563 -> 681435 (-0.02%); split: -0.02%, +0.00%
Copies: 1331612 -> 1372446 (+3.07%); split: -0.03%, +3.10%
Branches: 548325 -> 548301 (-0.00%)
PreSGPRs: 911317 -> 909700 (-0.18%)
PreVGPRs: 766279 -> 767070 (+0.10%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253>
Daniel Schürmann [Wed, 24 Aug 2022 13:12:40 +0000 (15:12 +0200)]
aco/optimizer: optimize s_and(exec, s_and(x, y)) more aggressively
It is enough if either of the two operands is respecting the
current exec mask.
Totals from 1680 (1.25% of 134913) affected shaders: (GFX10.3)
CodeSize: 3929436 -> 3922372 (-0.18%); split: -0.18%, +0.00%
Instrs: 730305 -> 728536 (-0.24%); split: -0.24%, +0.00%
Latency: 6839314 -> 6835154 (-0.06%); split: -0.07%, +0.01%
InvThroughput: 1371351 -> 1371267 (-0.01%); split: -0.01%, +0.00%
SClause: 32819 -> 32802 (-0.05%); split: -0.09%, +0.04%
Copies: 33264 -> 33271 (+0.02%); split: -0.01%, +0.03%
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253>
Daniel Schürmann [Wed, 24 Aug 2022 10:25:23 +0000 (12:25 +0200)]
aco/optimizer: do can_eliminate_and_exec() optimization later
This will allow to optimize s_not(v_cmp()) safely.
Totals from 1024 (0.76% of 134913) affected shaders: (GFX10.3)
CodeSize: 5695424 -> 5701860 (+0.11%); split: -0.00%, +0.11%
Scratch: 242688 -> 241664 (-0.42%)
Instrs: 1040656 -> 1041635 (+0.09%); split: -0.00%, +0.09%
Latency:
16842282 ->
16922790 (+0.48%); split: -0.06%, +0.54%
InvThroughput: 4772728 -> 4810868 (+0.80%); split: -0.10%, +0.90%
VClause: 20013 -> 20000 (-0.06%); split: -0.12%, +0.05%
Copies: 115057 -> 114384 (-0.58%); split: -1.22%, +0.63%
Branches: 34531 -> 34532 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 46263 -> 46267 (+0.01%)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253>
Erik Faye-Lund [Fri, 22 Jul 2022 09:35:10 +0000 (11:35 +0200)]
zink: assert on unnormalized texcoords
We do not support PIPE_CAP_TEXRECT, so let's assert in case something
tries to use it behind our back.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708>
Erik Faye-Lund [Tue, 20 Sep 2022 08:12:50 +0000 (10:12 +0200)]
mesa/st: always use normalized coords for samplers
Normalized samplers is the norm, and non-normalized samplers might cause
some drivers and hardware to have to bend over backwards a bit.
We're using TXF here anyway, so it doesn't really matter what we set
this state to. So let's always use normalized samplers instead of
always using non-normalized samplers. That makes things easier for
everyone.
Fixes:
e7b95619596 ("gallium: implement compute pbo download")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708>
Erik Faye-Lund [Tue, 20 Sep 2022 08:12:50 +0000 (10:12 +0200)]
mesa/st: always use normalized coords for samplers
Normalized samplers is the norm, and non-normalized samplers might cause
some drivers and hardware to have to bend over backwards a bit.
We're using TXF here anyway, so it doesn't really matter what we set
this state to. So let's always use normalized samplers instead of
always using non-normalized samplers. That makes things easier for
everyone.
Fixes:
41e093fc98c ("st/pbo: add a fast pbo download code-path")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708>
Erik Faye-Lund [Tue, 20 Sep 2022 08:12:50 +0000 (10:12 +0200)]
mesa/st: always use normalized coords for samplers
Normalized samplers is the norm, and non-normalized samplers might cause
some drivers and hardware to have to bend over backwards a bit.
We're using TXF here anyway, so it doesn't really matter what we set
this state to. So let's always use normalized samplers instead of
always using non-normalized samplers. That makes things easier for
everyone.
Fixes:
ed0e9862c56 ("st/mesa: implement PBO downloads for ReadPixels")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708>
Iago Toral Quiroga [Thu, 22 Sep 2022 09:19:07 +0000 (11:19 +0200)]
broadcom/compiler: increase V3D_MAX_BUFFE_RANGE to 2^30 bytes
This is the minimum required by KHR_maintenance4 and there is no
reason we can't support this.
The only restriction we have is that the texture state base
address (which comes into play with texel buffers) must be aligned
to 4-bits, but this doesn't restrict the size of the buffer, only
its base address, and we already have requirements for buffer
alignment that ensure this.
Fixes: dEQP-VK.api.info.vulkan1p3_limits_validation.khr_maintenance4
Fixes:
2c388c1d ('v3dv: set maxBufferSize property')
Acked-by: Eric Engestrom <eric@igalia.com>
Tested-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18748>
Jason Ekstrand [Fri, 15 Apr 2022 22:01:17 +0000 (17:01 -0500)]
iris: Support up to 128 textures
This is required for OpenCL. I kind-of hate this patch. I really don't
like GROUP_TEXTURE_LOW64 and GROUP_TEXTURE_HIGH64 but it was either that
or I had to make all the used bitsets 128 which would have mean making
them BITSET and that would have been a lot more churn.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442>
Jason Ekstrand [Fri, 15 Apr 2022 22:10:45 +0000 (17:10 -0500)]
iris: Support up to 64 images
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442>
Jason Ekstrand [Fri, 15 Apr 2022 21:29:52 +0000 (16:29 -0500)]
iris: Split max #defines for textures/samplers/images
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442>
Jason Ekstrand [Fri, 15 Apr 2022 21:23:50 +0000 (16:23 -0500)]
iris: Stop looking at textures_used for samplers
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442>
Laurent Bigonville [Thu, 17 Feb 2022 13:49:27 +0000 (14:49 +0100)]
Try to fix FTBFS on kfreebsd architecture
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4081
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15058>
Iván Briano [Wed, 21 Sep 2022 23:22:12 +0000 (16:22 -0700)]
intel/utrace: create the callback events for xfb trace points
Fixes:
79c2f9e7cbf ("anv: trace xfb queries")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7322
Tested-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18738>
Iván Briano [Wed, 21 Sep 2022 21:54:49 +0000 (14:54 -0700)]
anv: Set meshShaderQueries for mesh shader ext features
v2 (Jordan): More descriptive commit message and fixes tag
Fixes:
9701b9098f2 ("anv: enable EXT_mesh_shader")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18735>
Vinson Lee [Sun, 18 Sep 2022 17:45:22 +0000 (10:45 -0700)]
d3d12: Initialize d3d12_video_encoder_references_manager_hevc::m_current_frame_idx.
Fix defect reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member m_current_frame_idx is not
initialized in this constructor nor in any functions that it calls.
Fixes:
da11684e9db ("d3d12: Add HEVC Decode/Encode")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18654>
Yonggang Luo [Tue, 20 Sep 2022 15:10:22 +0000 (23:10 +0800)]
radv/r600/clover: Getting libelf to be optional
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18503>
Yonggang Luo [Thu, 1 Sep 2022 14:23:05 +0000 (22:23 +0800)]
util: Remove the macro DEBUG_GET_ONCE_FILE_OPTION
DEBUG_GET_ONCE_FILE_OPTION is not a truly once function, it's return a new
FILE* object when calling to it when the conditions are satisfied. And it's
functional can be replaced with DEBUG_GET_ONCE_OPTION properly.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18323>
Yonggang Luo [Thu, 1 Sep 2022 14:22:31 +0000 (22:22 +0800)]
util: getting get_tracefile in u_trace.c to be thread safe
Remove the usage of DEBUG_GET_ONCE_FILE_OPTION because it's not a truly
once function, it's return a new FILE* object when calling to it when
the conditions are satisfied.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7151
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18323>
Yonggang Luo [Wed, 31 Aug 2022 07:15:00 +0000 (15:15 +0800)]
util: Add util_call_once for optimize call to util_call_once_with_context out for hot path
For hot path, there is only need to a load instruction to load if initialized are true now,
So the extra cost is minimal.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18323>
Mike Blumenkrantz [Wed, 14 Sep 2022 14:04:59 +0000 (10:04 -0400)]
zink: add stencil border color clamping
fixes (tu):
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_uint_stencil
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_float_depth_uint_stencil_sample_stencil
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_unorm_depth_uint_stencil_sample_stencil
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598>
Mike Blumenkrantz [Wed, 14 Sep 2022 13:05:08 +0000 (09:05 -0400)]
zink: add srgb border color clamping
fixes (tu):
dEQP-GLES31.functional.texture.border_clamp.range_clamp.linear_srgb_color
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_srgb_color
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598>
Mike Blumenkrantz [Wed, 14 Sep 2022 12:32:04 +0000 (08:32 -0400)]
zink: add border color clamping when customBorderColorWithoutFormat isn't supported
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598>
Mike Blumenkrantz [Wed, 14 Sep 2022 12:31:43 +0000 (08:31 -0400)]
zink: move color channel clamping to zink_format.c
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598>
Mike Blumenkrantz [Wed, 14 Sep 2022 13:18:50 +0000 (09:18 -0400)]
zink: clamp z/s formats to aspected format for border colors
a z/s sampler with int border color is stencil and vice versa
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598>
Jason Ekstrand [Thu, 7 Apr 2022 22:51:04 +0000 (17:51 -0500)]
iris: Handle resource offsets in buffer copies
Fixes:
c5b22441f1c ("iris: Fix buffer -> buffer copy_region")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15811>
Jason Ekstrand [Thu, 7 Apr 2022 23:14:34 +0000 (18:14 -0500)]
iris: Fix more BO alignments
Fixes:
32c5d6d1dca2 ("iris: Add an alignment parameter to iris_bo_alloc()")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15811>
Jason Ekstrand [Thu, 7 Apr 2022 22:56:25 +0000 (17:56 -0500)]
iris: Use a larger alignment for buffer allocations
This is likely required for OpenGL buffer texture allocations. It'll
also make buffer copies faster if things are generally nicely aligned.
It's definitely required for OpenCL.
Fixes:
32c5d6d1dca2 ("iris: Add an alignment parameter to iris_bo_alloc()")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15811>
Alyssa Rosenzweig [Sun, 11 Sep 2022 16:03:15 +0000 (12:03 -0400)]
agx: Account for mask when writing registers
To use fewer registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
Alyssa Rosenzweig [Sun, 11 Sep 2022 16:02:32 +0000 (12:02 -0400)]
agx: Pass mask into ld/st_tile instructions
Properly handle render target formats with <4 components.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
Alyssa Rosenzweig [Sat, 10 Sep 2022 21:31:07 +0000 (17:31 -0400)]
agx: Ensure that the optimizer sees legitimate SSA
Expecting it to keep around unused definitions around is wishful. Add an
"anchoring" unit_test instruction to consume the results so they don't
have to be precoloured registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
Alyssa Rosenzweig [Sat, 10 Sep 2022 02:11:55 +0000 (22:11 -0400)]
agx: Test fsat+f2f16 together
Something I hit when mucking with this pass.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
Alyssa Rosenzweig [Sat, 10 Sep 2022 19:58:25 +0000 (15:58 -0400)]
agx: Validate immediates
In particular the new sizing rules.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
Alyssa Rosenzweig [Sat, 10 Sep 2022 19:57:43 +0000 (15:57 -0400)]
agx: Use 16-bit immediates
This is slightly more accurate in the IR, and means we instruction
select the current 16-bit size floating point instructions when all
non-immediate operands are 16-bit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
Alyssa Rosenzweig [Sat, 10 Sep 2022 20:24:26 +0000 (16:24 -0400)]
agx: Emit fewer combines for intrinsics
A bunch of the emitted combines were unnecessary, or unnecessarily
large. Fix the accounting now that combines are variable size.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
Alyssa Rosenzweig [Sat, 10 Sep 2022 01:26:39 +0000 (21:26 -0400)]
agx: Fix bfi_mask packing
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687>
José Roberto de Souza [Mon, 12 Sep 2022 17:10:07 +0000 (10:10 -0700)]
intel/dev: Adjust prefetch_size values for MTL engines
MTL has different CS prefetch sizes for each CS type.
So here replacing the cs_prefetch_size in intel_device_info struct
by a function that takes as argument the i915 engine class.
Fixes:
- func.cmd-buffer.small-secondaries.q0
- dEQP-VK.multiview.secondary_cmd_buffer.*
- Several other VK CTS tests that uses secondary_cmd_buffer
v2:
- renamed to intel_device_info_get_engine_prefetch() (Jordan)
v3:
- renamed to intel_device_info_calc_engine_prefetch()
- store each engine class prefetch in intel_device_info
BSpec: 45718
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18597>
Simon Zeni [Wed, 21 Sep 2022 17:47:45 +0000 (13:47 -0400)]
mesa/st: check egl image and texture target match before binding
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673>
Simon Zeni [Mon, 19 Sep 2022 15:21:32 +0000 (11:21 -0400)]
mesa: simplify st_egl_image binding process for texture storage
The dmabuf imported edge case is now properly handled.
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673>
Simon Zeni [Mon, 19 Sep 2022 11:16:49 +0000 (07:16 -0400)]
gallium: track if st_egl_image was created by a dmabuf
This is required by GL_EXT_EGL_image_storage to verify if the image is valid
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673>
Simon Zeni [Fri, 16 Sep 2022 18:23:50 +0000 (14:23 -0400)]
mesa: fix EXT_EGL_image_storage target validation
EXT_EGL_image_storage requires OpenGL 4.2, OpenGL ES 3.0, or
ARB_texture_storage, and EXT_direct_state_access or equivalent for
`EGLImageTargetTextureStorageEXT`.
`target` can be one of GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D,
GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY. On non-ES GL it can also be
GL_TEXTURE_1D or GL_TEXTURE_1D_ARRAY. If OES_EGL_image_external is supported,
it can also be GL_TEXTURE_EXTERNAL_OES.
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673>
Mike Blumenkrantz [Wed, 21 Sep 2022 13:21:42 +0000 (09:21 -0400)]
zink: don't always set VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT with gpl
this is illegal
Fixes:
86e4fcd9a92 ("zink: add a graphics pipeline library implementation")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18729>
Mike Blumenkrantz [Wed, 21 Sep 2022 13:20:27 +0000 (09:20 -0400)]
zink: don't call CmdBindVertexBuffers2EXT with no attributes
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18729>
Sil Vilerino [Wed, 21 Sep 2022 20:48:01 +0000 (16:48 -0400)]
d3d12: Make get_feedback return correctly on error when writing *size=0
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Wed, 21 Sep 2022 20:36:37 +0000 (16:36 -0400)]
d3d12: Extract into common variable for metadata slot calculation
Removes duplicated code using X modulo D3D12_VIDEO_ENC_METADATA_BUFFERS_COUNT
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Wed, 21 Sep 2022 20:29:55 +0000 (16:29 -0400)]
d3d12: Enhance get_feedback not enough buffers message
Indicate to increase if the env var D3D12_VIDEO_ENC_METADATA_BUFFERS_COUNT
if not enough buffers in the get_feedback function
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Wed, 21 Sep 2022 20:14:42 +0000 (16:14 -0400)]
d3d12: Fix redundant/inconsistent initializations for d3d12_video_encoder
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 18:48:53 +0000 (14:48 -0400)]
d3d12: Add output buffer to inflight resourceset
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 17:41:20 +0000 (13:41 -0400)]
d3d12: Make d3d12 encode operations async and do not block waiting
Separate d3d12_video_encode flush on end_frame (ie. vaEndPicture) from fence sync in get_feedback (ie. vaSyncSurface/Buffer)
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 16:58:21 +0000 (12:58 -0400)]
d3d12: Have d3d12_video_encoder keep separate references for enc, heap and dpb allocations for in flight resources
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 16:45:02 +0000 (12:45 -0400)]
d3d12: d3d12_video_encoder add reset() to prevent leaks on re-allocation
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 16:28:19 +0000 (12:28 -0400)]
d3d12: Encoder to use independent command allocators per in flight resource set
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 16:05:39 +0000 (12:05 -0400)]
d3d12: Move encode configuration and capabilities into separate structs
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 15:21:48 +0000 (11:21 -0400)]
d3d12: Change d3d12_video_encoder to not automatically flush
With PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME reported as 1, the frontend will call flush()
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Mon, 19 Sep 2022 22:25:57 +0000 (18:25 -0400)]
d3d12: Keep track of feedbacks from previous encode executions
Keep track of previous executed encodes with their metadata as vaSyncSurface
which queries this can be called with latency of several frames.
Fixes gstreamer encoding tearing issues
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 14:28:38 +0000 (10:28 -0400)]
d3d12: Export some util functions from d3d12_fence for d3d12 video
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 14:25:05 +0000 (10:25 -0400)]
d3d12: Change type of m_FenceValue to uint64_t in d3d12_video_encoder
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>
Sil Vilerino [Tue, 20 Sep 2022 14:18:36 +0000 (10:18 -0400)]
d3d12: Add support for PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION
Add support for PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION based on D3D12_VIDEO_ENC_ASYNC env variable defaulted to true
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715>