diff --git a/icd/intel/buf.c b/icd/intel/buf.c
index e18952a..adcb2a1 100644
--- a/icd/intel/buf.c
+++ b/icd/intel/buf.c
@@ -67,6 +67,7 @@
 
             mem_req->alignment = 4096;
 
+            mem_req->memPropsAllowed = INTEL_MEMORY_PROPERTY_ALL;
         }
         break;
     default:
diff --git a/icd/intel/event.c b/icd/intel/event.c
index 293dd9f..61520bf 100644
--- a/icd/intel/event.c
+++ b/icd/intel/event.c
@@ -106,6 +106,7 @@
             /* use dword aligned to 64-byte boundaries */
             mem_req->size = 4;
             mem_req->alignment = 64;
+            mem_req->memPropsAllowed = INTEL_MEMORY_PROPERTY_ALL;
         }
         break;
     default:
diff --git a/icd/intel/img.c b/icd/intel/img.c
index 753bec2..6796865 100644
--- a/icd/intel/img.c
+++ b/icd/intel/img.c
@@ -63,6 +63,7 @@
                 return ret;
             mem_req->size = img->total_size;
             mem_req->alignment = 4096;
+            mem_req->memPropsAllowed = INTEL_MEMORY_PROPERTY_ALL;
         }
         break;
     default:
diff --git a/icd/intel/intel.h b/icd/intel/intel.h
index c69f7a6..de7bcbd 100644
--- a/icd/intel/intel.h
+++ b/icd/intel/intel.h
@@ -56,6 +56,11 @@
 #define INTEL_MAX_VERTEX_ELEMENT_COUNT (INTEL_MAX_VERTEX_BINDING_COUNT + 1)
 #define INTEL_MAX_RENDER_TARGETS 8
 
+#define INTEL_MEMORY_PROPERTY_ALL (VK_MEMORY_PROPERTY_GPU_ONLY | VK_MEMORY_PROPERTY_CPU_VISIBLE_BIT |\
+    VK_MEMORY_PROPERTY_CPU_GPU_COHERENT_BIT | VK_MEMORY_PROPERTY_CPU_UNCACHED_BIT |\
+    VK_MEMORY_PROPERTY_CPU_WRITE_COMBINED_BIT | VK_MEMORY_PROPERTY_PREFER_CPU_LOCAL |\
+    VK_MEMORY_PROPERTY_SHAREABLE_BIT)
+
 enum intel_debug_flags {
     INTEL_DEBUG_BATCH       = 1 << 0,
 
diff --git a/icd/intel/obj.c b/icd/intel/obj.c
index 62c45c9..45b346e 100644
--- a/icd/intel/obj.c
+++ b/icd/intel/obj.c
@@ -45,6 +45,8 @@
             if (data == NULL)
                 return ret;
             memset(data, 0, s);
+            VkMemoryRequirements *mem_req = data;
+            mem_req->memPropsAllowed = INTEL_MEMORY_PROPERTY_ALL;
             break;
         }
     case VK_INFO_TYPE_MEMORY_ALLOCATION_COUNT:
diff --git a/icd/intel/pipeline.c b/icd/intel/pipeline.c
index da765bf..decb881 100644
--- a/icd/intel/pipeline.c
+++ b/icd/intel/pipeline.c
@@ -486,6 +486,7 @@
             if (data) {
                 mem_req->size = pipeline->scratch_size;
                 mem_req->alignment = 1024;
+                mem_req->memPropsAllowed = INTEL_MEMORY_PROPERTY_ALL;
             }
         }
         break;
diff --git a/icd/intel/query.c b/icd/intel/query.c
index d47653f..8f2aa52 100644
--- a/icd/intel/query.c
+++ b/icd/intel/query.c
@@ -52,6 +52,7 @@
                 return ret;
             mem_req->size = query->slot_stride * query->slot_count;
             mem_req->alignment = 64;
+            mem_req->memPropsAllowed = INTEL_MEMORY_PROPERTY_ALL;
         }
         break;
     default:
diff --git a/include/vulkan.h b/include/vulkan.h
index 185db92..77b7010 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -1441,7 +1441,8 @@
     VkGpuSize                                   size;                       // Specified in bytes
     VkGpuSize                                   alignment;                  // Specified in bytes
     VkGpuSize                                   granularity;                // Granularity on which vkQueueBindObjectMemoryRange can bind sub-ranges of memory specified in bytes (usually the page size)
-    VkFlags                                     memProps;                   // VkMemoryPropertyFlags
+    VkMemoryPropertyFlags                       memPropsAllowed;            // Allowed memory property flags
+    VkMemoryPropertyFlags                       memPropsRequired;           // Required memory property flags
 } VkMemoryRequirements;
 
 typedef struct VkFormatProperties_
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index 285dd85..75bc433 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -627,7 +627,7 @@
         info.pNext = (void *) next_info;
 
     info.allocationSize = reqs.size;
-    info.memProps = reqs.memProps;
+    info.memProps = reqs.memPropsRequired;
     info.memPriority = VK_MEMORY_PRIORITY_NORMAL;
     return info;
 }
