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;
       }