summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2023-05-01 19:16:04 -0400
committerMarge Bot <emma+marge@anholt.net>2023-05-15 23:15:23 +0000
commitcab466816f645a4ce346c6bb004328ea08252e2b (patch)
treeced5f34d17edcc6c42718e1d3ea8604dd6eecc27
parent8d58fa5787a7e413a2dbd83f076fbe495742b37d (diff)
downloadmesa-cab466816f645a4ce346c6bb004328ea08252e2b.tar.gz
lavapipe: EXT_attachment_feedback_loop_layout_dynamic_state
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22964>
-rw-r--r--docs/features.txt2
-rw-r--r--src/gallium/frontends/lavapipe/lvp_device.c7
-rw-r--r--src/gallium/frontends/lavapipe/lvp_execute.c3
3 files changed, 11 insertions, 1 deletions
diff --git a/docs/features.txt b/docs/features.txt
index 7a3c6314ff0..e241143c4a7 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -539,7 +539,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_xcb_surface DONE (anv, dzn, lvp, radv, tu, v3dv, vn)
VK_KHR_xlib_surface DONE (anv, dzn, lvp, radv, tu, v3dv, vn)
VK_EXT_acquire_xlib_display DONE (anv, lvp, radv, tu)
- VK_EXT_attachment_feedback_loop_dynamic_state DONE (radv)
+ VK_EXT_attachment_feedback_loop_dynamic_state DONE (lvp, radv)
VK_EXT_attachment_feedback_loop_layout DONE (lvp, radv, tu, v3dv)
VK_EXT_border_color_swizzle DONE (anv, lvp, tu, radv/gfx10+, v3dv)
VK_EXT_buffer_device_address DONE (anv/gen8+, radv)
diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c
index 60d667dc0f2..39a4df06208 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -147,6 +147,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
.ARM_rasterization_order_attachment_access = true,
.EXT_4444_formats = true,
.EXT_attachment_feedback_loop_layout = true,
+ .EXT_attachment_feedback_loop_dynamic_state = true,
.EXT_border_color_swizzle = true,
.EXT_calibrated_timestamps = true,
.EXT_color_write_enable = true,
@@ -853,6 +854,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
features->depthClipControl = true;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: {
+ VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT *features =
+ (VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT *)ext;
+ features->attachmentFeedbackLoopDynamicState = true;
+ break;
+ }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: {
VkPhysicalDeviceShaderObjectFeaturesEXT *features =
(VkPhysicalDeviceShaderObjectFeaturesEXT *)ext;
diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c
index c217dc45aa9..9781b72622d 100644
--- a/src/gallium/frontends/lavapipe/lvp_execute.c
+++ b/src/gallium/frontends/lavapipe/lvp_execute.c
@@ -4204,6 +4204,7 @@ void lvp_add_enqueue_cmd_entrypoints(struct vk_device_dispatch_table *disp)
ENQUEUE_CMD(CmdSetShadingRateImageEnableNV)
ENQUEUE_CMD(CmdSetViewportSwizzleNV)
ENQUEUE_CMD(CmdSetViewportWScalingEnableNV)
+ ENQUEUE_CMD(CmdSetAttachmentFeedbackLoopEnableEXT)
#undef ENQUEUE_CMD
}
@@ -4522,6 +4523,8 @@ static void lvp_execute_cmd_buffer(struct lvp_cmd_buffer *cmd_buffer,
case VK_CMD_BIND_SHADERS_EXT:
handle_shaders(cmd, state);
break;
+ case VK_CMD_SET_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT:
+ break;
default:
fprintf(stderr, "Unsupported command %s\n", vk_cmd_queue_type_names[cmd->type]);
unreachable("Unsupported command");