Jason Ekstrand
fff3f8bfe5
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
030b231ba9
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
c3d8ca9300
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
17395d395a
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
6b61953684
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
ca5ad9cbee
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
1d726940d2
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
874aeb8743
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
83101429bf
anv: Convert to vk_framebuffer
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14961 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
d84e6b8f22
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
acbb0d86f7
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 >
2022-03-16 09:58:55 -05:00
Boris Brezillon
58587c32cb
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 >
2022-03-16 09:58:46 -05:00
Boris Brezillon
a08b695386
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 >
2022-03-16 09:57:51 -05:00
Boris Brezillon
417cf3d35e
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 >
2022-03-16 09:57:51 -05:00
Gert Wollny
3244100557
Revert "virgl: Enable PIPE_CAP_TGSI_TEXCOORD when the host supports it"
...
This reverts commit 2fbb4e85f7
.
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 >
2022-03-16 14:33:54 +01:00
Samuel Pitoiset
60517948af
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: c50557d961
("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 >
2022-03-16 11:57:41 +00:00
Vadym Shovkoplias
550f48a826
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 >
2022-03-16 11:22:24 +00:00
Charlie Turner
61ad60dc00
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 >
2022-03-16 09:45:42 +00:00
Charlie Turner
a815d4001a
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 >
2022-03-16 09:45:39 +00:00
Charlie Turner
729537438e
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 >
2022-03-16 09:45:31 +00:00
Samuel Pitoiset
737c86da62
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 >
2022-03-16 07:19:15 +00:00
Samuel Pitoiset
45b909a5a0
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 >
2022-03-16 07:19:15 +00:00
Mike Blumenkrantz
acb300a3f0
lavapipe: EXT_image_robustness
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15388 >
2022-03-16 04:58:41 +00:00
Mike Blumenkrantz
6345575f8a
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 >
2022-03-16 04:58:41 +00:00
Mike Blumenkrantz
b7fbaf924d
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 >
2022-03-16 04:46:06 +00:00
Mike Blumenkrantz
9bce878490
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 >
2022-03-16 04:46:06 +00:00
Mike Blumenkrantz
dffe8141bd
lavapipe: KHR_zero_initialize_workgroup_memory
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15403 >
2022-03-16 04:05:14 +00:00
Mike Blumenkrantz
e106c1294b
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 >
2022-03-16 04:05:14 +00:00
Mike Blumenkrantz
f72d5a930b
lavapipe: KHR_format_feature_flags2
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15395 >
2022-03-16 02:12:05 +00:00
Mike Blumenkrantz
90e091b072
lavapipe: use VkFormatFeatureFlags2 in format detection
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15395 >
2022-03-16 02:12:05 +00:00
Mike Blumenkrantz
65bf1cbc26
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 >
2022-03-16 01:45:48 +00:00
Jason Ekstrand
864f3c0ee0
panvk: Fix SSBO buffer offsets
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15398 >
2022-03-16 01:27:28 +00:00
Jason Ekstrand
6214cce382
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 >
2022-03-16 01:27:28 +00:00
Lionel Landwerlin
a54f5e8e00
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 >
2022-03-16 01:02:05 +00:00
Daniel Stone
2221e3d487
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 >
2022-03-16 00:41:46 +00:00
Stefan Dirsch
c287ed4f39
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: 3ae3569d82
("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 >
2022-03-15 23:59:46 +00:00
Emma Anholt
3b90d3997a
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 >
2022-03-15 23:13:16 +00:00
Jason Ekstrand
5a0e081e00
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 >
2022-03-15 23:13:16 +00:00
Jason Ekstrand
0c871d89ae
panvk: Use vk_shader_module
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15305 >
2022-03-15 23:13:16 +00:00
Jason Ekstrand
0b4a80b4c4
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 >
2022-03-15 23:13:16 +00:00
Jason Ekstrand
21b405fbbc
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 >
2022-03-15 23:13:16 +00:00
Mike Blumenkrantz
40fcd8ef83
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 >
2022-03-15 22:17:43 +00:00
Mike Blumenkrantz
13d900de0d
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 >
2022-03-15 22:17:43 +00:00
Mike Blumenkrantz
e3e3186855
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 >
2022-03-15 22:17:43 +00:00
Connor Abbott
a83ea0253f
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 >
2022-03-15 21:36:38 +00:00
Connor Abbott
625ebb977f
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 >
2022-03-15 21:36:38 +00:00
Connor Abbott
5f020bcc8d
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: 9912c61362
("ir3/spill: Support larger spill slot offset")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15288 >
2022-03-15 21:36:38 +00:00
Connor Abbott
6304c7cb82
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 >
2022-03-15 21:36:38 +00:00
Connor Abbott
f9d9c0172a
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 >
2022-03-15 21:36:38 +00:00
Connor Abbott
1ec3d39407
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 >
2022-03-15 21:36:38 +00:00