Eric Engestrom
8ee6e3d8d6
ci/windows: add windows docker runner tags to .windows-docker-vs2019
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25183 >
2023-09-13 09:40:18 +00:00
Eric Engestrom
87281e7dd4
ci/windows: centralize definition of windows runners tags
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25183 >
2023-09-13 09:40:18 +00:00
Samuel Pitoiset
6a0fb8244a
zink/ci: update list of expected failures for POLARIS10/NAVI10
...
Fixed since piglit has been updated to
f7db20b03de6896d013826c0a731bc4417c1a5a0.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25199 >
2023-09-13 09:02:44 +00:00
Eric Engestrom
1c3097225a
ci: don't run everything just because a farm gets re-enabled
...
Let the other rules take care of this, as they did before
7cf13ea504 .
Fixes: 7cf13ea504 ("ci: skip containers & build jobs when disabling a farm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25151 >
2023-09-13 07:50:21 +00:00
Roman Stratiienko
907b96f1e7
v3dv: Enable VK API v1.2 for Android
...
Now as all features are in place, we can enable it.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14195 >
2023-09-13 07:27:21 +00:00
Roman Stratiienko
733909a637
v3dv/android: Add AHardwareBuffer support
...
The patch allows enabling Vulkan-based UI (SKIA, HWUI) on Android.
To enable - add 'TARGET_USES_VULKAN := true' into your device.mk file.
Passes:
- dEQP-VK.api.external.memory.android_hardware_buffer.*
- android.graphics.cts.BasicVulkanGpuTest
- android.graphics.cts.MediaVulkanGpuTest
Camera preview window works.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14195 >
2023-09-13 07:27:21 +00:00
Roman Stratiienko
def20cbb07
v3dv: Split v3dv_image_init to use layout setting logic separately
...
In AHB importing flow, the format is known at vkCreateImage step,
but buffer layout itself is not yet known. Buffer layout and modifier
must be updated later in vkBindImageMemory.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14195 >
2023-09-13 07:27:21 +00:00
Roman Stratiienko
1fc460b203
v3dv: Use format stored in vk_image and vk_image_view after init
...
Both vk_image_init and vk_image_view_init are smarter about format
settings and respect AHB extension needs.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14195 >
2023-09-13 07:27:21 +00:00
Roman Stratiienko
02fc0c7e6a
v3dv/android: Rework Android native buffer importing logic
...
Rework it to use the existing VkImageDrmFormatModifierExplicitCreateInfoEXT
logic to set the image's explicit layout.
The code turned out to be generic enough so it could be integrated into
vk_image.c in the future and removed from the v3dv code.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14195 >
2023-09-13 07:27:21 +00:00
Roman Stratiienko
179dc4a106
v3dv/android: Add a helper function to support explicit layouts
...
The function extracts buffer information from the gralloc and fills
the VkImageDrmFormatModifierExplicitCreateInfoEXT structure.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14195 >
2023-09-13 07:27:21 +00:00
Caio Oliveira
bc9277d81c
compiler/types: Move builtin type initialization to C
...
While both clang and gcc can handle designated initializers in C++,
MSVC only does with the C++20 support enabled. So move the initialization
of builtins to a C file.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:59 +00:00
Caio Oliveira
13d3efb2d1
compiler/types: Add workaround to use builtin_type_macros.h in C
...
In most versions of C, bool is defined as _Bool, so the macro for bool
gets generated with the wrong name.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
a67d4bde2c
compiler/types: Make struct glsl_type visible to C code
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
69ade9a344
compiler/types: Use a linear (arena) allocator for glsl_types
...
They are only deallocated in bulk all at once, which is exactly
the use case for the linear allocator.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
5d804e833c
compiler/types: Store builtin types directly as data
...
Remove constructors from glsl_type so it can be used as a
POD ("plain old data") struct, allowing the builtins to be
initialized directly in memory.
For other types, we now allocate them from glsl_type_cache's mem_ctx,
instead of using the global allocator.
As a side-effect of how the new helpers work, we can completely
create the mock key types for struct/interface lookup without
allocating any memory.
Note there's no `make_sampler_type` since all the sampler types
are created through direct initialization.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
492644dbef
compiler/types: Move static asserts about glsl_type to a central place
...
Take it out of the way to reduce noise when reworking (and eventually
removing) the constructor code.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
7815f3cd3e
compiler/types: Simplify clearing the glsl_type_cache
...
Since now all the data referenced by it is allocated with the cache's
mem_ctx, it is sufficient to just free it, and then reset the cache
state to be ready for a next initialization if it happens.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
8a62b669f2
compiler/types: Don't store a mem_ctx per type
...
These are used only by types created at runtime. Since those will follow
the lifetime of the glsl_type_cache, we can use its mem_ctx for all the types.
Without a mem_ctx, there's nothing to be done in the destructor, so remove it.
Note some keys are calculated by building a mock type, so we need to create
a tmp_ctx in some cases. We'll get rid of them in a later commit.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
4f1473ef97
compiler/types: Use type cache mem_ctx for hash tables
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
450c753f8d
compiler/types: Add a mem_ctx for the glsl_type_cache
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
74d85abf00
compiler/types: Move local cache details to implementation file
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
6bf0654f4a
compiler/types: Use designated initializer syntax to specify builtins
...
For now we use a temporary glsl_type_params struct, we will be able to
use the glsl_type directly once we make it a POD ("plain old data")
struct by getting rid of its constructors and destructors.
Note that since the name is statically allocated, there's no need to
strdup() it, deallocate it and also no need to have a mem_ctx.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
3a3318364b
compiler/types: Add extra level of macro to builtin_macros
...
This will make easier to transition from the macro calling a constructor
to the macro using designated initializers for a struct.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
3bdd2ba194
glsl: Don't create struct type builtins
...
Unlike for simpler types, struct types have a runtime cache, that's used to
ensure same type can be compared to same pointer. The existing code was bypassing
it, potentially breaking that invariant. One potential issue would be when
decoding/encoding types, the resulting type would be pointer-different than what
was stored.
This hasn't caused a visible issue, but the (incomplete) special handling for struct
builtins is in the way of other changes.
Change the code to use get_struct_instance(), and also only ever load those if the
parser need the types, since some of them are deprecated types that we might never
want to load.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
78af1d0d9a
glsl: Add missing glsl_types initialization to test_optpass
...
Will be needed when the builtin struct types will go through regular
initialization.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Caio Oliveira
f865905fac
compiler/types: Move GLSL specific builtin structs into glsl/
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25006 >
2023-09-13 05:16:58 +00:00
Emma Anholt
75bcebbb9e
ci/anv: Add testing on JSL.
...
ChromeOS is deprioritizing native GL drivers, so move testing on the
boards we maintain mostly over to anv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25155 >
2023-09-13 04:49:02 +00:00
Emma Anholt
d1758ed14c
ci/anv: Add a manual full VK run for TGL.
...
There's a bunch of noise over time in the anv-tgl-fails.txt from the set
of tests run changing and catching more of the failures. If we have a
nightly full run, we can keep things up to date more easily (as seen here,
where I finish filling out the modifiers crashes and drop a stale xfail).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25155 >
2023-09-13 04:49:02 +00:00
Emma Anholt
a8b8d96f20
ci/anv: Drop "-vk" from the job name.
...
It's already implied by "anv"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25155 >
2023-09-13 04:49:02 +00:00
Emma Anholt
7e812a122d
ci/anv: Drop DEQP_VER:vk setting.
...
It's only used if you don't set DEQP_SUITE.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25155 >
2023-09-13 04:49:02 +00:00
Dave Airlie
9eed03657d
clover: fix parameter arguments since recent translator changes.
...
The translator recently unmapped where const info gets stored,
and you can ask for the metadata to be passed through instead, do that
for now, until it's all resolved.
Fixes: api get_kernel_arg_info
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13449 >
2023-09-13 04:32:38 +00:00
Timothy Arceri
718699b9f0
glsl: remove field from gl_shader_program
...
We don't need to carry this value around, its only used a single time in
the linker. Instead simply extract it from gl_shader when we need it.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25105 >
2023-09-13 03:44:40 +00:00
Mike Blumenkrantz
06af083b93
glsl: check for xfb setting xfb info
...
this otherwise hits the default buffer=0 path, which is invalid
for drivers which don't support xfb
fixes #9763
cc: mesa-stable
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25082 >
2023-09-13 03:04:14 +00:00
Mike Blumenkrantz
a0ff56e334
zink: pass a stage mask to pipeline create functions
...
this is more accurate than checking random unionized zink_shader_object
members
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25087 >
2023-09-13 02:36:40 +00:00
Mike Blumenkrantz
e4bca6adf1
zink: use FAIL_ON_PIPELINE_COMPILE_REQUIRED for GPL path
...
it should be low-cost to check for a cached+optimized pipeline on first
compile, so do that to avoid unnecessary pipeline compiles
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25087 >
2023-09-13 02:36:40 +00:00
Mike Blumenkrantz
d79a615cf8
zink: remove an intermediate variable in pipeline compile selection
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25087 >
2023-09-13 02:36:40 +00:00
Mike Blumenkrantz
af760c7529
zink: add a flag for combined pipeline compile for doing FAIL_ON_PIPELINE_COMPILE_REQUIRED
...
not yet used
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25087 >
2023-09-13 02:36:40 +00:00
Mike Blumenkrantz
eacc44afb9
zink: slightly refactor pipeline compile selection
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25087 >
2023-09-13 02:36:40 +00:00
Mike Blumenkrantz
3802be6bac
lavapipe: KHR_map_memory2
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25181 >
2023-09-13 02:01:29 +00:00
Dave Airlie
f423d91790
spirv: use a pointer sized int type for opencl event_t
...
llvm16 + opaque pointers uses a ptr to event for the opaque type,
llvm 17 fixes this properly, but the fix doesn't look too backportable.
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25165 >
2023-09-13 00:22:51 +00:00
Juston Li
4e85c325ff
venus: implement VK_EXT_vertex_input_dynamic_state
...
requires a fixup to ignore static pVertexInputState if dynamic state
is used.
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25193 >
2023-09-13 00:00:39 +00:00
Juston Li
dfbe545a2c
venus: sync protocol for VK_EXT_vertex_input_dynamic_state
...
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25193 >
2023-09-13 00:00:39 +00:00
Caio Oliveira
3890c60584
compiler/types: Remove unused GLSL_TYPE_FUNCTION and related functions
...
GLSL doesn't use that type. SPIR-V used for a while but later started
relying on its own data structures and stopped using it.
See ca62e849d3 ("nir/spirv: Stop using glsl_type for function types")
If we were ever to add this one again, would be better to have a way to
grab a key for lookup that did not require allocations, right now that's
needed to inject return type as the first element in params array.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25160 >
2023-09-12 23:18:12 +00:00
Caio Oliveira
0f41da9160
compiler/types: Constify a couple of pointers in glsl_type
...
This will allow builtins to initialize those with read-only
data in the future.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25160 >
2023-09-12 23:18:12 +00:00
Caio Oliveira
412fe99ea6
compiler/types: Don't duplicate empty string
...
We can use the static version of the empty string. There's no worry
about freeing that string incorrectly since what is being deallocated
later is the whole mem_ctx.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25160 >
2023-09-12 23:18:12 +00:00
Caio Oliveira
247f940d37
compiler/types: Use right hash for function types
...
No bug really materialized since function types
aren't currently being used.
Fixes: 26f456203c ("compiler/types: Use hash table pre-hashed functions for type caching")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25160 >
2023-09-12 23:18:12 +00:00
Iván Briano
f1bc58cb7b
intel/fs: use ffsll so we don't explode on 32 bits
...
Fixes: b200e5765c ("anv: use a simpler MUE layout for fast linked libraries")
Tested-by: Mark Janes <markjanes@swizzler.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25192 >
2023-09-12 22:42:38 +00:00
Dave Airlie
147c17c28c
radv: don't emit event code on video queues.
...
I don't know if these can be done properly, but for now just don't
emit the standard cp stuff since it hangs the GPU.
"Fixes" dEQP-VK.video.synchronizat*
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25170 >
2023-09-12 21:42:28 +00:00
Hans-Kristian Arntzen
85192dcfc6
wsi/x11: Don't allow signal_present_id to rewind.
...
If present ID is 0, we should consider it to be ignored.
Avoids a theoretical problem when using IMMEDIATE mode with present ID
where some images don't set present ID.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25178 >
2023-09-12 19:46:56 +00:00
Hans-Kristian Arntzen
08fee190aa
wsi/x11: Fix potential deadlock in present ID.
...
If we observe IDLE before COMPLETE, another queued image may have
presented with present ID 0 which would break the check fixed in this
commit. The original fix for present_id / signal_present_id split
forgot to take this into account.
Fixes: 32f7ff2c20 ("Fix present ID signal when IDLE comes before
COMPLETE").
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25178 >
2023-09-12 19:46:56 +00:00