radv: enable prologs/epilogs in-memory cache for shader objects
Shader objects always use VS prologs/PS epilogs/TCS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26930>
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 9169f99..4dcc472 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -710,7 +710,7 @@
bool attachment_vrs_enabled = false;
bool image_float32_atomics = false;
bool vs_prologs = false;
- UNUSED bool tcs_epilogs = false; /* TODO: Enable for shader object */
+ bool tcs_epilogs = false;
bool ps_epilogs = false;
bool global_bo_list = false;
bool image_2d_view_of_3d = false;
@@ -841,6 +841,15 @@
mesh_shader_queries = true;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: {
+ const VkPhysicalDeviceShaderObjectFeaturesEXT *features = (const void *)ext;
+ if (features->shaderObject) {
+ vs_prologs = true;
+ tcs_epilogs = true;
+ ps_epilogs = true;
+ }
+ break;
+ }
default:
break;
}