Emma Anholt [Thu, 10 Mar 2022 21:12:21 +0000 (13:12 -0800)]
ci: Drop skips of spv-stable-pillars-volatile-nontemporal-store
The runtime was fixed in VK-GL-CTS
7cc65f6c02276767407233e74c7174d88dab7919. Now it's .6s on lvp, 20ms on
turnip a618.
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839>
Jason Ekstrand [Tue, 15 Mar 2022 15:29:31 +0000 (10:29 -0500)]
anv: Include scissors in viewport calculations
It's tricky to always get the render area to the viewport code. In
particular, it's not provided to secondary command buffers as part of
the inheritance info so we have to bend over backwards and look for a
framebuffer. With VK_KHR_dynamic_rendering, there is no framebuffer and
this approach won't work and we'll need something better if we want
competent guardbands in secondary command buffers.
The good news is that any client that's sloppily rendering and trusting
the clipper to keep things inside the render area will set a scissor and
that's something they have to set inside the secondary. We can dig
through the scissor state and also include the corresponding scissor (if
any) and use that for our render area. This should give us the same
secondary command buffer performance with VK_KHR_dynamic_rendering.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Tue, 15 Mar 2022 15:10:28 +0000 (10:10 -0500)]
anv: Move viewport/scissor emit to genX_cmd_buffer.c
There's never been a particularly good reason to stick these in gfx7/8.
We mostly did it to deduplicate the binary a bit but this shouldn't emit
all that much code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Mon, 28 Feb 2022 20:18:09 +0000 (14:18 -0600)]
anv: Calculate the real guardband based on render area
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Mon, 28 Feb 2022 20:17:59 +0000 (14:17 -0600)]
intel/guardband: Take min/max instead of total size
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Fri, 18 Feb 2022 04:18:49 +0000 (22:18 -0600)]
docs: Add high-level documentation for Vulkan render passes
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Fri, 18 Feb 2022 04:10:04 +0000 (22:10 -0600)]
docs: Add the start of Vulkan runtime docs
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 9 Feb 2022 18:03:15 +0000 (12:03 -0600)]
anv: Convert to 100% dynamic rendering
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Fri, 11 Feb 2022 17:40:34 +0000 (11:40 -0600)]
anv: Drop pipeline pass/subpass in favor of rendering_info
This is about the only "small" change we can make in the process of
converting from render-pass-based to dynamic-rendering-based. Make
everything in pipeline creation work in terms of dynamic rendering and
create the dynamic rendering structs from the render pass as-needed.
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Sat, 12 Feb 2022 03:10:09 +0000 (21:10 -0600)]
anv/pipeline: Stop pretending we're the validator
This was ill-conceived at best. Yes, it checks for a few error
conditions but it doesn't check much and what checks it has are very far
away from the code that relies on those invariants. If we care about
these invariants, we should add asserts near the code that makes those
assumptions rather than pretending to be the validation layers.
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 9 Feb 2022 23:07:03 +0000 (17:07 -0600)]
anv: Stop treating color input attachments specially
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Thu, 10 Feb 2022 06:57:25 +0000 (00:57 -0600)]
anv/pass: Make unused color attachments VK_ATTACHMENT_UNUSED
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Fri, 11 Feb 2022 02:23:10 +0000 (20:23 -0600)]
anv: Better null surface state size for dynamic rendering
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 9 Feb 2022 18:40:33 +0000 (12:40 -0600)]
anv: Fix handling of null depth/stencil attachments with dynamic rendering
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Sat, 12 Feb 2022 03:08:18 +0000 (21:08 -0600)]
vulkan/framebuffer: Add a flags field
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Thu, 17 Feb 2022 18:58:39 +0000 (12:58 -0600)]
vulkan/render_pass: Add an optimization for UNDEFINED+LOAD_OP_CLEAR
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Thu, 10 Feb 2022 15:43:27 +0000 (09:43 -0600)]
vulkan/render_pass: Support fragment shading rate
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 9 Feb 2022 22:28:28 +0000 (16:28 -0600)]
vulkan/render_pass: Provide self-dependeny information
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Thu, 10 Feb 2022 23:30:01 +0000 (17:30 -0600)]
vulkan: Add helpers for getting rendering info from a renderpass
These helpers are used by vkCreateGraphicsPipelines to get the
VkPipelineRenderingCreateInfo and in vkCmdBeginCommandBuffer to get the
VkCommandBufferInheritanceRenderingInfo. This is required because the
Vulkan runtime code can't yet hook and modify calls made to driver-
provided functions. Instead, we just provide a helper to be used in leu
of vk_find_struct_const(). The structs themselves are stored in the
render pass so we can pass back a pointer and there's no need to
construct one on the stack or stuff it in the pipeline.
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 9 Feb 2022 22:30:38 +0000 (16:30 -0600)]
vulkan: Add a common CmdBegin/EndRederPass implementation
This implements vkCmdBeginRenderPass, vkCmdEndRenderPass, and
vkCmdNextSubpass in terms of the new vkCmdBegin/EndRendering included in
VK_KHR_dynamic_rendering and Vulkan 1.3. All subpass dependencies and
implicit layout transitions are turned into actual barriers. It does
require VK_KHR_synchronization2 because it always uses the 64-bit
version of the pipeline stage and access bitfields.
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 22 Sep 2021 19:13:00 +0000 (14:13 -0500)]
vulkan: Add a common vk_render_pass struct
This basically contains everything in pCreateInfo plus one or two extra
bits that might be useful.
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 22 Sep 2021 19:51:45 +0000 (14:51 -0500)]
anv: Convert to vk_framebuffer
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Wed, 22 Sep 2021 19:44:32 +0000 (14:44 -0500)]
vulkan: Add a common vk_framebuffer struct
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961>
Jason Ekstrand [Thu, 10 Mar 2022 22:21:34 +0000 (16:21 -0600)]
panvk: Implement VK_EXT_vertex_attribute_divisor
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15295>
Boris Brezillon [Thu, 10 Mar 2022 23:27:02 +0000 (17:27 -0600)]
panvk: Implement indexed rendering
Since we can do 8-bit index buffers, also advertise VK_EXT_type_uint8.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15295>
Boris Brezillon [Wed, 29 Sep 2021 11:21:21 +0000 (13:21 +0200)]
panvk: Fix per-instance attribute handling
We were assuming per-vertex attributes so far. Let's extend the logic
to support per-instance attributes with or without custom instance
divisors. Now that we've got it all hooked up, we can enable
VK_EXT_vertex_attribute_divisor.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15295>
Boris Brezillon [Fri, 1 Oct 2021 07:13:26 +0000 (09:13 +0200)]
panvk: No-op zero-vertex draws
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15295>
Gert Wollny [Wed, 16 Mar 2022 13:29:10 +0000 (14:29 +0100)]
Revert "virgl: Enable PIPE_CAP_TGSI_TEXCOORD when the host supports it"
This reverts commit
2fbb4e85f7e35ae9f4fd27d5ab38b5609eb117fe.
With this CAP enabled the host doesn't correctly handle the passing
the invariant flag between stages, and using surfaceless in the
client seems to trigger this error
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15409>
Samuel Pitoiset [Wed, 16 Mar 2022 09:00:36 +0000 (10:00 +0100)]
radv: fix missing destruction of the inotify thread
The notifier state must be destroyed when a device is destroyed. Oops.
This fixes crashes at launch with The Witcher 3.
Fixes:
c50557d9612 ("radv: allow applications to dynamically change RADV_FORCE_VRS")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15405>
Vadym Shovkoplias [Wed, 9 Mar 2022 10:35:26 +0000 (12:35 +0200)]
anv: implement EXT_depth_clip_control
A new extension allowing the application to use the OpenGL depth
range in NDC, i.e. with depth in range [-1, 1], as opposed to
Vulkan’s default of [0, 1].
v2:
- call gfx8_cmd_buffer_emit_viewport on ANV_CMD_DIRTY_PIPELINE (Jason)
- remove redundant !! operator since negativeOneToOne must be true or
false (Tapani)
- coding style changes (Lionel)
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6070
Signed-off-by: Vadym Shovkoplias <vadym.shovkoplias@globallogic.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15304>
Charlie Turner [Mon, 14 Mar 2022 21:07:26 +0000 (21:07 +0000)]
ci, radv: Update flake expectations
dEQP-VK.api.object_management.multithreaded_shared_resources.image_2d
is flakey crashing on RENOIR and VEGA10.
Thanks Rhys Perry for pointing out the flake.
Acked-by: Martin Roukala <martin.roukala@mupuf.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15386>
Charlie Turner [Wed, 2 Mar 2022 16:30:26 +0000 (16:30 +0000)]
ci, valve: Bump the trigger container
This contains some fixes in the executor client related to multipart
HTTP uploads. It will hopefully improve the stability of jobs!
Acked-by: Martin Roukala <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15386>
Charlie Turner [Wed, 2 Mar 2022 10:13:00 +0000 (10:13 +0000)]
ci, valve: Show real kernel addresses in KFENCE reports.
Acked-by: Martin Roukala <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15386>
Samuel Pitoiset [Thu, 24 Feb 2022 17:29:17 +0000 (18:29 +0100)]
radv: only clear VRAM for app and descriptor BOs when set via drirc
We don't have to clear other internal BOs when it's set for eg. vkd3d.
This should reduce the number of SDMA clears.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15156>
Samuel Pitoiset [Thu, 24 Feb 2022 17:00:55 +0000 (18:00 +0100)]
radv/winsys: remove old comment about zerovram
RADV requires Linux 4.15+.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15156>
Mike Blumenkrantz [Mon, 14 Mar 2022 20:20:11 +0000 (16:20 -0400)]
lavapipe: EXT_image_robustness
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15388>
Mike Blumenkrantz [Mon, 14 Mar 2022 20:19:25 +0000 (16:19 -0400)]
gallivm: fix oob image detection for cube/1dArray/2dArray/cubeArray
these all need to check for z coord oob to avoid crashing
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15388>
Mike Blumenkrantz [Mon, 14 Mar 2022 16:26:15 +0000 (12:26 -0400)]
lavapipe: EXT_pipeline_creation_cache_control
again, technically passing is still passing
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15379>
Mike Blumenkrantz [Mon, 14 Mar 2022 16:12:34 +0000 (12:12 -0400)]
lavapipe: EXT_pipeline_creation_feedback
cts passes with mostly quality warnings, but it does pass
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15379>
Mike Blumenkrantz [Mon, 14 Mar 2022 20:30:29 +0000 (16:30 -0400)]
lavapipe: KHR_zero_initialize_workgroup_memory
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15403>
Mike Blumenkrantz [Mon, 14 Mar 2022 21:16:45 +0000 (17:16 -0400)]
llvmpipe: add handling for zeroing cs shared memory
since this is just allocated by the cpu, it needs to be zeroed if the
shader expects that behavior
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15403>
Mike Blumenkrantz [Mon, 14 Mar 2022 17:11:37 +0000 (13:11 -0400)]
lavapipe: KHR_format_feature_flags2
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15395>
Mike Blumenkrantz [Mon, 14 Mar 2022 17:11:18 +0000 (13:11 -0400)]
lavapipe: use VkFormatFeatureFlags2 in format detection
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15395>
Mike Blumenkrantz [Tue, 8 Mar 2022 22:38:06 +0000 (17:38 -0500)]
gallium: add flag to draw info to indicate converted draws
this draw mode in particular requires driver-specific conversions
for queries (e.g., number of vertices), so pass that info through
the only limitation is that it doesn't work for dlists,
but I have yet to see a real use case of a statistics query being used with dlists
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15326>
Jason Ekstrand [Sat, 12 Mar 2022 04:16:20 +0000 (22:16 -0600)]
panvk: Fix SSBO buffer offsets
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15398>
Jason Ekstrand [Fri, 11 Mar 2022 19:18:32 +0000 (13:18 -0600)]
panvk: Require 16B alignment for UBOs
This is required by MALI_UNIFORM_BUFFER.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15398>
Lionel Landwerlin [Mon, 14 Mar 2022 20:38:45 +0000 (22:38 +0200)]
anv: silence compiler warnings
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6146
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15387>
Daniel Stone [Tue, 15 Mar 2022 22:02:58 +0000 (22:02 +0000)]
ci: Add new Panfrost G52 skip
This started failing for some reason, has been seen in
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/
19776551 and others.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Suggested-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15396>
Stefan Dirsch [Mon, 14 Mar 2022 12:41:28 +0000 (13:41 +0100)]
meson: restore private requires to libdrm in dri.pc file
Due to a typo the private requires to libdrm were lost in dri.pc.
Fixed another typo: Infastructure --> Infrastructure
Fixes:
3ae3569d822 ("meson: restore dri.pc file")
Signed-off-by: Stefan Dirsch <sndirsch@suse.com>
Tested-by: Stefan Dirsch <sndirsch@suse.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15375>
Emma Anholt [Thu, 10 Mar 2022 19:15:16 +0000 (11:15 -0800)]
turnip: use vk_shader_module_to_nir().
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15305>
Jason Ekstrand [Wed, 9 Mar 2022 18:18:05 +0000 (12:18 -0600)]
panvk: Use vk_shader_module_to_nir()
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15305>
Jason Ekstrand [Wed, 9 Mar 2022 18:05:39 +0000 (12:05 -0600)]
panvk: Use vk_shader_module
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15305>
Jason Ekstrand [Wed, 9 Mar 2022 17:37:11 +0000 (11:37 -0600)]
anv: Use vk_shader_module_to_nir()
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15305>
Jason Ekstrand [Wed, 9 Mar 2022 17:26:03 +0000 (11:26 -0600)]
vulkan: Add a vk_shader_module_to_nir() helper
This encapsulates all the little bits needed to turn a shader module
into some mostly reasonable NIR. It handles inlining functions,
lowering variable initializers, handling per-member structs and other
trickiness that is needed for consuming the output of spirv_to_nir.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15305>
Mike Blumenkrantz [Mon, 14 Mar 2022 13:34:39 +0000 (09:34 -0400)]
lavapipe: enable KHR_memory_model support
lavapipe's memory is always coherent, so this is already supported
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15377>
Mike Blumenkrantz [Mon, 14 Mar 2022 13:45:28 +0000 (09:45 -0400)]
llvmpipe: set nir_shader_compiler_options::use_scoped_barrier
required for vk memory model
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15377>
Mike Blumenkrantz [Mon, 14 Mar 2022 14:04:42 +0000 (10:04 -0400)]
lavapipe: strip unneeded scoped barriers
most of these do nothing and can't be emitted without breaking shaders
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15377>
Connor Abbott [Tue, 22 Feb 2022 17:01:27 +0000 (18:01 +0100)]
ir3: Use isam for bindless readonly ssbo loads
Since this isn't hooked up in gallium, only do it for bindless for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288>
Connor Abbott [Tue, 8 Mar 2022 19:49:01 +0000 (20:49 +0100)]
ir3: Actually use wrmask in emit_sam
I noticed that isam emitted for SSBO loads was writing all 4 components,
which this fixes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288>
Connor Abbott [Tue, 8 Mar 2022 12:57:04 +0000 (13:57 +0100)]
ir3/lower_spill: Fix corner case with oob offsets
If the base register is killed, it may be reused as the destination of a
ldp. In that case we should just skip resetting it afterwards.
Fixes regressions in dEQP-VK.ssbo.layout.random.scalar.38 later.
Fixes:
9912c61362b ("ir3/spill: Support larger spill slot offset")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288>
Connor Abbott [Tue, 8 Mar 2022 12:54:56 +0000 (13:54 +0100)]
ir3/parser: Don't use right recursion
This fixes memory exhaustion errors when doing shader replacement with
very large shaders.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288>
Connor Abbott [Wed, 23 Feb 2022 15:52:38 +0000 (16:52 +0100)]
tu: Add an extra storage descriptor for isam
Based on a workaround the blob does.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288>
Connor Abbott [Wed, 23 Feb 2022 15:34:59 +0000 (16:34 +0100)]
tu: Handle UBO/SSBO descriptors with different sizes
We reuse the otherwise-unused offset channel to represent the array
stride, so that reindexing works properly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288>
Connor Abbott [Wed, 23 Feb 2022 15:16:03 +0000 (16:16 +0100)]
tu: Rewrite dynamic descriptor handling
We need to prepare for storage buffers having different sizes from
uniform buffers. This switches dynamic_offset_offset to have units of
bytes, the same as offset, and as a nice bonus we can more easily
combine the dynamic and non-dynamic paths in various different places.
This also entails rewriting the code that patches dynamic descriptors,
since we can no longer assume a linear mapping between indices in
dynamicOffsets and descriptor locations which the previous approach
heavily relied on.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288>
Mike Blumenkrantz [Tue, 8 Mar 2022 20:46:27 +0000 (15:46 -0500)]
zink: export indirect io pipe caps
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15327>
Mike Blumenkrantz [Tue, 8 Mar 2022 20:43:34 +0000 (15:43 -0500)]
zink: fix unreachable() location in ntv streamout info
super annoying to debug otherwise
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15327>
Mike Blumenkrantz [Tue, 8 Mar 2022 20:43:10 +0000 (15:43 -0500)]
zink: add DOUBLE glsl type for streamout export
not used yet but someday
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15327>
Mike Blumenkrantz [Tue, 8 Mar 2022 20:42:09 +0000 (15:42 -0500)]
zink: add nir_var_function_temp support to ntv
I said I'd never do this, but here we are
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15327>
Emma Anholt [Fri, 11 Mar 2022 21:14:46 +0000 (13:14 -0800)]
turnip: Enable VK_EXT_display_control using the common code.
It's all implemented now, so we can turn it back on. Passes 15/16 tests
when X11 isn't running, and 1/16 when it is, with no failures in either
mode.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15351>
Samuel Pitoiset [Mon, 14 Mar 2022 16:30:57 +0000 (17:30 +0100)]
radv: fix returning empty drmFormatModifierTilingFeatures
From the Vulkan spec:
"drmFormatModifierTilingFeatures is a bitmask of
VkFormatFeatureFlagBits that are supported by any image created
with format and drmFormatModifier. The returned
drmFormatModifierTilingFeatures must contain at least one bit."
This fixes recent CTS dEQP-VK.drm_format_modifiers.*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15383>
Samuel Pitoiset [Wed, 9 Mar 2022 08:48:08 +0000 (09:48 +0100)]
radv: remove VK_AMD_shader_info support
This extension is quite old and useless now.
VK_KHR_pipeline_executable_properties should be used instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15299>
Bas Nieuwenhuizen [Sun, 13 Mar 2022 18:10:38 +0000 (19:10 +0100)]
radv: Expose VK_VALVE_descriptor_set_host_mapping for vkd3d only.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15363>
Hans-Kristian Arntzen [Tue, 22 Feb 2022 10:42:54 +0000 (11:42 +0100)]
radv: Implement VK_VALVE_descriptor_set_host_mapping.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15363>
Bas Nieuwenhuizen [Sun, 13 Mar 2022 18:02:34 +0000 (19:02 +0100)]
vk: Update xml and headers to 1.3.207.
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15363>
Dave Airlie [Mon, 14 Mar 2022 19:22:54 +0000 (05:22 +1000)]
llvmpipe/fs: add missing depth_clamp key printing
Helps debugging shaders better.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15385>
Mike Blumenkrantz [Mon, 14 Mar 2022 17:52:09 +0000 (13:52 -0400)]
lavapipe: KHR_shader_integer_dot_product
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15384>
Mike Blumenkrantz [Mon, 14 Mar 2022 17:50:02 +0000 (13:50 -0400)]
gallivm: implement nir_op_pack_32_4x8_split
just reusing existing helpers and llvm can optimize it for us
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15384>
Mike Blumenkrantz [Mon, 14 Mar 2022 14:28:46 +0000 (10:28 -0400)]
lavapipe: maintenance4
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15378>
Mike Blumenkrantz [Mon, 14 Mar 2022 13:50:47 +0000 (09:50 -0400)]
lavapipe: set maxBufferSize for maintenance4
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15378>
Mike Blumenkrantz [Mon, 14 Mar 2022 14:27:46 +0000 (10:27 -0400)]
lavapipe: implement vkGetDevice*MemoryRequirements
for maint4
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15378>
Mike Blumenkrantz [Mon, 14 Mar 2022 13:40:02 +0000 (09:40 -0400)]
lavapipe: ref/unref pipeline layouts for pipeline creation
required by maintenance4
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15378>
Mike Blumenkrantz [Wed, 9 Mar 2022 14:03:20 +0000 (09:03 -0500)]
lavapipe: always clone shader nir for shader states
these become owned and freed by llvmpipe, so ensure that freeing
them there won't cause crashes
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15281>
Jason Ekstrand [Sat, 12 Mar 2022 17:01:12 +0000 (11:01 -0600)]
panvk: Use the correct integer border colors
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15382>
Jason Ekstrand [Sat, 12 Mar 2022 03:42:21 +0000 (21:42 -0600)]
panvk: Rework texture, sampler, and image binding index calculation
This adds a new get_resource_deref_binding helper which decodes a
resource deref into set, binding, and index. To make texture
instructions nicer, the index can optionally be split into immediate
and SSA parts.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15382>
Jason Ekstrand [Fri, 11 Mar 2022 20:38:08 +0000 (14:38 -0600)]
panvk: Skip ZS setup if there is no depth/stencil attachment
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15382>
Jason Ekstrand [Fri, 11 Mar 2022 20:13:28 +0000 (14:13 -0600)]
panvk: Make panvk_image_view derive from vk_image_view
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15382>
Jason Ekstrand [Fri, 11 Mar 2022 20:01:15 +0000 (14:01 -0600)]
panvk: Make panvk_image derive from vk_image
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15382>
Eric Engestrom [Thu, 10 Oct 2019 17:13:53 +0000 (18:13 +0100)]
Revert "glx: Fix build errors with --enable-mangling (v2)"
This reverts commit
a27f2d991b1723c3349623401ce3c8f26dcdb28b.
As of
a0829cf23b307ca44ab8 ("GL: drop symbols mangling support"), this
extra complexity isn't needed anymore.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2298>
Igor Torrente [Mon, 14 Mar 2022 11:39:01 +0000 (08:39 -0300)]
Venus: add VN_CMD_ENQUEUE to vn_cmd_encode_memory_barriers
Signed-off-by: Igor Torrente <igor.torrente@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15344>
Igor Torrente [Mon, 14 Mar 2022 10:55:20 +0000 (07:55 -0300)]
Venus: Adjust VN_CMD_ENQUEUE to set VN_COMMAND_BUFFER_STATE_INVALID
This improves the issue of a return inside the macro.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15344>
Igor Torrente [Fri, 11 Mar 2022 12:31:59 +0000 (09:31 -0300)]
Venus: Add VN_CMD_ENQUEUE macro with vkCmd* common code
Several `vn_Cmd` share the same code to enqueue the command to the
command stream.
This adds a macro with this common code.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15344>
Samuel Pitoiset [Tue, 8 Mar 2022 13:05:52 +0000 (14:05 +0100)]
radv: export the pipeline hash via VK_KHR_pipeline_executable_properties
This will help to match RGP<->Fossilize pipelines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15279>
Rhys Perry [Wed, 16 Feb 2022 20:01:36 +0000 (20:01 +0000)]
radv,aco,ac/llvm: fix indirect dispatches on the compute queue on GFX7-10
Since neither PKT3_LOAD_SH_REG_INDEX nor PKT3_COPY_DATA work with compute
queues on GFX7-10, we have to load the dispatch size from memory in the
shader.
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/15064>
Rhys Perry [Thu, 17 Feb 2022 16:41:35 +0000 (16:41 +0000)]
aco: split and recombine unaligned sgpr inputs
An example is the num_work_groups argument. Fixes invalid assembly with
func.compute.num-workgroups.basic.q0
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15064>
Juan A. Suarez Romero [Mon, 14 Mar 2022 12:32:16 +0000 (13:32 +0100)]
v3dv/ci: add test to skip list
Add test that it is a timeout in the CI, but otherwise it passes.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15374>
Boris Brezillon [Fri, 24 Sep 2021 17:34:12 +0000 (19:34 +0200)]
panvk: Add support for texel buffers
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15334>
Boris Brezillon [Thu, 23 Sep 2021 16:02:41 +0000 (18:02 +0200)]
panvk: Add a dummy sampler for NIR tex operations that don't take one
In the NIR domain, some texture operations don't require a sampler, but
Bifrost/Midgard always want one. Let's add a dummy sampler to handle
that case.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15334>
Jason Ekstrand [Wed, 9 Mar 2022 16:12:19 +0000 (10:12 -0600)]
panvk: Stop advertising Vulkan 1.1
We're nowhere close to even having Vulkan 1.0 working yet, there's no
reason to get too excited about 1.1. It just means piles more test
crashes for features we're claiming to support but don't. If we want to
enable more tests, we can turn on the extensions for those features once
we actually have them working.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15334>
Erik Faye-Lund [Wed, 2 Mar 2022 11:58:58 +0000 (12:58 +0100)]
Revert "ci: downgrade sphinx to v3.x"
The readthedocs theme now supports Sphinx 4.x, so there's no longer any
reason to stick with 3.x.
This reverts commit
a545b6eda040ee40b5c36533d7ae378fc24fcf09.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15212>
Icecream95 [Thu, 14 Oct 2021 03:39:59 +0000 (16:39 +1300)]
panfrost: Optimise recalculation of max sampler view
Previously we always searched through 128 sampler views for set
sampler views, now we never look above the maximum updated view.
Fixes:
304851422a4 ("panfrost: Fix set_sampler_views for big GL")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15366>