David Heidelberg
1abd3a3051
ci/piglit: explicitely define we want GLX tests
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20788 >
2023-01-19 23:46:44 +00:00
Dylan Baker
bab3e2fbd9
meson: use the same workaround for setting 'lib' on windows
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20752 >
2023-01-19 23:06:07 +00:00
Dylan Baker
7aca37fc28
meson: use [] instead of 'lib for !windows name_prefix
...
This is a poorly documented value that uses the default value, but
doesn't emit a warning. In the future Meson will fix this.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20752 >
2023-01-19 23:06:07 +00:00
Dylan Baker
a79e6457d8
meson: use builtin support for reading version from a file
...
In meson 0.57 support was added for reading a version from a file to
meson natively, so we don't need this workaround anymore.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20752 >
2023-01-19 23:06:07 +00:00
Dylan Baker
c31629ee78
meson: remove version checks for < 0.59
...
Which is now required, so these are useless
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20752 >
2023-01-19 23:06:07 +00:00
Jesse Natalie
8c0531cf91
dzn: Enable multiview
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
ebf2604562
dzn: Implement multiview queries
...
This is a weird way to do queries, but in multiview, each query
takes up N slots, where N is the number of views. D3D doesn't do
it that way, and only has one result, which fortunately is a valid
way to do Vulkan queries. We just need to take care to zero out
the other view results, and make sure they get "signaled" when
the cmdbuf is submitted.
Note that it is invalid in D3D to use ResolveQueryData on query
slots that have never actually been begun/ended, so we zero out
the data by copying zeroes into the buffer. This probably could
be optimized but oh well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
4586b308d8
dzn: Handle draws and clears for multiview rendering
...
For draws, when we're emulating multiview, we need to loop them
and set up the right sysval. For clears, we always need to loop.
When not emulating, we also need to set up the right view instance
mask.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
6fca32cb38
dzn: Handle multiview pipeline creation
...
This handles both native and emulated pipeline creation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
ea9d092655
dzn: Put nir compilation options in a struct
...
The function signatures are getting unwieldly...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
3299ab04cb
spirv2dxil: Claim multiview support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
95a90b359a
spirv2dxil: Implement lowering for multiview
...
D3D's view instancing is an optional feature, and even when it's
supported, it only goes up to 4 views, where Vulkan requires a
minimum of 6 supported views. So, we need to have a path for handling
the cases where we can't use the native feature.
In this mode, pass the view ID as a runtime var. The caller is then
responsible for looping the draw calls and filling out the constant
buffer value correctly for each draw. When we get to the last pre-rast
stage, we'll additionally want to write out gl_Layer to select the
right RTV array slice. Lastly, for the fragment shader, if there's
any input attachments, those get loaded using the RTV slice instead
of the view ID. RTV slice input into the PS is done with a signature
entry (which must be output from the previous stage) rather than a
system value.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
2d56b3214d
spirv2dxil: Pass runtime conf struct to lower_shader_system_values
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
58488b9d85
microsoft/compiler: Support view instancing
...
This adds support for D3D12-native view instancing to the compiler.
Essentially, it's just the ability to load SV_ViewID (dx.op.viewID),
set the right capability, and fill out some more PSV data. Note that
the PSV data is currently garbage. Ideally, we'd fill out a proper
input -> output and viewID -> output dependency table, but AFAIK
this is only used to enforce D3D API validation, and drivers ignore
it, so it's less critical to get it right.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
4a440889a8
microsoft/compiler: Delete stale TODO comment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
e0024a844c
microsoft/compiler: Subpass textures are supposed to be arrays
...
When doing multiview subpass rendering, they get loaded with the
view/layer index.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
8924fe9fc3
microsoft/compiler: Delete incorrect implementation for load_layer_id
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Mike Blumenkrantz
a6f932639a
zink: simplify some dynarray concat descriptor code
...
TIL this exists
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20681 >
2023-01-19 20:26:44 +00:00
Mike Blumenkrantz
1329fec352
zink: consolidate semaphore creation where possible
...
all cacheable semaphores should now be using the cache
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20681 >
2023-01-19 20:26:44 +00:00
Mike Blumenkrantz
7399b2241f
zink: move semaphore caching to zink_reset_batch_state()
...
this makes semaphores available for reuse more rapidly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20681 >
2023-01-19 20:26:44 +00:00
Mike Blumenkrantz
b8252784cf
zink: add a binary semaphore cache
...
after being waited upon, a binary semaphore can be reused, which saves
tons of present-related ioctls when fps is high
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20681 >
2023-01-19 20:26:44 +00:00
Mike Blumenkrantz
283de45fd6
zink: add a util function for creating semaphores
...
annoying to keep copy/pasting this around
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20681 >
2023-01-19 20:26:44 +00:00
Mike Blumenkrantz
020db79340
zink: preserve present resources during async presentation
...
ensure that these have a lifetime great enough to be presented
fixes #7781
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20793 >
2023-01-19 20:00:14 +00:00
Eric Engestrom
482e215a67
ci/bare-metal: add more timestamps to help debugging issues
...
Acked-by: Emma Anholt <emma@anholt.net>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20792 >
2023-01-19 19:05:35 +00:00
Mike Blumenkrantz
7f0e213a57
zink: NV_compute_shader_derivatives
...
nothing complicated here
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12120 >
2023-01-19 18:00:22 +00:00
Julia Tatz
c71287e70c
zink: correct sparse bo mem_type_idx placement
...
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x01 has been incidently the
correct memory type index, but isn't guaranteed to be, which is why it
hasn't caused issues yet
Fixes: f9515d93
("zink: allocate/place memory using memoryTypeIndex directly")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20264 >
2023-01-19 17:20:00 +00:00
Julia Tatz
e20e8f2243
zink: trival renames heap_idx -> memoryTypeIndex
...
Trival renames to correctly identify vulkan memory type indices aren't
the same as zink heaps
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20264 >
2023-01-19 17:20:00 +00:00
Julia Tatz
f6d3a5755f
zink: zink_heap isn't 1-to-1 with memoryTypeIndex
...
Clarify the relationship between zink heaps and vulkan memory type
indices, and resolve the issues from mixing the two up.
Closes : #7588 , #7813
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20264 >
2023-01-19 17:20:00 +00:00
Dylan Baker
75276deebc
meson: Use feature option methods for xmlconfig
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
37463bedec
meson: use a feature option for shared-llvm
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
c52c2ed0f8
meson: use a feature option for egl
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
afa97e7468
meson: use a feature option for zstd
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
e3f60ea4a8
meson: use a feature option for xlib-lease
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
ce490a20e7
meson: use a feature option for power8
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
2653fe11c9
meson: use a feature option for lmsensors
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
202344e9a0
meson: use a feature option for libunwind
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
3f10a89180
meson: use a feature option for valgrind
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
d00c6e0fd7
meson: use a feature option for llvm
...
Still not as awesome as it should be, but an improvement over what we had
before.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
c40e1bb1d0
meson: use a feature option for gbm
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
6b334a8416
meson: use a feature option for gles2
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
ca615a4f16
meson: use a feature option for gles1
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
80eb78d7a4
meson: use a feature option for shared-glapi
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
98bd7cdb8c
meson: use a feature option for shader_cache
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
b200d547dc
meson: use a feature option for gallium-xa
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
6f66b89ac3
meson: use a feature option for gallium-va
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
eac76e433d
meson: use a feature option for gallium-vdpau
...
Which we can use with the require method, and use the feature itself
as the require argument to dependency call. All of this results in less
code
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
8dcc1f8311
meson: use a feature option for dri3
...
This removes the deprecated 'true' and 'false' options, and uses a meson
feature, requiring significantly less code.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
643af2cf83
meson: drop meson < 0.54 workaround
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
3c5e969144
meson: replace uses of ExternalProgram.path with .full_path
...
The former is deprecated
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00
Dylan Baker
92235e0c48
meson: replace has_exe_wrapper with can_run_host_binaries
...
The former is a deprecated alias for the latter, which more accurately
describes what the function does.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409 >
2023-01-19 16:29:03 +00:00