diff --git a/icd/intel/format.c b/icd/intel/format.c
index 5255966..60a6ef4 100644
--- a/icd/intel/format.c
+++ b/icd/intel/format.c
@@ -700,6 +700,7 @@
     VkImageType                                 type,
     VkImageTiling                               tiling,
     VkImageUsageFlags                           usage,
+    VkImageCreateFlags                          flags,
     VkImageFormatProperties*                    pImageFormatProperties)
 {
     return VK_ERROR_UNKNOWN;
diff --git a/include/vulkan.h b/include/vulkan.h
index 092a086..bea31ac 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -2096,7 +2096,7 @@
 typedef VkResult (VKAPI *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
-typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageFormatProperties* pImageFormatProperties);
+typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pCount, VkQueueFamilyProperties* pQueueFamilyProperties);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
@@ -2274,6 +2274,7 @@
     VkImageType                                 type,
     VkImageTiling                               tiling,
     VkImageUsageFlags                           usage,
+    VkImageCreateFlags                          flags,
     VkImageFormatProperties*                    pImageFormatProperties);
 
 VkResult VKAPI vkGetPhysicalDeviceProperties(
diff --git a/layers/device_limits.cpp b/layers/device_limits.cpp
index 49f5103..c8ff7fc 100644
--- a/layers/device_limits.cpp
+++ b/layers/device_limits.cpp
@@ -228,9 +228,9 @@
     return result;
 }
 
-VK_LAYER_EXPORT VkResult VKAPI vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageFormatProperties* pImageFormatProperties)
+VK_LAYER_EXPORT VkResult VKAPI vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
 {
-    VkResult result = get_dispatch_table(device_limits_instance_table_map, physicalDevice)->GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, pImageFormatProperties);
+    VkResult result = get_dispatch_table(device_limits_instance_table_map, physicalDevice)->GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
     return result;
 }
 
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 308f983..f943ad3 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -2067,6 +2067,7 @@
     VkImageType type,
     VkImageTiling tiling,
     VkImageUsageFlags usage,
+    VkImageCreateFlags flags,
     VkImageFormatProperties* pImageFormatProperties,
     VkResult result)
 {
@@ -2116,11 +2117,12 @@
     VkImageType type,
     VkImageTiling tiling,
     VkImageUsageFlags usage,
+    VkImageCreateFlags flags,
     VkImageFormatProperties* pImageFormatProperties)
 {
-    VkResult result = get_dispatch_table(pc_instance_table_map, physicalDevice)->GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, pImageFormatProperties);
+    VkResult result = get_dispatch_table(pc_instance_table_map, physicalDevice)->GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
 
-    PostGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, pImageFormatProperties, result);
+    PostGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties, result);
 
     return result;
 }
diff --git a/loader/loader.c b/loader/loader.c
index a434b59..db15fbc 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -2872,6 +2872,7 @@
         VkImageType                             type,
         VkImageTiling                           tiling,
         VkImageUsageFlags                       usage,
+        VkImageCreateFlags                      flags,
         VkImageFormatProperties*                pImageFormatProperties)
 {
     uint32_t gpu_index;
@@ -2880,7 +2881,7 @@
 
     if (icd->GetPhysicalDeviceImageFormatProperties)
         res = icd->GetPhysicalDeviceImageFormatProperties(physicalDevice, format,
-                                type, tiling, usage, pImageFormatProperties);
+                                type, tiling, usage, flags, pImageFormatProperties);
 
     return res;
 }
diff --git a/loader/loader.h b/loader/loader.h
index 67fa20e..19711d9 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -287,12 +287,12 @@
         VkFormat                                format,
         VkFormatProperties*                     pFormatInfo);
 
-VkResult VKAPI loader_GetPhysicalDeviceImageFormatProperties(
-        VkPhysicalDevice                        physicalDevice,
+VkResult VKAPI loader_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice                        physicalDevice,
         VkFormat                                format,
         VkImageType                             type,
         VkImageTiling                           tiling,
         VkImageUsageFlags                       usage,
+        VkImageCreateFlags                      flags,
         VkImageFormatProperties*                pImageFormatProperties);
 
 VkResult VKAPI loader_GetPhysicalDeviceSparseImageFormatProperties(
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 6a9e25b..0d13e66 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -242,13 +242,13 @@
     return res;
 }
 
-LOADER_EXPORT VkResult VKAPI vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageFormatProperties* pImageFormatProperties)
+LOADER_EXPORT VkResult VKAPI vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
 {
     const VkLayerInstanceDispatchTable *disp;
     VkResult res;
 
     disp = loader_get_instance_dispatch(physicalDevice);
-    res = disp->GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, pImageFormatProperties);
+    res = disp->GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
     return res;
 }
 
diff --git a/vulkan.py b/vulkan.py
index 2c06d30..4f16ac0 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -244,6 +244,7 @@
              Param("VkImageType", "type"),
              Param("VkImageTiling", "tiling"),
              Param("VkImageUsageFlags", "usage"),
+             Param("VkImageCreateFlags", "flags"),
              Param("VkImageFormatProperties*", "pImageFormatProperties")]),
 
         Proto("PFN_vkVoidFunction", "GetInstanceProcAddr",
