Lucas Fryzek
a4290558df
lavapipe: include drm_fourcc.h
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
18c345d840
lavapipe: rework mem handle type assert to handle dmabuf
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
6df7cf4cfc
lavapipe: EXT_queue_family_foreign
...
no-op for us
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
b3d3239fc1
llvmpipe: make it possible to import and bind unbacked resources
...
this reworks the existing import to just set some metadata and then
apply the memory region during bind with the assumption that something
else is doing the import
Also adjust ci failures for llvmpipe to represent multiplanar surfaces as
not supported
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
bfd8c12406
winsys: add more stride members to winsys_handle
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Mike Blumenkrantz
3727457884
winsys: add WINSYS_HANDLE_TYPE_UNBACKED
...
for use with lavapipe imports
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
07f25aa785
lavapipe: EXT_external_memory_dma_buf
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:21 +00:00
Lucas Fryzek
c1657de63c
lavapipe: support VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT
...
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
eb64f56b59
lavapipe: add a function for asserting external memory handle types
...
easier to expand upon
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
ce3851d469
llvmpipe: conditionally export PIPE_CAP_DMABUF
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
715b29d032
drisw: reuse kopper image extension vtable if modifiers/dmabuf is supported
...
this is handier than copying the same vtable again
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
d74ea2c117
llvmpipe: Implement dmabuf handling
...
For export this is handled through the use of the udmabuf driver to
allocate a dmabuf we can control from userspace. For import this is
handled through mmap-ing a dmabuf handle. Please note that you can
only mmap a dmabuf handle if its linear and the dmabuf handle was
created with matching read and write permissions.
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
7e5c5d313b
gallium: Add dmabuf arg to memory fd allocation API
...
Modify the memory fd allocation API to provide an argument to specify
if the allocating fd should be a dmabuf.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
e4ae665f93
winsys/drisw: implement dmabuf handling
...
this comes in two variants:
* util/memfd stuff with a header for metadata
* raw fd passing
for imports, both have to be tried since the import might be from a hw
device, but only the latter needs to be handled in winsys here
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
17abe3ecbd
winsys/drisw: implement displaytarget_create_mapped
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
73d75971ab
winsys/null: implement displaytarget_create_mapped
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
23206844eb
sw_winsys: add displaytarget_create_mapped
...
this is for creating displaytargets from already-imported fds
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Mike Blumenkrantz
6e43fbdb11
drisw: reorder image extensions
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Lucas Fryzek
2b4e56ca27
llvmpipe: explicitly reject (most) yuv formats
...
use gallium fallbacks here
Co-authored-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27805 >
2024-04-05 16:05:20 +00:00
Gert Wollny
0f97c2ec51
ntv: simplify increasing the number of dest componnets for sparse tex
...
store_def doesn't use the number of components, so we can drop the
checks for is_shador and simpliy increment the number of components.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
Gert Wollny
0aa6c4437c
ntv: pass def->index to store_def
...
The full definition is not needed, only the index.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
Gert Wollny
f73dc77cc7
ntv: remove store_ssa_def
...
move the code to store_def and drop store_ssa_def.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
Gert Wollny
5415abe396
ntv: remove store_def_raw
...
it was only forwarding to store_ssa_def
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28502 >
2024-04-05 15:28:12 +00:00
Corentin Noël
0624130933
zink: Remove ctx from zink_gfx_program
...
It is already available in the base structure.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28567 >
2024-04-05 08:01:01 +00:00
Corentin Noël
b0d680f54c
zink: Removed unused push_valid member
...
This member is only set but never used.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28567 >
2024-04-05 08:01:01 +00:00
Gert Wollny
6a0f3b1aa5
zink: another fence that is better off as a batch state
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28560 >
2024-04-05 07:29:04 +00:00
Gert Wollny
d862cb0024
zink: ctx->last_fence really wants to be a batch_state, so accomodate it
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28560 >
2024-04-05 07:29:03 +00:00
Jesse Natalie
05b66efb43
d3d12: Add a debug flag for loading WinPixGpuCapturer.dll
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28476 >
2024-04-04 21:37:41 +00:00
Jesse Natalie
116d0bf76b
d3d12: Set fractional var masks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
c21355260b
microsoft/compiler: Add a fractional var mask for variable sorting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
760effefc6
d3d12: Don't compile useless variants during shader creation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
6928686df9
d3d12: Remove variables instead of adding them for linking
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
dedbd6eea3
d3d12: Gather info less and before the final compilation steps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
c1e7d0598d
d3d12: Add primitive ID sysval to input bitmask (for GS in)
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
c8d435373e
d3d12: Use TES inputs rather than VS outputs for TCS variant key
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
580f801bac
d3d12: Capture always_active_io in varying data
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
5d0c77658c
d3d12: Forward front-facing for passthrough GS
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
d28a552e2a
d3d12: Explicitly add tess factor vars to tess signatures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
5c3e96f257
d3d12: Fix var splitting pass writemasks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
4a01ac1aa7
d3d12: Minor logging improvements
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
33735585a9
d3d12: Lower uniforms to UBO by nir options
...
Ubo0 is tricky. It exists if there were any uniforms when
lower_uniforms_to_ubo was run. If we try to run that ourselves,
it might be too late and DCE/remove_dead_variables might've been run,
which removed the uniforms and their accesses, without decrementing
num_uniforms. So we have no good way of knowing whether to declare
ubos from [0, N] or [1, N]. In practice this probably doesn't make
much of a difference but the logic is there so ¯\_(ツ)_/¯
If we use the nir option, then dead code isn't run, and num_uniforms
is a true indicator of whether ubo0 exists or not.
Note that this means we are no longer running this pass for internal
shaders that don't come from the GLSL compiler, so various places are
updated to query the nir info bit that's set by running this pass.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
e80cda0512
d3d12: Move some lowering passes to pre-variant
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:11 +00:00
Jesse Natalie
9702ddccc2
microsoft/compiler: Don't duplicate work from gather_info in var sorting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Jesse Natalie
d4a15a048b
microsoft/compiler: Expect front-facing var as an input
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28535 >
2024-04-04 20:29:10 +00:00
Mike Blumenkrantz
cfa955ed78
glx/egl: fix LIBGL_KOPPER_DISABLE
...
when set, this disables the use of vk swapchains and lets the dri frontend
manage buffers like any other driver
also document some kopper env vars
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28137 >
2024-04-04 13:18:00 +00:00
Mike Blumenkrantz
9fe9681db1
zink: assert that ntv interp handling isn't doing implicit component expansion
...
the number of components that ntv loads should always be the number of components
that the nir shader thinks it's loading
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28530 >
2024-04-04 12:13:44 +00:00
Mike Blumenkrantz
a7509a09ec
zink: fix add_derefs for partial interp loads of derefs
...
this needs to load the full deref and then swizzle, not interp a partial
deref
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28530 >
2024-04-04 12:13:44 +00:00
Mike Blumenkrantz
7deef8d7d2
zink: delete some maintenance5 psiz pruning
...
now that gallium is no longer adding these all over, they don't need
to be deleted
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28162 >
2024-04-04 11:26:17 +00:00
Mike Blumenkrantz
24453579ad
gallium: rework PIPE_CAP_POINT_SIZE_FIXED
...
this adds modes to the cap which allow drivers to opt out of the
frontend injecting gl_PointSize=1.0 into shaders while still getting
the uniform value uploaded
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28162 >
2024-04-04 11:26:17 +00:00
Jesse Natalie
201053bac1
d3d12: Fix d3d12_lower_triangle_strip if multiple vars are in a single location
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28562 >
2024-04-04 10:37:30 +00:00