platform/upstream/mesa.git
12 months agoac/gpu_info: set gfx and compute IB padding to only 8 dwords
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>

12 months agoac/gpu_info: conservatively decrease IB alignment and padding to 256B
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>

12 months agoac/gpu_info: drop the hack unifying all IB alignments
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>

12 months agoac/gpu_info: move ib_pad_dw_mask into ip[]
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>

12 months agoac/gpu_info: split ib_alignment as ip[type].ib_alignment
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>

12 months agofrontends/va/config: report max width and height for encoding/decoding
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>

12 months agor600/sfn: When simplifying src vec4 pinnings, also check all uses
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>

12 months agor600/sfn: Don't override a chgr pinning during copy propagation
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>

12 months agovulkan/wsi: Allow for larger linear images
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>

12 months agonvk: Clean up the disk cache on physical device create fail path
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>

12 months agonvk: Handle unbinding images and buffers
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>

12 months agonvk: Add an nvk_shader_finish() helper
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>

12 months agonvk: Free the disk cache
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>

12 months agonvk: Use nouveau_ws_bo_unmap() instead of munmap()
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>

12 months agovulkan/wsi/wayland: Fix detection of tearing control protocol
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>

12 months agobin/gen_release_notes: escape at-symbols
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>

12 months agodocs/relnotes: escape some at-symbols
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>

12 months agodocs/ci: escape at-symbols
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>

12 months agodocs/relnotes: remove cruft from end of lines
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>

12 months agoutil/xmlconfig: inline datadir
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>

12 months agoutil/xmlconfig: drop driInjectDataDir() now that DRIRC_CONFIGDIR is always supported
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>

12 months agomeson: add src/util to the drirc search path
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>

12 months agoutil/xmlconfig: add an env-var for overriding drirc search dir
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>

12 months agorusticl/format: disable all sRGB formats
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>

12 months agorusticl/memory: use PIPE_BUFFER for IMAGE1D_BUFFER images
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>

12 months agorusticl/device: restrict 1Dbuffer images for RGB and RGBx
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>

12 months agonir/lower_mem_access_bit_sizes: fix invalid shift bit_size
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>

12 months agofreedreno: Fix field size of A6XX_TEX_CONST[3].ARRAY_PITCH
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>

12 months agozink: properly emit PhysicalStorageBufferAddresses cap
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>

12 months agozink: implement load_global_constant
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>

12 months agomesa: enable NV_texture_barrier in GLES2+ (again)
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>

12 months agorusticl/core: don't take a lock while dropping `Context`
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>

12 months agorusticl: drop an `#[allow(dead_code)]` marker
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>

12 months agorusticl: mark the fields of callback structs private
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>

12 months agorusticl/api: remove cl_closure macro
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>

12 months agorusticl/api: drop a few include paths
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>

12 months agorusticl: add a safe abstraction to execute a ProgramCB
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>

12 months agorusticl: add a safe abstraction to execute a CreateContextCB
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>

12 months agorusticl: add a safe abstraction to execute an SVMFreeCb
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>

12 months agorusticl: add a safe abstraction to execute a MemCB
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>

12 months agorusticl: add a safe abstraction to execute an EventCB
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>

12 months agorusticl: add a safe abstraction to execute a DeleteContextCB
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>

12 months agorusticl: Make EventSig take ownership of its environment
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>

12 months agorusticl: use SVMFreeCb
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>

12 months agorusticl: use ProgramCB
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>

12 months agorusticl: use MemCB
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>

12 months agorusticl: use EventCB
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>

12 months agorusticl: use DeleteContextCB
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>

12 months agorusticl: use CreateContextCB
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>

12 months agorusticl: add structs to hold the C callbacks
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>

12 months agorusticl: Rename XyzCB aliases to FuncXyzCB
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>

12 months agozink: sync queue access for vkQueueWaitIdle
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>

12 months agozink: implement PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS
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>

12 months agoradeonsi: Add PIPE_CAP_HAS_CONST_BW support
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>

12 months agoiris: Add PIPE_CAP_HAS_CONST_BW support
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>

12 months agopanfrost: Add PIPE_CAP_HAS_CONST_BW support
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>

12 months agofreedreno: Add PIPE_CAP_HAS_CONST_BW support
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>

12 months agomesa: Implement MESA_texture_const_bandwidth
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>

12 months agomesa: Introduce MESA_texture_const_bandwidth
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>

12 months agofix: clover: warning: ignoring return value of ‘int posix_memalign(…)’ [-Wunused...
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>

12 months agorusticl/memory: use get_mut instead of lock in drop
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>

12 months agoci: ci_marge_queue.py
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>

12 months agorusticl/kernel: get rid of Arcs in KernelDevStateVariant
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>

12 months agorusticl/queue: make it Sync
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>

12 months agorusticl/queue: get rid of pointless Option around our worker thread handle
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>

12 months agorusticl/cl: mark _cl_image_desc as Send and Sync
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>

12 months agorusticl/mesa: mark PipeTransfer as Send
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>

12 months agorusticl/mesa: mark PipeResource as Send and Sync
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>

12 months agorusticl/mesa/nir: Mark NirShader and NirPrintfInfo as Send and Sync
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>

12 months agorusticl/mesa/nir: mark more methods as mut
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>

12 months agorusticl: bump rustc version to 1.66
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>

12 months agonvk: Always set pixel_min/max_Z to CLAMP
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>

12 months agoanv: add support for vk_require_astc driconf
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>

12 months agoanv: advertise emulated formats
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>

12 months agoanv: fix up blit src for emulated formats
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>

12 months agoanv: fix up image views for emulated formats
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>

12 months agoanv: decompress on upload for emulated formats
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>

12 months agoanv: add a hidden plane for emulated formats
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>

12 months agoanv: add anv_is_format_emulated
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>

12 months agoanv: add anv_cmd_buffer_{save,restore}_state
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>

12 months agoanv: add anv_descriptor_set_write
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>

12 months agoanv: support alternative push descriptor sets
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>

12 months agoanv: add anv_push_descriptor_set_{init,finish}
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>

12 months agoanv: support image views with surface state stream
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>

12 months agoanv: add anv_image_view_{init,finish}
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>

12 months agoanv: remove unused field from anv_image_view
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>

12 months agoradv, drirc: rename radv_require_{etc2,astc}
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>

12 months agoanv: update batch chaining to Gfx9 commands
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>

12 months agopipe-loader: allow to load multiple zink devices
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>

12 months agorusticl: enable zink
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>

12 months agorusticl/mesa/screen,device: add driver_name
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>

12 months agozink: eliminate samplers from no-sampler CL texops
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>

12 months agozink: fix load/store scratch offsets
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>

12 months agozink: fix RA textures
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>

12 months agozink: implement remaining pack ops via bitcast
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>

12 months agozink: support samplers with unnormalized_coords
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>

12 months agozink: add set_global_binding
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>

12 months agozink: make spirv_builder_emit_*op compatible with spec constants
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>

12 months agozink: support more nir opcodes
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>

12 months agozink: variable shared mem support
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>