Marek Olšák [Thu, 5 Oct 2023 10:37:22 +0000 (06:37 -0400)]
ac/gpu_info: set gfx and compute IB padding to only 8 dwords
This is what the kernel reports and what PAL seems to be doing.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25578>
Marek Olšák [Thu, 5 Oct 2023 10:07:32 +0000 (06:07 -0400)]
ac/gpu_info: conservatively decrease IB alignment and padding to 256B
This should be large enough for all engines.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25578>
Marek Olšák [Thu, 5 Oct 2023 10:06:15 +0000 (06:06 -0400)]
ac/gpu_info: drop the hack unifying all IB alignments
We overalign it anyway, so there is no change in behavior.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25578>
Marek Olšák [Thu, 5 Oct 2023 09:37:44 +0000 (05:37 -0400)]
ac/gpu_info: move ib_pad_dw_mask into ip[]
No change in behavior.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25578>
Marek Olšák [Thu, 5 Oct 2023 09:31:18 +0000 (05:31 -0400)]
ac/gpu_info: split ib_alignment as ip[type].ib_alignment
No change in behavior. The previous overalignment is preserved.
It sets ib_pad_dw_mask sooner.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25578>
Thong Thai [Fri, 13 Oct 2023 14:29:21 +0000 (10:29 -0400)]
frontends/va/config: report max width and height for encoding/decoding
Signed-off-by: Thong Thai <thong.thai@amd.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25716>
Gert Wollny [Sun, 15 Oct 2023 20:28:50 +0000 (22:28 +0200)]
r600/sfn: When simplifying src vec4 pinnings, also check all uses
If a value would be used e.g. as Rn.x___ and also as Rn.xy__, in two
different instructions , then the first use was removing the group
property if Rn.x, which then broke the use in the second case, because
RA didn't see anymore, that Rn.x and Rn.y must be allocated with the
same register ID "n".
Fixes:
c23604324b (r600/sfn: copy-propagate single source texture values)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9998
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25741>
Gert Wollny [Sun, 15 Oct 2023 19:56:04 +0000 (21:56 +0200)]
r600/sfn: Don't override a chgr pinning during copy propagation
Fixes:
c0b6c59e0 (r600/sfn: Copy propagate into TEX source)
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9998
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25741>
Faith Ekstrand [Sat, 14 Oct 2023 14:47:50 +0000 (09:47 -0500)]
vulkan/wsi: Allow for larger linear images
For images of size 32768 × 32768 (which NVK allows), the linear image
ends up being 4GB which overflows the uint32_t size as well as some of
our alignment calculations.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25729>
Faith Ekstrand [Mon, 16 Oct 2023 10:57:21 +0000 (05:57 -0500)]
nvk: Clean up the disk cache on physical device create fail path
Fixes:
a4f8fd9dd53d ("nvk: Hook up the disk cache")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25749>
Faith Ekstrand [Sat, 14 Oct 2023 13:41:02 +0000 (08:41 -0500)]
nvk: Handle unbinding images and buffers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25747>
Faith Ekstrand [Sat, 14 Oct 2023 05:18:45 +0000 (00:18 -0500)]
nvk: Add an nvk_shader_finish() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25747>
Faith Ekstrand [Sat, 14 Oct 2023 05:12:58 +0000 (00:12 -0500)]
nvk: Free the disk cache
Fixes:
a4f8fd9dd53d ("nvk: Hook up the disk cache")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25747>
Faith Ekstrand [Sat, 14 Oct 2023 05:12:44 +0000 (00:12 -0500)]
nvk: Use nouveau_ws_bo_unmap() instead of munmap()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25747>
Hannes Mann [Thu, 12 Oct 2023 17:30:08 +0000 (19:30 +0200)]
vulkan/wsi/wayland: Fix detection of tearing control protocol
Fixes:
5ceba97c2e18 ("vulkan/wsi/wayland: add support for IMMEDIATE")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25689>
Erik Faye-Lund [Fri, 13 Oct 2023 13:41:59 +0000 (15:41 +0200)]
bin/gen_release_notes: escape at-symbols
If we don't do this, we end up with email-alike strings to be turned
into mailto links. This is not what we want.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25712>
Erik Faye-Lund [Mon, 9 Oct 2023 12:24:35 +0000 (14:24 +0200)]
docs/relnotes: escape some at-symbols
These are not e-mail addresses, and shouldn't have mailto links...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25712>
Erik Faye-Lund [Mon, 9 Oct 2023 14:16:44 +0000 (16:16 +0200)]
docs/ci: escape at-symbols
These aren't email addresses, so let's not format them as if they were.
Fixes:
93149507265 ("ci: Add docs for Linux Kernel uprevs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25712>
Erik Faye-Lund [Mon, 9 Oct 2023 12:23:32 +0000 (14:23 +0200)]
docs/relnotes: remove cruft from end of lines
We don't include the full commit message here, so let's drop all of this
cruft. Not sure how this happened in the first place.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25712>
Eric Engestrom [Fri, 13 Oct 2023 16:29:54 +0000 (17:29 +0100)]
util/xmlconfig: inline datadir
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21808>
Eric Engestrom [Fri, 13 Oct 2023 16:29:54 +0000 (17:29 +0100)]
util/xmlconfig: drop driInjectDataDir() now that DRIRC_CONFIGDIR is always supported
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21808>
Erik Faye-Lund [Thu, 9 Mar 2023 07:52:33 +0000 (08:52 +0100)]
meson: add src/util to the drirc search path
With this, we pick up new in-tree defaults for driconfig variables
when using meson devenv. This is useful for testing new config
variables.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21808>
Erik Faye-Lund [Thu, 9 Mar 2023 07:52:05 +0000 (08:52 +0100)]
util/xmlconfig: add an env-var for overriding drirc search dir
This adds an environment variable that can be used to override the
global drirc serach directory. This can be useful for debugging, and
meson devenv, as used in the following commit.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21808>
Karol Herbst [Sun, 15 Oct 2023 13:37:36 +0000 (15:37 +0200)]
rusticl/format: disable all sRGB formats
Fixes:
714e11fe046 ("rusticl/format: enable all trivial to support optional image formats")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25739>
Karol Herbst [Sun, 15 Oct 2023 13:32:59 +0000 (15:32 +0200)]
rusticl/memory: use PIPE_BUFFER for IMAGE1D_BUFFER images
Fixes samplerless 1Dbuffer tests with Zink.
Fixes:
20c90fed5a0 ("rusticl: added")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25739>
Karol Herbst [Sun, 15 Oct 2023 14:00:30 +0000 (16:00 +0200)]
rusticl/device: restrict 1Dbuffer images for RGB and RGBx
Fixes:
20c90fed5a0 ("rusticl: added")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25739>
Karol Herbst [Sun, 15 Oct 2023 14:11:57 +0000 (16:11 +0200)]
nir/lower_mem_access_bit_sizes: fix invalid shift bit_size
Shifts always need 32 bit for their second source.
Fixes:
c70d94a8897 ("nir_lower_mem_access_bit_sizes: Support unaligned stores via a pair of atomics")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25740>
Danylo Piliaiev [Fri, 13 Oct 2023 15:25:34 +0000 (17:25 +0200)]
freedreno: Fix field size of A6XX_TEX_CONST[3].ARRAY_PITCH
We silently dropped higher bits of layer size, which was not
caught by CTS because it requires image to be big.
Fixes rendering in shadowmappingcascade Vulkan demo.
Cc: mesa-stable
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25717>
Karol Herbst [Sun, 15 Oct 2023 11:29:24 +0000 (13:29 +0200)]
zink: properly emit PhysicalStorageBufferAddresses cap
The PhysicalStorageBuffer64 addressing model requires this cap. Fixes
vulkan validation error.
Fixes:
ddc5c304899 ("zink: handle global and scratch vars")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25736>
Karol Herbst [Sun, 15 Oct 2023 11:09:48 +0000 (13:09 +0200)]
zink: implement load_global_constant
This is just like load_global, just that the memory pointed to won't
change.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25736>
Lucas Stach [Sat, 14 Oct 2023 15:50:33 +0000 (17:50 +0200)]
mesa: enable NV_texture_barrier in GLES2+ (again)
This re-enables NV_texture_barrier in GL ES2+ contexts. This had
previously been tried, but caused CI issues and thus had been
reverted.
c7da969f8fe1 ("mesa: Enable NV_texture_barrier in GLES2+") was
buggy, as it added the es2 annotation to the category instead of
the function in the XML, which lead to the extension being
advertised, but calling glTextureBarrierNV in a GLES context
only yielded a GL_INVALID_OPERATION instead of the desired
barrier operation.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25728>
LingMan [Sat, 14 Oct 2023 14:58:43 +0000 (16:58 +0200)]
rusticl/core: don't take a lock while dropping `Context`
We have exclusive access in Drop, so we can use `get_mut` instead of having to `lock`.
Since that borrows `self` mutably but `call` also needs to borrow `self`, we `take` the Vec with
callbacks out of `self` so the mutable borrow can end before running `call`.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Sat, 14 Oct 2023 01:15:26 +0000 (03:15 +0200)]
rusticl: drop an `#[allow(dead_code)]` marker
These aliases are all in use.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Sat, 14 Oct 2023 01:08:29 +0000 (03:08 +0200)]
rusticl: mark the fields of callback structs private
These details are supposed to be inaccessbile and were only made pub during the initial
implementation phase.
Add an `#[allow(dead_code)]` marker since the CreateContextCB isn't hooked up yet which would cause
a warning about unused fields otherwise.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
Karol Herbst [Sun, 9 Jul 2023 12:30:33 +0000 (14:30 +0200)]
rusticl/api: remove cl_closure macro
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Thu, 12 Oct 2023 19:38:32 +0000 (21:38 +0200)]
rusticl/api: drop a few include paths
`c_void` is already imported at the top of the file.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Fri, 13 Oct 2023 22:29:08 +0000 (00:29 +0200)]
rusticl: add a safe abstraction to execute a ProgramCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Fri, 13 Oct 2023 22:03:52 +0000 (00:03 +0200)]
rusticl: add a safe abstraction to execute a CreateContextCB
Since running CreateContextCBs isn't implemented yet, it's unused for now.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Thu, 12 Oct 2023 19:31:31 +0000 (21:31 +0200)]
rusticl: add a safe abstraction to execute an SVMFreeCb
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Thu, 12 Oct 2023 18:15:47 +0000 (20:15 +0200)]
rusticl: add a safe abstraction to execute a MemCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Thu, 12 Oct 2023 17:49:59 +0000 (19:49 +0200)]
rusticl: add a safe abstraction to execute an EventCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Wed, 11 Oct 2023 23:10:51 +0000 (01:10 +0200)]
rusticl: add a safe abstraction to execute a DeleteContextCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Mon, 9 Oct 2023 17:38:26 +0000 (19:38 +0200)]
rusticl: Make EventSig take ownership of its environment
Needed because some events may consume their inputs. E.g. it will shortly be needed for the SVMFreeCb.
SVMMemFill will also soon require mutable access.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Wed, 11 Oct 2023 22:09:10 +0000 (00:09 +0200)]
rusticl: use SVMFreeCb
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Fri, 13 Oct 2023 21:20:43 +0000 (23:20 +0200)]
rusticl: use ProgramCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Wed, 11 Oct 2023 21:55:31 +0000 (23:55 +0200)]
rusticl: use MemCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Wed, 11 Oct 2023 21:11:52 +0000 (23:11 +0200)]
rusticl: use EventCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Wed, 11 Oct 2023 19:35:23 +0000 (21:35 +0200)]
rusticl: use DeleteContextCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Fri, 13 Oct 2023 20:54:57 +0000 (22:54 +0200)]
rusticl: use CreateContextCB
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Wed, 11 Oct 2023 19:26:05 +0000 (21:26 +0200)]
rusticl: add structs to hold the C callbacks
Keeps function pointers and their provided user data together. Since these callbacks are guaranteed
to be thread-safe by the OpenCL spec, they are marked Send and Sync.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
LingMan [Wed, 11 Oct 2023 15:25:04 +0000 (17:25 +0200)]
rusticl: Rename XyzCB aliases to FuncXyzCB
This happens so the XyzCB names can be used for structs containing both the function pointer and
the provided user data. Since these aliases represent raw unsafe function pointers the `Func`
prefix was chosen over `Fn`, which is generally used for safe functions.
Unfortunately it is not possible to concatinate identifiers to create new ones without a proc macro.
Thus, specify the new alias manually instead of generating them from the existing XyzCB names.
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25669>
Yiwei Zhang [Sat, 14 Oct 2023 22:41:59 +0000 (15:41 -0700)]
zink: sync queue access for vkQueueWaitIdle
Ensure VkQueue external sync between flush_queue and TC.
Cc: mesa-stable
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25733>
Karol Herbst [Sat, 14 Oct 2023 22:10:06 +0000 (00:10 +0200)]
zink: implement PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS
We have to return at least 1.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25731>
Rob Clark [Tue, 3 Oct 2023 21:33:32 +0000 (14:33 -0700)]
radeonsi: Add PIPE_CAP_HAS_CONST_BW support
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
Rob Clark [Tue, 3 Oct 2023 20:34:09 +0000 (13:34 -0700)]
iris: Add PIPE_CAP_HAS_CONST_BW support
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
Rob Clark [Tue, 3 Oct 2023 17:08:52 +0000 (10:08 -0700)]
panfrost: Add PIPE_CAP_HAS_CONST_BW support
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
Rob Clark [Thu, 28 Sep 2023 20:22:55 +0000 (13:22 -0700)]
freedreno: Add PIPE_CAP_HAS_CONST_BW support
Allow for tiled layouts rather than having mesa/st force us back to
linear.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
Rob Clark [Thu, 28 Sep 2023 20:21:22 +0000 (13:21 -0700)]
mesa: Implement MESA_texture_const_bandwidth
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9891
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
Rob Clark [Thu, 28 Sep 2023 17:48:17 +0000 (10:48 -0700)]
mesa: Introduce MESA_texture_const_bandwidth
A simple extension that builds on EXT_memory_object to allow the
application to request that constant bandwidth (non-data-dependent)
tiling layouts be used for a specified texture.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
Kai Wasserbäch [Fri, 13 Oct 2023 12:04:37 +0000 (14:04 +0200)]
fix: clover: warning: ignoring return value of ‘int posix_memalign(…)’ [-Wunused-result]
During builds GCC 13.2 issues the following warning:
src/gallium/frontends/clover/api/memory.cpp:612:21: warning: ignoring return value of ‘int posix_memalign(void**, size_t, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
612 | posix_memalign(&ptr, alignment, size);
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
Fix this by checking the returned value is actually 0 and if not we now
report a nullptr.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25724>
Karol Herbst [Sat, 14 Oct 2023 15:27:30 +0000 (17:27 +0200)]
rusticl/memory: use get_mut instead of lock in drop
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25727>
David Heidelberg [Thu, 15 Dec 2022 23:22:46 +0000 (00:22 +0100)]
ci: ci_marge_queue.py
Show currently assigned jobs to Marge and return 0 when it's free.
Useful for combination with ci_run_n_monitor.py .
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20347>
Karol Herbst [Wed, 4 Oct 2023 23:24:28 +0000 (01:24 +0200)]
rusticl/kernel: get rid of Arcs in KernelDevStateVariant
We only used Arcs as we wanted to deal with either getting a reference or
having an owned temporary. But we can also just use a local variable for
temporary storage.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Fri, 6 Oct 2023 11:04:24 +0000 (13:04 +0200)]
rusticl/queue: make it Sync
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Thu, 5 Oct 2023 23:25:14 +0000 (01:25 +0200)]
rusticl/queue: get rid of pointless Option around our worker thread handle
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Thu, 5 Oct 2023 21:48:37 +0000 (23:48 +0200)]
rusticl/cl: mark _cl_image_desc as Send and Sync
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Thu, 5 Oct 2023 18:06:31 +0000 (20:06 +0200)]
rusticl/mesa: mark PipeTransfer as Send
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Thu, 5 Oct 2023 10:54:51 +0000 (12:54 +0200)]
rusticl/mesa: mark PipeResource as Send and Sync
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Wed, 4 Oct 2023 17:29:35 +0000 (19:29 +0200)]
rusticl/mesa/nir: Mark NirShader and NirPrintfInfo as Send and Sync
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Wed, 4 Oct 2023 17:27:07 +0000 (19:27 +0200)]
rusticl/mesa/nir: mark more methods as mut
Those actually change the nir and are not thread-safe anyway.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Karol Herbst [Mon, 2 Oct 2023 21:27:59 +0000 (23:27 +0200)]
rusticl: bump rustc version to 1.66
This adds a few goodies I care about:
- bool::then_some (1.62)
- let-else statements (1.65)
FireFox ESR is at 1.66 so this bump is according to the Rust updated
policy.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24062>
Faith Ekstrand [Sat, 14 Oct 2023 00:30:39 +0000 (19:30 -0500)]
nvk: Always set pixel_min/max_Z to CLAMP
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25723>
Chia-I Wu [Thu, 28 Sep 2023 17:38:01 +0000 (10:38 -0700)]
anv: add support for vk_require_astc driconf
When vk_require_astc is true and there is no native ASTC LDR support,
enable ASTC LDR emulation.
vk_require_astc defaults to true on Android 14+.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Thu, 28 Sep 2023 17:37:11 +0000 (10:37 -0700)]
anv: advertise emulated formats
Advertise required features for emulated formats.
v2: no sparse residency support
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Thu, 28 Sep 2023 18:20:31 +0000 (11:20 -0700)]
anv: fix up blit src for emulated formats
When the blit src has an emulated format, redirect to the hidden plane.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Thu, 28 Sep 2023 17:29:52 +0000 (10:29 -0700)]
anv: fix up image views for emulated formats
When the view format is the same as the image format, and the format is
emulated, change the format to the decompressed format.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Thu, 28 Sep 2023 16:40:36 +0000 (09:40 -0700)]
anv: decompress on upload for emulated formats
Add anv_astc_emu_decompress to decompress the raw texel data to the
hidden plane. Call anv_astc_emu_decompress from anv_CmdCopyImage2 and
anv_CmdCopyBufferToImage2.
v2: support transfer queue and add missing flushes (Lionel)
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Thu, 28 Sep 2023 16:36:31 +0000 (09:36 -0700)]
anv: add a hidden plane for emulated formats
When an image is created with an emulated format, add a hidden plane to
the image. The hidden plane will be used for decompressed data.
v2: assert no sparse residency
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Thu, 28 Sep 2023 16:28:21 +0000 (09:28 -0700)]
anv: add anv_is_format_emulated
anv_is_format_emulated returns true when a format is emulated. It will
be used for ASTC LDR emulation, but it always return false at the
moment.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Wed, 27 Sep 2023 23:52:45 +0000 (16:52 -0700)]
anv: add anv_cmd_buffer_{save,restore}_state
They can be used to save/restore a subset of the current compute state.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Mon, 9 Oct 2023 22:23:07 +0000 (15:23 -0700)]
anv: add anv_descriptor_set_write
Add anv_descriptor_set_write as a helper for both
anv_UpdateDescriptorSets and anv_CmdPushDescriptorSetKHR.
v2: rename push_set to the more generic set_override
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Mon, 9 Oct 2023 23:43:36 +0000 (16:43 -0700)]
anv: support alternative push descriptor sets
Do not assume anv_cmd_pipeline_state::push_descriptor is the currently
bound push descriptor set. With this and anv_push_descriptor_set_init,
it is possible to initialize a temporary push descriptor set on stack
for internal use.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Mon, 9 Oct 2023 22:30:23 +0000 (15:30 -0700)]
anv: add anv_push_descriptor_set_{init,finish}
Refactor anv_cmd_buffer_alloc_push_descriptor_set and add
anv_push_descriptor_set_{init,finish}. Note that
anv_push_descriptor_set_init still supports re-initialization.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Mon, 9 Oct 2023 21:16:19 +0000 (14:16 -0700)]
anv: support image views with surface state stream
Add optional anv_state_stream to anv_image_view_init. This is useful
for internal image views whose lifetimes are tied to the lifetime of a
command buffer.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Mon, 9 Oct 2023 20:34:51 +0000 (13:34 -0700)]
anv: add anv_image_view_{init,finish}
This is a minor refactor.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Mon, 25 Sep 2023 23:49:18 +0000 (16:49 -0700)]
anv: remove unused field from anv_image_view
image_plane is unused.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Chia-I Wu [Mon, 25 Sep 2023 16:54:11 +0000 (09:54 -0700)]
radv, drirc: rename radv_require_{etc2,astc}
Rename them to vk_require_{etc2,astc}.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25467>
Lionel Landwerlin [Fri, 13 Oct 2023 08:57:11 +0000 (11:57 +0300)]
anv: update batch chaining to Gfx9 commands
I don't know this fixes anything but I noticed the generated draws
jump into addresses slightly different from CPU generated jumps.
After checking the genxml, I noticed MI_BATCH_BUFFER_START "Batch
Buffer Start Address" fields have different sizes in Gfx8 & Gfx9+.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25705>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
pipe-loader: allow to load multiple zink devices
Rusticl needs to be able to create a zink_screen on all renderer nodes.
This adds the infrastructure of doing so.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
rusticl: enable zink
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
rusticl/mesa/screen,device: add driver_name
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Mike Blumenkrantz [Wed, 27 Sep 2023 13:16:01 +0000 (09:16 -0400)]
zink: eliminate samplers from no-sampler CL texops
samplers aren't guaranteed to be provided by no-sampler ops in CL,
so flagging them as extant may read from a null sampler and explode
instead just pass the image through directly in the spirv
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Fri, 29 Sep 2023 08:53:53 +0000 (10:53 +0200)]
zink: fix load/store scratch offsets
The offset is originally in bytes, so we have to handle it just like
shared load/stores.
Fixes:
ddc5c304899 ("zink: handle global and scratch vars")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
zink: fix RA textures
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
zink: implement remaining pack ops via bitcast
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
zink: support samplers with unnormalized_coords
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Mike Blumenkrantz [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
zink: add set_global_binding
This requires VK_KHR_buffer_device_address which is the only sane way of
implementing CL global memory.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
zink: make spirv_builder_emit_*op compatible with spec constants
This way we can use those builder functions to emit spec constant
operations.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
zink: support more nir opcodes
There are sadly no SPIRV variants for hadd or iadd_sat we can use, so
lower those.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>
Karol Herbst [Tue, 19 Sep 2023 12:44:26 +0000 (14:44 +0200)]
zink: variable shared mem support
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24839>