platform/upstream/mesa.git
8 months agoanv: Move bo_alloc_flags_to_bo_flags() to backend
José Roberto de Souza [Mon, 4 Sep 2023 18:15:29 +0000 (11:15 -0700)]
anv: Move bo_alloc_flags_to_bo_flags() to backend

The bo_flags are i915 specific and should not be handled in common
code, so here adding it to backend as it is in the hot-path.

There still i915 bo_flags handling in anv_device_import_bo() that
will be handled in the next patch.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25044>

8 months agoanv: Move i915 specific code from common anv_gem.c
José Roberto de Souza [Mon, 4 Sep 2023 17:29:17 +0000 (10:29 -0700)]
anv: Move i915 specific code from common anv_gem.c

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25212>

8 months agoanv: Move i915 specific gem_set_caching to backend
José Roberto de Souza [Mon, 4 Sep 2023 17:14:23 +0000 (10:14 -0700)]
anv: Move i915 specific gem_set_caching to backend

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25212>

8 months agovk/enum2str: add more max enum vendors
Mike Blumenkrantz [Wed, 13 Sep 2023 10:13:28 +0000 (06:13 -0400)]
vk/enum2str: add more max enum vendors

Acked-by: Iván Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25210>

8 months agozink: Change zink_vertex_elements_hw_state::b.strides to VkDeviceSize
Sviatoslav Peleshko [Wed, 13 Sep 2023 14:37:34 +0000 (17:37 +0300)]
zink: Change zink_vertex_elements_hw_state::b.strides to VkDeviceSize

Currently zink_vertex_elements_hw_state::b.strides is an array of 32-bit
unsigned values, while CmdBindVertexBuffers2EXT expects an array of
VkDeviceSize (64-bit unsigned). Instead of converting them for a call,
just change the type of the array itself.

Fixes: 76725452 ("gallium: move vertex stride to CSO")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9765
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25208>

8 months agoaux/tc: fix renderpass tracking fb state clobber scenario
Mike Blumenkrantz [Mon, 11 Sep 2023 13:41:37 +0000 (09:41 -0400)]
aux/tc: fix renderpass tracking fb state clobber scenario

in a stream like:
* set fb state (A)
* flush
* set fb state (B)
* draw -> driver query
* flush

the "driver query" should return the tc info corresponding to the most
recent fb state (B). previously this would increment to C because
the flag for incrementing at the start of a batch was set

Fixes: 07017aa137b ("util/tc: implement renderpass tracking")

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25206>

8 months agointel: Sync xe_drm.h
José Roberto de Souza [Mon, 11 Sep 2023 21:02:28 +0000 (14:02 -0700)]
intel: Sync xe_drm.h

Sync xe_drm.h with commit e51e857ffad4 ("drm/xe/uapi: Remove useless max_page_size").
Most relevant changes are the removal of max_page_size from
drm_xe_query_mem_region and the typo fix in XE_QUERY_CONFIG_MIN_ALIGNMENT.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25162>

8 months agoci/zink: Add another conversion fail on a618
Daniel Stone [Wed, 13 Sep 2023 14:37:27 +0000 (15:37 +0100)]
ci/zink: Add another conversion fail on a618

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25207>

8 months agoci/radeonsi: Skip more really slow tests
Daniel Stone [Wed, 13 Sep 2023 14:33:31 +0000 (15:33 +0100)]
ci/radeonsi: Skip more really slow tests

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25207>

8 months agofreedreno: Include speedbin fallback in 740 chipid to fix probing
Konrad Dybcio [Wed, 13 Sep 2023 12:29:02 +0000 (14:29 +0200)]
freedreno: Include speedbin fallback in 740 chipid to fix probing

The kernel exposes CHIP_ID, which consists of:

[63:48] const 0 / reserved
[47:32] speedbin (default 0xffff)
[31:0 ] actual gpu chip ID

Fix the 740 chip id to make it probe correctly.
Keep the existing entry for the downstream KGSL driver.

Fixes: cd3719be7d09 ("freedreno: Fully define a730 and a740 device properties")
Reported-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25204>

8 months agoaux/tc: Add ASSERTED to unreferenced release build variable
Sil Vilerino [Wed, 13 Sep 2023 11:38:43 +0000 (07:38 -0400)]
aux/tc: Add ASSERTED to unreferenced release build variable

Fixes MSVC build error src/gallium/auxiliary/util/u_threaded_context.c(3184): error C4189: 'size': local variable is initialized but not referenced

Fixes: 51ad269198e ("aux/tc: handle stride mismatch during rp-optimized subdata")

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25203>

8 months agopvr: Use correct index when writing query availability data
Vlad Schiller [Mon, 4 Sep 2023 11:24:05 +0000 (12:24 +0100)]
pvr: Use correct index when writing query availability data

The availability data would be written to a different location in
the user provided buffer depending on whether the query for a given
index was available. Fix this by using fixed indicies when writing
the query and availability data.

Fixes conformance failures seen in the
dEQP-VK.query_pool.occlusion_query.get_reset_* test group when
implementing VK_EXT_host_query_reset.

Fixes: 279c7c6d5ad ("pvr: Implement vkGetQueryPoolResults API.")
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25116>

8 months agopanfrost: delete stale editorconfig file
Erik Faye-Lund [Mon, 11 Sep 2023 10:29:48 +0000 (12:29 +0200)]
panfrost: delete stale editorconfig file

We no longer use 8-space indent in panfrost, so let's remove the
needless .editorconfig, and instead inherit the 3-space indent from the
toplevel .editorconfig.

Fixes: 0afd691f296 ("panfrost: clang-format the tree")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25147>

8 months agozink: don't warn about missing scalarBlockLayout on v3dv
Mike Blumenkrantz [Wed, 13 Sep 2023 10:21:06 +0000 (06:21 -0400)]
zink: don't warn about missing scalarBlockLayout on v3dv

technically v3dv doesn't support the "full" feature, but it does support
enough of it to run zink without any issues

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25201>

8 months agoci/windows: drop build rules from test jobs
Eric Engestrom [Tue, 12 Sep 2023 17:08:15 +0000 (18:08 +0100)]
ci/windows: drop build rules from test jobs

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25183>

8 months agoci/windows: add windows docker runner tags to .windows-docker-vs2019
Eric Engestrom [Tue, 12 Sep 2023 18:33:52 +0000 (19:33 +0100)]
ci/windows: add windows docker runner tags to .windows-docker-vs2019

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25183>

8 months agoci/windows: centralize definition of windows runners tags
Eric Engestrom [Tue, 12 Sep 2023 18:32:07 +0000 (19:32 +0100)]
ci/windows: centralize definition of windows runners tags

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25183>

8 months agozink/ci: update list of expected failures for POLARIS10/NAVI10
Samuel Pitoiset [Wed, 13 Sep 2023 06:52:49 +0000 (08:52 +0200)]
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>

8 months agoci: don't run everything just because a farm gets re-enabled
Eric Engestrom [Mon, 11 Sep 2023 13:39:06 +0000 (14:39 +0100)]
ci: don't run everything just because a farm gets re-enabled

Let the other rules take care of this, as they did before
7cf13ea504e7e5be097e.

Fixes: 7cf13ea504e7e5be097e ("ci: skip containers & build jobs when disabling a farm")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25151>

8 months agov3dv: Enable VK API v1.2 for Android
Roman Stratiienko [Mon, 15 Aug 2022 15:20:21 +0000 (18:20 +0300)]
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>

8 months agov3dv/android: Add AHardwareBuffer support
Roman Stratiienko [Sat, 2 Sep 2023 19:29:05 +0000 (22:29 +0300)]
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>

8 months agov3dv: Split v3dv_image_init to use layout setting logic separately
Roman Stratiienko [Sat, 9 Sep 2023 21:12:27 +0000 (00:12 +0300)]
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>

8 months agov3dv: Use format stored in vk_image and vk_image_view after init
Roman Stratiienko [Sat, 9 Sep 2023 20:53:25 +0000 (23:53 +0300)]
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>

8 months agov3dv/android: Rework Android native buffer importing logic
Roman Stratiienko [Sat, 2 Sep 2023 19:15:33 +0000 (22:15 +0300)]
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>

8 months agov3dv/android: Add a helper function to support explicit layouts
Roman Stratiienko [Sat, 9 Sep 2023 18:26:05 +0000 (21:26 +0300)]
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>

8 months agocompiler/types: Move builtin type initialization to C
Caio Oliveira [Thu, 7 Sep 2023 01:25:46 +0000 (18:25 -0700)]
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>

8 months agocompiler/types: Add workaround to use builtin_type_macros.h in C
Caio Oliveira [Sun, 3 Sep 2023 04:19:56 +0000 (21:19 -0700)]
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>

8 months agocompiler/types: Make struct glsl_type visible to C code
Caio Oliveira [Thu, 31 Aug 2023 05:32:13 +0000 (22:32 -0700)]
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>

8 months agocompiler/types: Use a linear (arena) allocator for glsl_types
Caio Oliveira [Fri, 1 Sep 2023 07:41:25 +0000 (00:41 -0700)]
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>

8 months agocompiler/types: Store builtin types directly as data
Caio Oliveira [Fri, 1 Sep 2023 07:41:25 +0000 (00:41 -0700)]
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>

8 months agocompiler/types: Move static asserts about glsl_type to a central place
Caio Oliveira [Fri, 1 Sep 2023 07:36:29 +0000 (00:36 -0700)]
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>

8 months agocompiler/types: Simplify clearing the glsl_type_cache
Caio Oliveira [Fri, 1 Sep 2023 06:59:03 +0000 (23:59 -0700)]
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>

8 months agocompiler/types: Don't store a mem_ctx per type
Caio Oliveira [Thu, 31 Aug 2023 18:59:38 +0000 (11:59 -0700)]
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>

8 months agocompiler/types: Use type cache mem_ctx for hash tables
Caio Oliveira [Thu, 31 Aug 2023 06:57:54 +0000 (23:57 -0700)]
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>

8 months agocompiler/types: Add a mem_ctx for the glsl_type_cache
Caio Oliveira [Thu, 31 Aug 2023 06:54:04 +0000 (23:54 -0700)]
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>

8 months agocompiler/types: Move local cache details to implementation file
Caio Oliveira [Thu, 31 Aug 2023 06:34:40 +0000 (23:34 -0700)]
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>

8 months agocompiler/types: Use designated initializer syntax to specify builtins
Caio Oliveira [Fri, 1 Sep 2023 05:28:29 +0000 (22:28 -0700)]
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>

8 months agocompiler/types: Add extra level of macro to builtin_macros
Caio Oliveira [Fri, 1 Sep 2023 05:22:52 +0000 (22:22 -0700)]
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>

8 months agoglsl: Don't create struct type builtins
Caio Oliveira [Mon, 11 Sep 2023 21:34:21 +0000 (14:34 -0700)]
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>

8 months agoglsl: Add missing glsl_types initialization to test_optpass
Caio Oliveira [Wed, 13 Sep 2023 02:15:23 +0000 (19:15 -0700)]
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>

8 months agocompiler/types: Move GLSL specific builtin structs into glsl/
Caio Oliveira [Thu, 7 Sep 2023 00:28:32 +0000 (17:28 -0700)]
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>

8 months agoci/anv: Add testing on JSL.
Emma Anholt [Wed, 30 Aug 2023 16:13:31 +0000 (09:13 -0700)]
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>

8 months agoci/anv: Add a manual full VK run for TGL.
Emma Anholt [Wed, 30 Aug 2023 18:58:53 +0000 (11:58 -0700)]
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>

8 months agoci/anv: Drop "-vk" from the job name.
Emma Anholt [Thu, 31 Aug 2023 18:33:42 +0000 (11:33 -0700)]
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>

8 months agoci/anv: Drop DEQP_VER:vk setting.
Emma Anholt [Wed, 30 Aug 2023 16:25:59 +0000 (09:25 -0700)]
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>

8 months agoclover: fix parameter arguments since recent translator changes.
Dave Airlie [Tue, 10 Aug 2021 04:53:53 +0000 (14:53 +1000)]
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>

8 months agoglsl: remove field from gl_shader_program
Timothy Arceri [Fri, 8 Sep 2023 03:36:04 +0000 (13:36 +1000)]
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>

8 months agoglsl: check for xfb setting xfb info
Mike Blumenkrantz [Wed, 6 Sep 2023 14:08:35 +0000 (10:08 -0400)]
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>

8 months agozink: pass a stage mask to pipeline create functions
Mike Blumenkrantz [Wed, 6 Sep 2023 16:25:18 +0000 (12:25 -0400)]
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>

8 months agozink: use FAIL_ON_PIPELINE_COMPILE_REQUIRED for GPL path
Mike Blumenkrantz [Wed, 6 Sep 2023 14:33:04 +0000 (10:33 -0400)]
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>

8 months agozink: remove an intermediate variable in pipeline compile selection
Mike Blumenkrantz [Wed, 6 Sep 2023 14:31:48 +0000 (10:31 -0400)]
zink: remove an intermediate variable in pipeline compile selection

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25087>

8 months agozink: add a flag for combined pipeline compile for doing FAIL_ON_PIPELINE_COMPILE_REQ...
Mike Blumenkrantz [Wed, 6 Sep 2023 14:30:10 +0000 (10:30 -0400)]
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>

8 months agozink: slightly refactor pipeline compile selection
Mike Blumenkrantz [Wed, 6 Sep 2023 14:28:08 +0000 (10:28 -0400)]
zink: slightly refactor pipeline compile selection

no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25087>

8 months agolavapipe: KHR_map_memory2
Mike Blumenkrantz [Tue, 12 Sep 2023 16:10:13 +0000 (12:10 -0400)]
lavapipe: KHR_map_memory2

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25181>

8 months agospirv: use a pointer sized int type for opencl event_t
Dave Airlie [Mon, 11 Sep 2023 06:53:55 +0000 (16:53 +1000)]
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>

8 months agovenus: implement VK_EXT_vertex_input_dynamic_state
Juston Li [Mon, 7 Aug 2023 22:34:07 +0000 (15:34 -0700)]
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>

8 months agovenus: sync protocol for VK_EXT_vertex_input_dynamic_state
Juston Li [Tue, 12 Sep 2023 20:43:58 +0000 (13:43 -0700)]
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>

8 months agocompiler/types: Remove unused GLSL_TYPE_FUNCTION and related functions
Caio Oliveira [Fri, 1 Sep 2023 17:50:31 +0000 (10:50 -0700)]
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 ca62e849d3c ("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>

8 months agocompiler/types: Constify a couple of pointers in glsl_type
Caio Oliveira [Fri, 1 Sep 2023 06:45:02 +0000 (23:45 -0700)]
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>

8 months agocompiler/types: Don't duplicate empty string
Caio Oliveira [Fri, 1 Sep 2023 07:16:04 +0000 (00:16 -0700)]
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>

8 months agocompiler/types: Use right hash for function types
Caio Oliveira [Fri, 1 Sep 2023 17:14:13 +0000 (10:14 -0700)]
compiler/types: Use right hash for function types

No bug really materialized since function types
aren't currently being used.

Fixes: 26f456203ca ("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>

8 months agointel/fs: use ffsll so we don't explode on 32 bits
Iván Briano [Tue, 12 Sep 2023 21:40:36 +0000 (14:40 -0700)]
intel/fs: use ffsll so we don't explode on 32 bits

Fixes: b200e5765cb ("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>

8 months agoradv: don't emit event code on video queues.
Dave Airlie [Tue, 12 Sep 2023 03:30:12 +0000 (13:30 +1000)]
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>

8 months agowsi/x11: Don't allow signal_present_id to rewind.
Hans-Kristian Arntzen [Tue, 12 Sep 2023 12:31:14 +0000 (14:31 +0200)]
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>

8 months agowsi/x11: Fix potential deadlock in present ID.
Hans-Kristian Arntzen [Tue, 12 Sep 2023 12:28:18 +0000 (14:28 +0200)]
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: 32f7ff2c204b ("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>

8 months agovenus: fix a device memory report leak
Yiwei Zhang [Tue, 12 Sep 2023 08:36:50 +0000 (01:36 -0700)]
venus: fix a device memory report leak

Fixes: f70a08bc60f ("venus: handle device memory report requests")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25176>

8 months agointel/genxml: update PIPE_CONTROL instruction for dg2
Rohan Garg [Fri, 8 Sep 2023 15:10:37 +0000 (17:10 +0200)]
intel/genxml: update PIPE_CONTROL instruction for dg2

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25124>

8 months agoRevert "frontends/va: Also map VAImageBufferType for reading"
Leo Liu [Fri, 8 Sep 2023 18:58:43 +0000 (14:58 -0400)]
Revert "frontends/va: Also map VAImageBufferType for reading"

This reverts commit 12a4f2c1328f31954f9bf70d255f9d3e7bb010d4.

With PIPE_MAP_READ_WRITE and derived image, the encoder will copy
to and from staging buffer for each frame, which caused performance
degradation, even worse than putImage.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25128>

8 months agoci_run_n_monitor: add comment to explain "MR > fork" logic
Eric Engestrom [Tue, 12 Sep 2023 17:54:20 +0000 (18:54 +0100)]
ci_run_n_monitor: add comment to explain "MR > fork" logic

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25186>

8 months agoci: remove duplicate fork pipeline in MRs
Eric Engestrom [Fri, 8 Sep 2023 18:15:15 +0000 (19:15 +0100)]
ci: remove duplicate fork pipeline in MRs

The argument for keeping this duplicate was to not affect
the ci_run_n_monitor script (which by default picked the pipeline in the
user's fork), but the script already supported specifying
a `--pipeline-url` to support that use-case, and it now automatically
picks the MR pipeline if there is no fork pipeline.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25154>

8 months agobin/ci_run_n_monitor: automatically pick MR pipelines when they exist
Eric Engestrom [Mon, 11 Sep 2023 13:58:17 +0000 (14:58 +0100)]
bin/ci_run_n_monitor: automatically pick MR pipelines when they exist

When an MR has been created, we usually want to run the jobs in the MR
pipeline so that reviewers see that things work as expected.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25153>

8 months agobin/ci_run_n_monitor: print in which repo we're looking for the pipeline
Eric Engestrom [Mon, 11 Sep 2023 13:58:17 +0000 (14:58 +0100)]
bin/ci_run_n_monitor: print in which repo we're looking for the pipeline

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25153>

8 months agonir: fix invalid sampler search by texture id
Illia Polishchuk [Mon, 11 Sep 2023 13:10:57 +0000 (16:10 +0300)]
nir: fix invalid sampler search by texture id

Sampler id cannot be mapped to a uniform object location

Fixes: 1a8dd84ec61 ("nir: Propagate the type sampler type change to the used variable.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9793

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25145>

8 months agozink: move find_sampler_var from zink to nir core
Illia Polishchuk [Mon, 11 Sep 2023 13:08:31 +0000 (16:08 +0300)]
zink: move find_sampler_var from zink to nir core

Avoid code duplication because it need to be used in following commits

Fixes: 1a8dd84ec61 ("nir: Propagate the type sampler type change to the used variable.")

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25145>

8 months agollvmpipe: make sure to initialize the lp_setup_context slots with the default values
Corentin Noël [Mon, 11 Sep 2023 14:53:03 +0000 (16:53 +0200)]
llvmpipe: make sure to initialize the lp_setup_context slots with the default values

As 0 is an actual valid value, this can lead to issues when we actually want to use them.

This fixes `spec@arb_cull_distance@basic-cull-3` crashes for instance.

Cc: mesa-stable
Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25152>

8 months agoradv: use shortcut_1d_workgroup_id
Rhys Perry [Fri, 8 Sep 2023 10:36:00 +0000 (11:36 +0100)]
radv: use shortcut_1d_workgroup_id

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24882>

8 months agoradv: optimize mesh workgroup ID using ts_mesh_dispatch_dimensions
Rhys Perry [Wed, 23 Aug 2023 18:47:52 +0000 (19:47 +0100)]
radv: optimize mesh workgroup ID using ts_mesh_dispatch_dimensions

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24882>

8 months agonir/lower_system_values change num_workgroups to uint32_t
Rhys Perry [Fri, 8 Sep 2023 14:52:21 +0000 (15:52 +0100)]
nir/lower_system_values change num_workgroups to uint32_t

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24882>

8 months agozink: ci updates
Mike Blumenkrantz [Tue, 12 Sep 2023 12:53:41 +0000 (08:53 -0400)]
zink: ci updates

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25180>

8 months agoaux/tc: fix address calc for segmented texture subdata
Mike Blumenkrantz [Tue, 12 Sep 2023 12:49:52 +0000 (08:49 -0400)]
aux/tc: fix address calc for segmented texture subdata

this fixes all dimension/array uses for the rp tracking path

Fixes: 51ad269198e ("aux/tc: handle stride mismatch during rp-optimized subdata")

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25180>

8 months agoaux/tc: fix staging buffer sizing for texture_subdata
Mike Blumenkrantz [Tue, 12 Sep 2023 12:48:48 +0000 (08:48 -0400)]
aux/tc: fix staging buffer sizing for texture_subdata

this is the size of the src data, not the dst data

Fixes: 51ad269198e ("aux/tc: handle stride mismatch during rp-optimized subdata")

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25180>

8 months agov3dv: don't assume that bound descriptors have been written
Iago Toral Quiroga [Tue, 12 Sep 2023 08:09:12 +0000 (10:09 +0200)]
v3dv: don't assume that bound descriptors have been written

The pipeline layout lifetime tests in CTS allocate some descriptors
and bind them to the command buffer without actually ever writing
valid resources to them since they never actually execute the command
buffers, so we want to be careful at bind time and not assume the
resources exist.

Fixes crashes in dEQP-VK.api.pipeline.pipeline_layout.lifetime.*

Fixes: 95f881adbd ('v3dv: add support for sampling simple 2D linear textures')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25172>

8 months agozink/ci: document more flakes seen on vangogh
Martin Roukala (né Peres) [Fri, 8 Sep 2023 05:30:15 +0000 (08:30 +0300)]
zink/ci: document more flakes seen on vangogh

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25107>

8 months agozink/ci: automatically reboot when hitting a kernel BUG on vangogh
Martin Roukala (né Peres) [Fri, 8 Sep 2023 04:44:45 +0000 (07:44 +0300)]
zink/ci: automatically reboot when hitting a kernel BUG on vangogh

By rebooting immediately after hitting "BUG", we'll re-try immediately
running the job without first needing to hit the 30 minutes timeout.

Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25107>

8 months agodocs/features: cl_khr_3d_image_writes needs driver support
Karol Herbst [Tue, 12 Sep 2023 08:22:51 +0000 (10:22 +0200)]
docs/features: cl_khr_3d_image_writes needs driver support

And asahi doesn't support it.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25174>

8 months agoradv: fix capturing RGP on RDNA3 with more than one Shader Engine
Samuel Pitoiset [Tue, 12 Sep 2023 07:05:48 +0000 (09:05 +0200)]
radv: fix capturing RGP on RDNA3 with more than one Shader Engine

PKT3_RESET_FILTER_CAM_S seems required on GFX11. Otherwise, capturing
with more than on SE can hang.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25156>

8 months agoradv: fix emitting SQTT userdata when CAM is needed
Samuel Pitoiset [Mon, 11 Sep 2023 18:09:45 +0000 (20:09 +0200)]
radv: fix emitting SQTT userdata when CAM is needed

The third parameter of PKT3 is the predicate bit and this was wrong.
PAL sets the RESET_FILTER_CAM bit when emitting SQTT userdata.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25158>

8 months agoanv: enable VK_EXT_mesh_shader where supported
Iván Briano [Tue, 5 Sep 2023 03:35:17 +0000 (20:35 -0700)]
anv: enable VK_EXT_mesh_shader where supported

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25047>

8 months agointel/fs: handle URB setup for fast linked mesh pipelines
Iván Briano [Tue, 5 Sep 2023 05:31:17 +0000 (22:31 -0700)]
intel/fs: handle URB setup for fast linked mesh pipelines

Up until now, the mesh pipeline assumed it would be always linked to the
fragment shader, and so the calculated MUE map would always be
available.
That is not the case for fast linked pipeline libraries, so the URB
setup needs to account for this. We do this by replicating what's done
for non-mesh pipelines, defining the URB based on the FS inputs, and
always assuming they will be laid out in order of varying number, except
that we also account for per-primitive attributes.

Fixes all GPL using tests under dEQP-VK.mesh_shader.ext.smoke.*

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25047>

8 months agointel/fs: read viewport and layer from the FS payload
Iván Briano [Tue, 5 Sep 2023 05:30:04 +0000 (22:30 -0700)]
intel/fs: read viewport and layer from the FS payload

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25047>

8 months agoanv: track what kind of pipeline a fragment shader may be used with
Iván Briano [Tue, 5 Sep 2023 04:40:46 +0000 (21:40 -0700)]
anv: track what kind of pipeline a fragment shader may be used with

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25047>

8 months agoanv: use a simpler MUE layout for fast linked libraries
Iván Briano [Wed, 23 Aug 2023 18:09:01 +0000 (11:09 -0700)]
anv: use a simpler MUE layout for fast linked libraries

The compaction introduced in a2521233631 ("intel/compiler/mesh: compactify MUE layout")
is not suitable for the case where graphics pipeline libraries are fast
linked, as the fragment shader won't receive the mue_map to know where
to locate its inputs.
For that case, keep doing what we did before and lay things down in the
order varyings are defined, which is also how it works for the non-mesh
case.

Fixes dEQP-VK.fragment_shading_rate.*fast_linked_library*.ms

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25047>

8 months agoblorp: fix hangs with mesh enabled
Iván Briano [Thu, 24 Aug 2023 17:20:31 +0000 (10:20 -0700)]
blorp: fix hangs with mesh enabled

Move mesh URB allocations together with the other stages.

This fixes a hang that started happening with mesh enabled after
419531c5d98 ("intel/blorp: add a new flag to communicate PSS sync need")

Bspec 45352 says:
  L3 Space allocation can only be changed when the GPU pipeline is
  completely flushed.

It's likely that the PIPE_CONTROL added in that commit was breaking that
assumption and the URB allocation happening afterwards at the end of the
pipeline emission would then hang. And before that, we were probably
just getting lucky.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25047>

8 months agoci: disable lima LAVA lab for maintance
Erico Nunes [Fri, 8 Sep 2023 08:27:23 +0000 (10:27 +0200)]
ci: disable lima LAVA lab for maintance

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25112>

8 months agollvmpipe: enable driver functions.
Dave Airlie [Tue, 15 Aug 2023 05:56:24 +0000 (15:56 +1000)]
llvmpipe: enable driver functions.

This enables driver functions for the CL paths.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24687>

8 months agollvmpipe/cs: add support for function calls.
Dave Airlie [Tue, 15 Aug 2023 05:55:21 +0000 (15:55 +1000)]
llvmpipe/cs: add support for function calls.

This adds (disabled) support for function calls to the compute shader.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24687>

8 months agogallivm: add support for function calling
Dave Airlie [Tue, 15 Aug 2023 05:54:19 +0000 (15:54 +1000)]
gallivm: add support for function calling

This adds support for calling functions in compute shaders.

Functions are passed two implicit arguments
- the current exec mask
- a context containing all the info needed for intrinsics to work
  when not in the toplevel.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24687>

8 months agorusticl: use cleanup funcs
Dave Airlie [Tue, 25 Oct 2022 02:57:29 +0000 (12:57 +1000)]
rusticl: use cleanup funcs

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24687>

8 months agonir: add a function usage tracker
Dave Airlie [Mon, 26 Oct 2020 21:28:04 +0000 (07:28 +1000)]
nir: add a function usage tracker

allows dropping old fns

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24687>

8 months agonir: add driver_functions option to avoid inlining.
Dave Airlie [Mon, 26 Oct 2020 05:17:30 +0000 (15:17 +1000)]
nir: add driver_functions option to avoid inlining.

This adds a driver control to instruct NIR to not inline
all functions.

It adds a very simple inlining heuristic that works for
what I've played with, but will probably need to grow some
better ideas.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24687>