diff --git a/src/gpu/vk/VulkanInterface.cpp b/src/gpu/vk/VulkanInterface.cpp
index fb5e6d9..4cc9ac3 100644
--- a/src/gpu/vk/VulkanInterface.cpp
+++ b/src/gpu/vk/VulkanInterface.cpp
@@ -239,6 +239,12 @@
         ACQUIRE_PROC_SUFFIX(DestroySamplerYcbcrConversion, KHR, VK_NULL_HANDLE, device);
     }
 
+    // Functions for VK_KHR_dynamic_rendering
+    if (extensions->hasExtension(VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, 1)) {
+        ACQUIRE_PROC_SUFFIX(CmdBeginRendering, KHR, VK_NULL_HANDLE, device);
+        ACQUIRE_PROC_SUFFIX(CmdEndRendering, KHR, VK_NULL_HANDLE, device);
+    }
+
 #ifdef SK_BUILD_FOR_ANDROID
     // Functions for VK_ANDROID_external_memory_android_hardware_buffer
     if (extensions->hasExtension(
diff --git a/src/gpu/vk/VulkanInterface.h b/src/gpu/vk/VulkanInterface.h
index bcb9024..c1eac59 100644
--- a/src/gpu/vk/VulkanInterface.h
+++ b/src/gpu/vk/VulkanInterface.h
@@ -223,6 +223,10 @@
         VkPtr<PFN_vkCreateSamplerYcbcrConversion> fCreateSamplerYcbcrConversion;
         VkPtr<PFN_vkDestroySamplerYcbcrConversion> fDestroySamplerYcbcrConversion;
 
+        // Functions for VK_KHR_dynamic_rendering
+        VkPtr<PFN_vkCmdBeginRenderingKHR> fCmdBeginRendering;
+        VkPtr<PFN_vkCmdEndRenderingKHR> fCmdEndRendering;
+
 #ifdef SK_BUILD_FOR_ANDROID
         // Functions for VK_ANDROID_external_memory_android_hardware_buffer
         VkPtr<PFN_vkGetAndroidHardwareBufferPropertiesANDROID> fGetAndroidHardwareBufferProperties;
diff --git a/tools/gpu/vk/VkTestUtils.cpp b/tools/gpu/vk/VkTestUtils.cpp
index 44ed3a8..68c275f 100644
--- a/tools/gpu/vk/VkTestUtils.cpp
+++ b/tools/gpu/vk/VkTestUtils.cpp
@@ -435,6 +435,18 @@
         tailPNext = &ycbcrFeature->pNext;
     }
 
+    VkPhysicalDeviceDynamicRenderingFeaturesKHR* dynamicRenderingFeature = nullptr;
+    if (extensions->hasExtension(VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, 1)) {
+        dynamicRenderingFeature = (VkPhysicalDeviceDynamicRenderingFeaturesKHR*)sk_malloc_throw(
+            sizeof(VkPhysicalDeviceDynamicRenderingFeaturesKHR));
+        dynamicRenderingFeature->sType =
+                VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR;
+        dynamicRenderingFeature->pNext = nullptr;
+        dynamicRenderingFeature->dynamicRendering = VK_TRUE;
+        *tailPNext = dynamicRenderingFeature;
+        tailPNext = &dynamicRenderingFeature->pNext;
+    }
+
     if (physDeviceVersion >= VK_MAKE_VERSION(1, 1, 0)) {
         ACQUIRE_VK_PROC_LOCAL(GetPhysicalDeviceFeatures2, inst, VK_NULL_HANDLE);
         grVkGetPhysicalDeviceFeatures2(physDev, features);
