Commit graph

2513 commits

Author SHA1 Message Date
David Rosca
fa8e0ba3f7 frontends/va: Fix updating AV1 rate control parameters
Follow the same logic as H264.

Fixes: 5edbecb856 ("frontends/va: adding va av1 encoding functions")

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27481>
2024-02-06 21:07:28 +00:00
Eric Engestrom
58e7085cb0 lvp: enable VK_EXT_headless_surface on all platforms except Windows
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27448>
2024-02-06 20:32:39 +00:00
Max R
585836f2b5 d3d10umd: Rename d3d10sw target to d3d10umd
Other drivers such as virgl are planned to be added to d3d10... target.
As it is not a purely software driver d3d10sw target is renamed to
d3d10umd target to reflect that.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27416>
2024-02-05 16:59:22 +00:00
Max R
253968fc60 d3d10umd: Use flush_frontbuffer for Present
This is required to allow gallium drivers to display instead of
forcing software display. On llvmpipe/softpipe for sw display
gdi_sw_winsys will be used. While "hardware" drivers will be
able to call pfnPresentCb to present without CPU copy.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27333>
2024-01-31 20:04:38 +00:00
Max R
2b5e257690 winsys/gdi: Custom acquisition of hDC
In d3d10umd it is required to pass D3DKMT_PRESENT in
context_private of flush_frontbuffer, but wgl passes HDC in it.
To accomidate this when gdi_sw_winsys is created functions that
acquire and release hdc from context_private are passed.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Feng Jiang <jiangfeng@kylinos.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27333>
2024-01-31 20:04:38 +00:00
Mike Blumenkrantz
529e7ab975 lavapipe: RM2024 extension promotions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27296>
2024-01-31 18:17:55 +00:00
Daniel Schürmann
26c8f13ff5 vulkan: enable VK_KHR_shader_expect_assume
This implementation ignores the hints.

Acked-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27265>
2024-01-30 19:09:42 +00:00
Mike Blumenkrantz
f0aca7e7c9 lavapipe: KHR_dynamic_rendering_local_read
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27282>
2024-01-30 13:59:11 +00:00
Eric Engestrom
92c24191d4 tree-wide: use __normal_user() everywhere instead of writing the check manually
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27346>
2024-01-30 12:45:54 +00:00
Sil Vilerino
9710fca612 frontends/va, d3d12: Fix PIPE_VIDEO_SLICE_MODE_MAX_SLICE_SICE -> PIPE_VIDEO_SLICE_MODE_MAX_SLICE_SIZE typo
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27342>
2024-01-29 20:19:42 +00:00
David (Ming Qiang) Wu
b75ee1a067 frontends/va: make vlVaSyncSurface blocking
According to VA documentation, vaSyncSurface should block,
so this mapping function vlVaSyncSurface is changed to be blocking.
add vlVaSyncSurface2 which can be used as non-blocking version.

Signed-off-by: David (Ming Qiang) Wu <David.Wu3@amd.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27309>
2024-01-29 14:02:47 +00:00
Max R
68b3b1573b d3d10umd: Fix compilation
Commit eb20ef92 changed signature of cso_set_vertex_buffers.
But this change wasn't reflected in d3d10umd.
Update call to cso_set_vertex_buffers to fix it.

Fixes: eb20ef927 ("gallium: remove unbind_trailing_count from set_vertex_buffers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27238>
2024-01-27 18:18:35 +00:00
Karol Herbst
98dab1aad5 rusticl/program: mark NirKernelBuild as Send and Sync
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:39 +00:00
Karol Herbst
dd5b0adc79 rusticl/mem: make Mem Send/Sync by storing mapping ptrs as usize
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:39 +00:00
Karol Herbst
7f110ec63d rusticl/gl: mark GLCtxManager as Send + Sync
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:39 +00:00
Karol Herbst
b76fb0f01b rusticl/context: store SVM pointers as usize
This way Context becomes Send and Sync

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:39 +00:00
Karol Herbst
89868992ab rusticl/mesa: add thread-safe wrapper for pipe_image_views
In theory a pipe_image_view can outlive the pipe_resource it's referring
to, so we have to make sure that doesn't happen.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:38 +00:00
Karol Herbst
1166944124 rusticl/mesa/screen: convert to ThreadSafeCPtr
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:38 +00:00
Karol Herbst
ef8461b84f rusticl/mesa/device: convert to ThreadSafeCPtr
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:38 +00:00
Karol Herbst
a108bc9908 rusticl/util: add a wrapper around "thread-safe" C types
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26040>
2024-01-25 19:40:38 +00:00
Samuel Pitoiset
6725ad9f22 lavapipe: fix build since vulkan spec update
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27260>
2024-01-25 14:58:53 +01:00
Karol Herbst
eca4f0f632 rusticl/kernel: check that local size on dispatch doesn't exceed limits
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232>
2024-01-24 13:19:00 +00:00
Karol Herbst
2a0c15d5eb rust/spirv: fix clippy lint on unneeded late initialization
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232>
2024-01-24 13:19:00 +00:00
Karol Herbst
4dd404dd2e rusticl/meson: use rust_abi instead of rust_crate_type
`rust_crate_type` was deprecated in meson-1.3

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27232>
2024-01-24 13:19:00 +00:00
Tomeu Vizoso
af199e0ff0 teflon: Initial commit
Teflon is a Gallium frontend that TensorFlow Lite can load to delegate
the execution of operations in a neural network model.

See docs for more.

Acked-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25714>
2024-01-24 10:02:10 +00:00
Karol Herbst
459b522251 rusticl/program: add debug option to validate internal spirvs
Sometimes it's useful to validate SPIR-Vs we generate just to make sure
they are valid.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204>
2024-01-23 00:19:33 +00:00
Karol Herbst
6e70699e24 rusticl/program: add clc_validator_options helper function
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204>
2024-01-23 00:19:33 +00:00
Karol Herbst
421b73207c rusticl/spirv: use bool::then_Some inside SPIRVBin::link
This makes the code way easier to read :)

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204>
2024-01-23 00:19:33 +00:00
Karol Herbst
93c1eb112f rusticl/spirv: do not attempt to parse spirv after failed link
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204>
2024-01-23 00:19:33 +00:00
Karol Herbst
eb2afbc0e5 rusticl/program: rework debug logging option
the changes:
1. log also in clLinkProgram
2. log also if the operation succeeded to print warnings

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27204>
2024-01-23 00:19:33 +00:00
Martell Malone
3b62b0d096 nine: update verbiage for enduser device messages
Sometimes the gpu might not be a card, implying pci card.
It might be a soc or we might cpu emulate a device.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901>
2024-01-19 13:00:29 +00:00
Martell Malone
41107e4e64 nine: detect emulation fallback of d3d coordinates
When PIPE_CAP_CLIP_HALFZ is not available nine uses emulation.
This requires PIPE_CAP_NIR_COMPACT_ARRAYS or it fails like before

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901>
2024-01-19 13:00:29 +00:00
Martell Malone
60e3a43bfc nine: r500 under 20 fragments cap is a warning
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25901>
2024-01-19 13:00:29 +00:00
Konstantin Seurer
024f144165 lavapipe: Report the correct preprocess buffer size
There can be multiple sequences.

Fixes: 976dd26 ("lavapipe: NV_device_generated_commands")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019>
2024-01-18 22:50:00 +00:00
Konstantin Seurer
cc94ff081c lavapipe: Mark vertex elements dirty if the stride changed
Fixes: 7672545 ("gallium: move vertex stride to CSO")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019>
2024-01-18 22:50:00 +00:00
Konstantin Seurer
6d88c1bb6c lavapipe: Fix DGC vertex buffer handling
Fixes: 976dd26 ("lavapipe: NV_device_generated_commands")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27019>
2024-01-18 22:50:00 +00:00
Karol Herbst
36012af17f nir/printf: remove treat_doubles_as_floats
It is broken and clang uses fp32 for float constants if the fp64 extension
isn't enabled anyway. SPIRVs can't use fp64 constants with printf unless
they enable the Float64 cap, which also requires cl_khr_fp64 to be
supported.

So just remove it and rely on clang handling -cl-single-precision-constant
correctly, which at the moment doesn't seem to be the case, but we can
think about that once we plan to support cl_khr_fp64.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26541>
2024-01-18 13:16:13 +01:00
Karol Herbst
ea023ff5cd rusticl/kernel: no need to reset the scratch size anymore
The scratch size gets assigned by nir_lower_vars_to_explicit_types. Now
that we only run it once on temp memory, there is no need to reset the
value.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068>
2024-01-15 16:41:12 +00:00
Karol Herbst
835c208578 rusticl/kernel: add a few comments in regards to pass ordering
This is helpful as otherwise I'll keep doing the same mistakes trying to
fix anything in here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068>
2024-01-15 16:41:12 +00:00
Karol Herbst
f896659894 rusticl/kernel: run opt/lower_memcpy later to fix a crash
nir_opt_memcpy requires explicit types to function properly. So run them
after lowering vars to explicit types.

Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27068>
2024-01-15 16:41:12 +00:00
Marek Olšák
eb20ef9277 gallium: remove unbind_trailing_count from set_vertex_buffers
It should implicitly unbind all bound buffers after "count".
This also slightly simplies u_vbuf.

This is a cleanup suggested by:
    https://gitlab.freedesktop.org/mesa/mesa/-/issues/8142

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> (asahi & panfrost)
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26309>
2024-01-14 21:55:19 +00:00
Karol Herbst
75ff6ca470 clc: add support for the native spir-v backend
This allows us to easily test if the LLVM SPIR-V backend is viable to
replace the translator.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26955>
2024-01-12 21:58:37 +00:00
Mike Blumenkrantz
93b29cd40a lavapipe: delete extra descriptor buffer layout validation
this is no longer needed

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26952>
2024-01-12 00:44:09 +00:00
Yonggang Luo
0b9c96562b treewide: Use util_is_power_of_two_nonzero{64|_uintptr} when needed
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26909>
2024-01-11 16:45:57 +00:00
Mike Blumenkrantz
bf729063c3 lavapipe: use pushconstants2 for dgc
Fixes: ec656e1984 ("lavapipe: maint6")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26977>
2024-01-11 15:59:17 +00:00
Max R
75fa621d34 d3d10umd: Fix compilation
Fixes: 4eb4c9bba ("d3d10umd: use cso_context to set vertex buffers and elements")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10054
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26370>
2024-01-10 15:52:52 +00:00
Mike Blumenkrantz
ec656e1984 lavapipe: maint6
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26881>
2024-01-09 15:24:12 +00:00
Mike Blumenkrantz
89a7ee7393 lavapipe: maint6 descriptor stuff
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26881>
2024-01-09 15:24:12 +00:00
Karol Herbst
6024bbed3c rusticl/llvm: do not include spirv-tools/linker.hpp
This was left by mistake as we do not cache the linked output.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10404
Fixes: 299f949775 ("rusticl/meson: generate bindings for LLVM")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26943>
2024-01-09 05:12:53 +00:00
Karol Herbst
1e5bc00715 rusticl/program: add LLVM functions to cache timestamp
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24386>
2024-01-06 03:09:48 +00:00