Emma Anholt
da834a12cf
vulkan: Make sure we've loaded our connectors when querying plane props.
...
If you hadn't already called wsi_GetPhysicalDeviceDisplayProperties2KHR or
wsi_GetDrmDisplayEXT before calling
GetPhysicalDeviceDisplayPlaneProperties2KHR, then the connectors list
wouldn't be populated and you'd get no plane properties. Fixes failure of
dEQP-VK.wsi.display.get_display_plane_capabilities when run on its own.
Fixes : #4575
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15353 >
2022-03-16 21:43:46 +00:00
Gurchetan Singh
83de19c900
zink: emulate some more memory
...
If ZINK_HEAP_DEVICE_LOCAL_VISIBLE isn't available natively, then
fallback to device local memory without asserting.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15202 >
2022-03-16 21:03:16 +00:00
Emma Anholt
9e9a366cad
ci/turnip: Drop alpha_to-coverage flake note on a618.
...
It's only ever been seen on a630.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
2f25d16653
turnip: Use the DRM or KGSL GPU reset status ioctls to report device loss.
...
ANGLE-on-venus-on-turnip and zink-on-turnip want real data here for EGL's
reset tests.
This required moving the remaining GPU-reset-causing tests from flakes or
xfails to skips. Otherwise, the rest of the caselist associated with them
ends up being marked as fails as well. The alternative would be to put
these tests in their own test groups with tests_per_group = 1, but that
didn't seem worth the effort. Or, we could finally do something with
https://gitlab.freedesktop.org/anholt/deqp-runner/-/issues/14 .
Fixes : #5955
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
add2121969
ci/freedreno: Remove some xfails for tests that now skip.
...
The last CTS uprev correctly turned them into NotSupported.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
ffa9438183
ci/freedreno: Drop the skips of spirv_ids_abuse in pre-merge.
...
The crash was fixed in 62a7acee93
, and
runtime of the tests locally is 5-17s each with a hot shader cache, 11-25s
without.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
46b30a5589
ci/lvp: Stop skipping spv-stable-maze-flatten-copy-composite
...
The runtime was fixed in VK-GL-CTS
1751124d2870840bada579c236a66d38b48c039b, now it's just 1 second.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14839 >
2022-03-16 19:28:04 +00:00
Emma Anholt
5dd74533b2
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 >
2022-03-16 19:28:04 +00:00
Jason Ekstrand
893fa30afe
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 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
b4e38e174f
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 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
2c04373c45
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 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
12d815bcac
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 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
d89d6c7a4d
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 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
7521b5db18
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 >
2022-03-16 13:13:45 -05:00
Jason Ekstrand
3501a3f9ed
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 >
2022-03-16 13:13:36 -05:00
Jason Ekstrand
8112e6d601
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 >
2022-03-16 12:51:16 -05:00
Jason Ekstrand
ee9c068043
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 >
2022-03-16 12:51:16 -05:00
Jason Ekstrand
2da152b5e6
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
1ad0f1b004
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 >
2022-03-16 12:51:15 -05:00
Jason Ekstrand
9bbecbed7a
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 >
2022-03-16 12:51:15 -05:00
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