Konstantin Seurer
2cdec6238c
gallivm/nir/aos: Remove left over debug print
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
3d1072ec26
lavapipe: Implement VK_EXT_fragment_shader_interlock
...
This is a noop implementation because it is not possible for multiple
threads to access the same pixel during rasterization since it is
tiled.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
94c8a0e820
lavapipe: Implement KHR_shader_quad_control
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
f49ef38701
lavapipe: Advertise shaderResourceMinLod
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
a8b104d9bd
llvmpipe: Handle nir_tex_src_min_lod
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
db34e2d540
lavapipe: Advertise VK_EXT_shader_image_atomic_int64
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
2be75cfe63
lavapipe: Implement 64-bit image clears
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
3ecb89c35b
gallium: Handle 64bit textures in the SW clear fallback path
...
64bit clears only work with <=2 component formats because the two
integer clear values are interpreted as one 64bit integer.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
37f4ede8bf
llvmpipe: Disable 64-bit integer formats for vertex fetch
...
draw does not handle them.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
c05e42eaea
llvmpipe: Implement 64-bit image operations
...
LLVM has support and everything should be in place to support them.
There are just a few 32-bit assumptions that have to be removed.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Konstantin Seurer
d49de8f10a
util: Add util_format_is_int64
...
util_format_is_int64 returns true for pure 64-bit integer (sint64 and uint64) formats.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33628 >
2025-05-08 19:30:19 +00:00
Samuel Pitoiset
4b76d04f7f
radv: ignore conditional rendering with vkCmdTraceRays*
...
CmdTraceRays is neither a dispatch or a draw command which means it
shouldn't be affected by conditional rendering.
Fixes recent VKCTS coverage.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34868 >
2025-05-08 19:08:10 +00:00
Robert Mader
7b68e1da91
llvmpipe: Enable support for multiplanar formats
...
Stop supporting formats that would cause us to use
lp_build_fetch_subsampled_rgba_aos() for YCbCr->RGB conversion
and always go through the slower emulated paths using
mulitple sampler views.
This not only allows dmabuf imports with EXT_image_dma_buf_import
to succeed for common YCbCr formats, but also ensures hints like
EGL_YUV_COLOR_SPACE_HINT_EXT and EGL_SAMPLE_RANGE_HINT_EXT are
honored.
Signed-off-by: Robert Mader <robert.mader@collabora.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34775 >
2025-05-08 18:47:17 +00:00
Robert Mader
bf126d08ae
llvmpipe: Preparations for multiplanar formats
...
Use the appropriate util functions like many other drivers.
Signed-off-by: Robert Mader <robert.mader@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34775 >
2025-05-08 18:47:17 +00:00
Robert Mader
4051d4ef59
llvmpipe: Fix dmabuf import paths for DRM_FORMAT_YUYV variants
...
Right now llvmpipe only successfully supports single-plane formats,
limiting the number of supported YCbCr formats to a relatively small
number.
The implicit support for R8G8_R8B8 style subsampled RGB formats
causes the most common ones, YUYV and its variants, to chain up
to to lp_build_fetch_subsampled_rgba_aos() when importing (u)dmabufs
with EXT_image_dma_buf_import.
This code path currently has at least the following issues:
1. It doesn't support the YVYU/PIPE_FORMAT_R8B8_R8G8_UNORM and
VYUY/PIPE_FORMAT_B8R8_G8R8_UNORM, resulting in asserts/crashes.
2. The supported cases, YUYV and UYVY, end up with sub-optimal results
as they always return BT.601/narrow results, ignoring
EGL_YUV_COLOR_SPACE_HINT_EXT and EGL_SAMPLE_RANGE_HINT_EXT.
Stopping advertising support for those formats, as well as native support
for PIPE_FORMAT_YUYV and PIPE_FORMAT_UYVY, results in all four variants
taking fallback paths which happen to be much better supported.
An additional effect is that YUYV and UYVY are correctly advertised as
external only.
Cc: mesa-stable
Signed-off-by: Robert Mader <robert.mader@collabora.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34775 >
2025-05-08 18:47:17 +00:00
Gurchetan Singh
03a35024a6
gfxstream: make sure by default descriptor is negative
...
Otherwise, another valid fd may be closed.
Cc: mesa-stable
Reviewed-by: Aaron Ruby <aruby@qnx.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34885 >
2025-05-08 18:29:03 +00:00
Samuel Pitoiset
b7d2cdd2b4
radv: ignore radv_disable_dcc_stores on GFX12
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
It's not necessary because DCC is completely transparent to the
userspace driver. Also it's causing issues with scanout.
This fixes rendering issues with scanout in Indiana Jones.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12924
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34859 >
2025-05-08 17:17:28 +02:00
Sil Vilerino
154c3934d6
d3d12: Add missing offset to encode slice metadata in the get_feedback function
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 10:42:17 -04:00
Sil Vilerino
245be20fa1
d3d12: Add fallback to ID3D12VideoEncodeCommandList2 if ID3D12VideoEncodeCommandList4 not available in underlying OS
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
e30a534f29
d3d12: Add missing D3D12_VIDEO_USE_NEW_ENCODECMDLIST4_INTERFACE guards
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
be33edbdf1
d3d12: Set HEVC slice mode state before calling d3d12_video_encoder_negotiate_requested_features_and_d3d12_driver_caps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Pohsiang (John) Hsu
2939604248
d3d12: fix configuration flag for D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES
...
Signed-off-by: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
2ff18b2757
d3d12: Remove more nir dependencies when with_gallium_d3d12_graphics disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
27829d7ffe
d3d12: Do not build microsoft/compiler when graphics, gl or vk disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
5051140c32
d3d12: Report pipe_enc_cap_dirty_info.supports_require_sao/loop_filter_disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
64f1a365e5
pipe: Add pipe_enc_cap_dirty_info.supports_require_sao/loop_filter_disabled
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
922f8a7d07
d3d12: Implement H264/HEVC PIPE_VIDEO_SLICE_MODE_AUTO for gallium driver auto-partition
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
0ee4b77ec9
pipe: Add PIPE_VIDEO_SLICE_MODE_AUTO for gallium driver auto-partition
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
7dfc7e1b1d
d3d12: Reports pipe_enc_cap_dirty_info.supports_require_auto_slice_mode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
ffe9cec740
pipe: Add pipe_enc_cap_dirty_info.supports_require_auto_slice_mode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
1c31fc3091
d3d12: Implement GPU Input Motion vectors
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
143087dadd
d3d12: Make d3d12_video_encode_support_caps in/out param capEncoderSupportData1 pointer members an external allocation to outlive the stack of the method call
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
7312db4827
pipe: Add support for (GPU Input) motion maps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
2c193547ca
d3d12: Implement PIPE_VIDEO_CAP_ENC_QP_MAPS and CPU/GPU input QPMaps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
5810c39978
pipe: Add (GPU input) PIPE_VIDEO_CAP_ENC_QP_MAPS and input_gpu_qpmap GPU input support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
5cb4979875
d3d12: Add GPU input dirty rect support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
86d521db4f
pipe: Add (GPU input) PIPE_VIDEO_CAP_ENC_DIRTY_MAPS and pipe_enc_move_rects GPU input support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
064e07b26a
d3d12: deduplicate code with helpers: get_dirty_rects_support, get_move_rects_support, get_gpu_output_stats_support, get_sliced_encode_support
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
19cbb13255
d3d12: Support slice NAL prefixes on slice notifications mode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
df995c9631
d3d12: Implement multi-slice notifications
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
bedd423893
d3d12: Prepare d3d12_video_encoder_encode_bitstream for sliced encoding. Checked working with single slice buffer at this point
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
555a13661a
pipe: Add sliced encoding API and caps
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
c5f5ee41c8
d3d12: Add support for QP, SATD and RC bits output stats
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
25726509ff
pipe: Add PIPE_VIDEO_CAP_ENC_GPU_STATS_* and pipe_resource textures in H264/H265 encode pic params
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
56bbfb9598
d3d12: Add support for pipe_enc_move_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
7c490bb860
pipe: Add PIPE_VIDEO_CAP_ENC_MOVE_RECTS and pipe_enc_move_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
6d81bc0cdd
d3d12: Add support for pipe_enc_dirty_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
700c6fff58
pipe: Add PIPE_VIDEO_CAP_ENC_DIRTY_RECTS and pipe_enc_dirty_rects for H264/H265 encode
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
4e632ed891
d3d12: Use D3D12_FEATURE_VIDEO_ENCODER_SUPPORT2 when D3D12_VIDEO_USE_NEW_ENCODECMDLIST4_INTERFACE is set
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00
Sil Vilerino
731bc92e87
d3d12: Add #if guards for using new ID3D12VideoEncodeCommandList4
...
Reviewed-By: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34844 >
2025-05-08 14:17:22 +00:00