Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/image: Add image address helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/copy: Use nvk_buffer_address in CmdCopyBuffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/buffer: Add a push_buffer_ref helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/buffer: Take an offset in nvk_buffer_address
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Thu, 9 Jun 2022 18:18:44 +0000 (20:18 +0200)]
nvk: report maxMipLevels as 1
the CTS uses that value in some places
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Wed, 8 Jun 2022 02:26:48 +0000 (04:26 +0200)]
nvk: add support for blits
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 7 Jun 2022 17:11:00 +0000 (19:11 +0200)]
nvk: simple format table
this is enough to run the image copy and blit tests on a couple of formats
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Mon, 6 Jun 2022 01:26:54 +0000 (03:26 +0200)]
nvk: add basic support for images
enough to get basic operations working
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Mon, 6 Jun 2022 16:25:02 +0000 (18:25 +0200)]
nvk: use fermi class definitions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 7 Jun 2022 17:53:58 +0000 (19:53 +0200)]
nouveau/ws: bind 2D class
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 7 Jun 2022 00:41:16 +0000 (02:41 +0200)]
nouveau/ws: set GPU object class
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 7 Jun 2022 00:54:20 +0000 (02:54 +0200)]
nouveau/ws: PUSH_IMMD only works with 16 bit values
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Re-format descriptor sets some more
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Re-format pipeline layouts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Re-format descriptor set layouts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Mon, 6 Jun 2022 05:11:30 +0000 (15:11 +1000)]
nvk: descriptor set freeing fix
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Thu, 2 Jun 2022 05:29:14 +0000 (15:29 +1000)]
nvk: implement buffer address.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Mon, 6 Jun 2022 03:27:21 +0000 (13:27 +1000)]
nvk: add descriptor set bo allocation.
This allocates the backing bo for the pool, and allocates the
sets from it.
This is mostly ported from radv.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Expose nvk_descriptor_stride_align_for_type
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Mon, 30 May 2022 05:32:43 +0000 (15:32 +1000)]
nvk: some boilerplate for descriptor sets
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Sat, 28 May 2022 01:55:30 +0000 (11:55 +1000)]
nvk: add initial descriptor pool framework.
destruct has internal impl for create to call on errors later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Mon, 6 Jun 2022 03:12:09 +0000 (13:12 +1000)]
nvk: reindent descriptor sets to mesa std.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Implement vkUpdateDescriptorSets
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Add initial descriptor set lowering
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Implement VkPipelineLayout
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Implement VkDescriptorSetLayout
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Thu, 2 Jun 2022 06:36:08 +0000 (16:36 +1000)]
nvk: Reset pushbufs on command buffer reset
Karol: also reset on VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Fri, 3 Jun 2022 02:12:06 +0000 (04:12 +0200)]
nouveau/ws: fix setting push bo domains
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Wed, 1 Jun 2022 11:12:29 +0000 (13:12 +0200)]
nvk: impl nvk_CmdCopyBuffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 31 May 2022 23:09:44 +0000 (01:09 +0200)]
nvk: add nvk_CmdPipelineBarrier2 stub
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 31 May 2022 23:04:42 +0000 (01:04 +0200)]
nvk: add nvk_bo_sync
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Tue, 31 May 2022 00:35:42 +0000 (10:35 +1000)]
nvk: add cmd buffer framework
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Wed, 1 Jun 2022 20:14:41 +0000 (22:14 +0200)]
nvk: allocate a GPU context for each VkDevice
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Mon, 30 May 2022 23:36:42 +0000 (09:36 +1000)]
nvk: Add initial queue
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 31 May 2022 23:04:08 +0000 (01:04 +0200)]
novueau/bo: add nouveau_ws_bo_wait
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 31 May 2022 23:03:57 +0000 (01:03 +0200)]
novueau/bo: refcount it
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Wed, 1 Jun 2022 09:32:44 +0000 (11:32 +0200)]
nouveau/ws: add a cmd buffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Wed, 1 Jun 2022 20:16:56 +0000 (22:16 +0200)]
nouveau/ws: add context support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Wed, 1 Jun 2022 11:09:09 +0000 (13:09 +0200)]
nouveau/headers: add host classes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Wed, 1 Jun 2022 11:15:30 +0000 (13:15 +0200)]
nouveau/headers: typedef Nv void types
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 31 May 2022 16:55:03 +0000 (18:55 +0200)]
nouveau/headers: add nvtypes.h
Nvidia does provide an nvtypes.h file within their open-gpu-kernel-modules,
but that one is painful to port over to userspace.
Just provide the defines we will need instead.
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Sat, 28 May 2022 22:14:51 +0000 (08:14 +1000)]
nvk: add bind buffer memory
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Fri, 27 May 2022 23:15:48 +0000 (09:15 +1000)]
nvk: fix header guards to be less generic.
You could imagine want to use these defines for something
that isn't header guards, so just make the headers guards
more explicit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Fri, 27 May 2022 22:56:54 +0000 (08:56 +1000)]
nvk: add some initial wsi framework.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Dave Airlie [Fri, 27 May 2022 22:50:37 +0000 (08:50 +1000)]
nvk: add missing finish calls
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Fri, 20 May 2022 13:27:09 +0000 (15:27 +0200)]
nvk: add basic device memory support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Fri, 20 May 2022 13:26:47 +0000 (15:26 +0200)]
nouveau/ws: add bo API
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Fri, 20 May 2022 13:25:21 +0000 (15:25 +0200)]
nvk: set nonCoherentAtomSize as the CTS divides with this value
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Fri, 20 May 2022 13:23:47 +0000 (15:23 +0200)]
nouveau/ws: add a field for the SM version
This is very useful when looking up capabitilites in Nvidia CUDA docs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Fri, 20 May 2022 13:22:58 +0000 (15:22 +0200)]
nouveau/ws: dup the fd
We do the same in gallium
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Fri, 20 May 2022 13:20:55 +0000 (15:20 +0200)]
nouveau/ws: reorganize a little
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Thu, 19 May 2022 18:29:27 +0000 (20:29 +0200)]
nvk: advertize memory heaps and types
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Thu, 19 May 2022 15:43:29 +0000 (17:43 +0200)]
nvk: implement GetPhysicalDeviceQueueFamilyProperties2 to make the CTS happy
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Thu, 19 May 2022 12:43:56 +0000 (14:43 +0200)]
nouveau/headers: initial sync of headers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Thu, 19 May 2022 12:33:40 +0000 (14:33 +0200)]
nouveau/headers: add script to sync in-tree headers with open-gpu-doc
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Thu, 19 May 2022 20:18:40 +0000 (22:18 +0200)]
nvk: fix nvk_buffer include guards
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Add a stub implementation of VkBuffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Add stub implementation of VkSampler
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Add stub implementations of VkImage and VkImageView
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Implement EnumerateInstanceVersion
This is required for future Vulkan versions. The common code also calls
it for validating Vulkan versions. May as well implement it now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Thu, 19 May 2022 00:48:16 +0000 (02:48 +0200)]
nvk: use winsys lib
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Tue, 17 May 2022 22:01:47 +0000 (00:01 +0200)]
nouveau/winsys: add the new winsys implementation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Karol Herbst [Mon, 16 May 2022 20:39:44 +0000 (22:39 +0200)]
nvk: add vulkan skeleton
This is enough to run vulkaninfo without crashing.
Jason:
* Drop a redundant nvk_device_entrypoints
* Add some VKAPI_ATTR and VKAPI_CALL
* nvk: Move EnumerateInstanceExtensionProperties to the top
This way things are more-or-less in initialization order. First the
version then extensions then create the instance.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
Gert Wollny [Fri, 4 Aug 2023 07:23:35 +0000 (09:23 +0200)]
r600/sfn: Use clause local registers in RA
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24480>
Gert Wollny [Mon, 10 Oct 2022 15:44:08 +0000 (17:44 +0200)]
r600/sfn: Track whether a register is ALU clause local
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24480>
Gert Wollny [Thu, 27 Jul 2023 12:43:44 +0000 (14:43 +0200)]
r600/sfn: Renumber shader blocks in scheduler
Consistent block numbering is required for identifying registers
that are used clause-locally.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24480>
Rhys Perry [Fri, 4 Aug 2023 11:33:15 +0000 (12:33 +0100)]
radv/ci: skip some mesh shader tests on GFX1100
This lets me do a GFX11 CTS run without RADV_DEBUG=nocompute.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24499>
Eric Engestrom [Fri, 4 Aug 2023 14:48:40 +0000 (15:48 +0100)]
zink/ci: set the default timeout for zink jobs to 30min instead of 1h
Except zink-anv-tgl which takes a lot more, and keeps the 1h timeout
(for now, future changes might improve this).
Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24500>
Sylvain Munaut [Thu, 3 Aug 2023 20:18:36 +0000 (22:18 +0200)]
egl/dri2: Add a couple of missing mutex release in error path
This is causing a hang in the intel compute runtime when
trying to cl/gl share an unsupported texture format.
Fixes:
f1efe037dfd82d95b025 ("egl/dri2: Add display lock")
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24487>
Faith Ekstrand [Tue, 1 Aug 2023 15:24:24 +0000 (10:24 -0500)]
clang-format: Set ColumnLimit to 78
This matches the tree-wide .editorconfig.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24429>
Eric Engestrom [Thu, 3 Aug 2023 09:52:29 +0000 (10:52 +0100)]
ci: use mold to build deqp
deqp is probably the biggest thing that we're building (definitely in
size of binary linked), so it's also the one that benefits the most from
using mold for linking.
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24490>
Eric Engestrom [Thu, 3 Aug 2023 17:23:50 +0000 (18:23 +0100)]
ci: include mold in x86_64_test-base & rootfs images
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24490>
Faith Ekstrand [Fri, 4 Aug 2023 15:39:28 +0000 (10:39 -0500)]
vulkan: Use VkBufferUsageFlags2 in vk_buffer
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24497>
Karol Herbst [Fri, 4 Aug 2023 14:56:23 +0000 (16:56 +0200)]
n50/compute: submit initial compute state in nv50_screen_create
This fixes some CACHE_ERROR caused by proper multi-threading support. The
bug is a bit older though, just never triggered because there was only one
push buffer to begin with.
Without this change the compute initialization stayed unpushed in the
screen push buffer causing random issues.
Fixes:
ff72440b402 ("nv50: implement a basic compute support")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: M Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24496>
Samuel Pitoiset [Tue, 2 May 2023 16:26:09 +0000 (18:26 +0200)]
vulkan/format: add VK_FORMAT_{A8_UNORM,A1B5G5R5_UNORM_PACK16}_KHR
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>
Samuel Pitoiset [Tue, 2 May 2023 11:34:44 +0000 (13:34 +0200)]
vulkan/runtime: add common implementation for GetImageSubresourceLayout()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>
Lionel Landwerlin [Wed, 8 Mar 2023 10:34:30 +0000 (12:34 +0200)]
vulkan/runtime: add a layered implementation of vkCmdBindIndexBuffer
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>
Samuel Pitoiset [Fri, 28 Jul 2023 11:45:02 +0000 (13:45 +0200)]
vulkan: bump header register to 1.3.261
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>
Lionel Landwerlin [Sun, 30 Jul 2023 09:15:25 +0000 (12:15 +0300)]
vulkan: skip non required extension structures
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>
Faith Ekstrand [Fri, 4 Aug 2023 11:28:19 +0000 (06:28 -0500)]
Revert "compiler: Combine duplicated implementation of is_gl_identifier into glsl_types.h"
This reverts commit
f9860a84b3cf1735ece78bc5907b2be4e2878f8e. It's a
bit annoying having this scattered around but it's 100% a GLSL thing and
there's no reason why it should go in glsl_types.h. The fact that
glsl_print_type() even uses it is a bit sketchy.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24491>
Faith Ekstrand [Fri, 4 Aug 2023 11:02:57 +0000 (06:02 -0500)]
Revert "mesa, compiler: Move gl_texture_index to glsl_types.h"
This reverts commit
1b836a52ea2dcc0b77a48a2a3d1f9052321cf325. This
patch, while claiming to decouple things, actually increases coupling
because it leaks two OpenGL state tracker limits and an OpenGL state
tracker fixed binding enum into the entire compiler. Nothing wants to
know these outside the OpenGL state tracker and the GL-specific compiler
passes. Put them back where they were.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24491>
Karol Herbst [Thu, 3 Aug 2023 13:17:41 +0000 (15:17 +0200)]
rusticl/kernel: mark can_remove_var as unsafe and document it
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>
Karol Herbst [Thu, 3 Aug 2023 12:13:27 +0000 (14:13 +0200)]
rusticl/kernel: get rid of initial function_temp type lowering
It's not needed and causes some issues with generic memory.
Fixes:
01cb01a7ee9 ("rusticl/kernel: only handle function_temp memory before lowering printf")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>
Karol Herbst [Thu, 3 Aug 2023 12:09:37 +0000 (14:09 +0200)]
rusticl/kernel: move things around in lower_and_optimize_nir
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>
Karol Herbst [Thu, 3 Aug 2023 10:59:06 +0000 (12:59 +0200)]
rusticl/kernel: merge lower_and_optimize_nir_pre_inputs and lower_and_optimize_nir_late
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>
Karol Herbst [Thu, 3 Aug 2023 10:18:10 +0000 (12:18 +0200)]
rusticl/kernel: rename res to internal_args inside lower_and_optimize_nir_late
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>
Samuel Pitoiset [Thu, 3 Aug 2023 13:10:08 +0000 (15:10 +0200)]
radv: track if vertex binding stride is dynamic from the cmdbuf state
This allows us to remove one more pipeline occurence during cmdbuf
recording. Note that shader object always uses dynamic vertex input.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473>
Samuel Pitoiset [Thu, 3 Aug 2023 13:09:47 +0000 (15:09 +0200)]
radv: re-emit binning state if the framebuffer is dirty
This used to depend on the graphics pipeline, but now that everything
is dynamic it should be fine to trigger it on fb changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473>
Samuel Pitoiset [Thu, 3 Aug 2023 13:09:25 +0000 (15:09 +0200)]
radv: track if patch control points is dynamic from the cmdbuf state
This allows us to remove one more pipeline occurence during cmdbuf
recording. Note that patch control points is always dynamic with
shader object.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473>
Samuel Pitoiset [Thu, 3 Aug 2023 13:09:05 +0000 (15:09 +0200)]
radv: remove redundant check in radv_cmd_buffer_after_draw()
RADV_CMD_FLAG_PS_PARTIAL_FLUSH is only used for draws with
RADV_DEBUG=syncshaders, which implies a valid graphics pipeline.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24473>
Rhys Perry [Tue, 11 Jul 2023 19:29:12 +0000 (20:29 +0100)]
radv: don't set vertex_attribute_strides on GFX8+
Bounds checking no longer compares against the stride.
fossil-db (navi21):
Totals from 5 (0.00% of 133461) affected shaders:
Instrs: 1532 -> 1520 (-0.78%)
CodeSize: 8144 -> 8084 (-0.74%)
Latency: 5104 -> 5102 (-0.04%)
InvThroughput: 686 -> 680 (-0.87%)
VClause: 19 -> 17 (-10.53%)
PreVGPRs: 118 -> 116 (-1.69%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24115>
Feng Jiang [Wed, 17 Aug 2022 01:54:09 +0000 (09:54 +0800)]
virgl: Only PIPE_BUFFER with VIRGL_BIND_CUSTOM flag is considered busy during creation
When the virglrenderer performs the attach action for the PIPE_BUFFER
with the VIRGL_BIND_CUSTOM flag, it will synchronize the data from
res->ptr to res->iov, at this time we need to treat it as busy,
otherwise it will cause some race conditions.
This optimizes commit:
fe9333f7b5e ("virgl: Set res->maybe_busy to true when creating resources")
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18098>
Kenneth Graunke [Thu, 3 Aug 2023 22:24:53 +0000 (15:24 -0700)]
intel/compiler: Fix sparse cube map array coordinate lowering
Brown paper bag fix for my untested review feedback comments.
Cube array images use a coordinate of the form <X, Y, 6*Slice+Face>,
while cube array textures use a <X, Y, Slice, Face> style coordinate.
This code tried to convert one to the other, but instead of writing
Z / 6 and Z % 6, we tried to reuse our original division result. What
we wanted was Z - (Z/6) * 6, but instead we botched it and wrote Z-Z*6
which produced...totally invalid cube faces.
Fixes:
fe81d40bff26 ("intel/nir: add lower for sparse images & textures")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24481>
Biswapriyo Nath [Thu, 3 Aug 2023 06:14:09 +0000 (11:44 +0530)]
radv/video: Match function definitions to declarations
This adds the same function attributes from definitions to declarations
and fixes the following compiler errors for 32 bit Windows OS.
../src/amd/vulkan/radv_video.c:270:1: error: conflicting types for 'radv_CreateVideoSessionKHR'
src/amd/vulkan/radv_entrypoints.h:3963:34: note: previous declaration of 'radv_CreateVideoSessionKHR'
../src/amd/vulkan/radv_video.c:319:1: error: conflicting types for 'radv_DestroyVideoSessionKHR'
src/amd/vulkan/radv_entrypoints.h:3971:30: note: previous declaration of 'radv_DestroyVideoSessionKHR'
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24460>
Eric Engestrom [Tue, 20 Jun 2023 13:42:01 +0000 (14:42 +0100)]
bin/pick-ui: use venv wrapper
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24367>
Eric Engestrom [Fri, 28 Jul 2023 12:47:06 +0000 (13:47 +0100)]
bin/ci/update_traces_checksum: use venv wrapper
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24367>
Eric Engestrom [Fri, 28 Jul 2023 12:45:40 +0000 (13:45 +0100)]
bin/ci/gitlab_gql: use venv wrapper
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24367>
Eric Engestrom [Wed, 3 May 2023 16:52:57 +0000 (17:52 +0100)]
bin/ci/ci_run_n_monitor: use venv wrapper
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24367>
Eric Engestrom [Wed, 3 May 2023 16:52:57 +0000 (17:52 +0100)]
bin: add wrapper to run scripts in a python venv
This isolates the script environment from the rest of the machine,
avoiding missing/incompatible dependencies and avoiding polluting the
rest of the machine with python packages.
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24367>
Alyssa Rosenzweig [Wed, 2 Aug 2023 15:35:54 +0000 (11:35 -0400)]
nir: Simplify alu_instr_is_copy
mov is considered vec.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>