texture don't have coherent memory on mac os
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
index c3735ad..3b7040f 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
@@ -195,7 +195,12 @@
 	/** Returns the Metal CPU cache mode used by this image. */
 	inline MTLCPUCacheMode getMTLCPUCacheMode() { return _deviceMemory->getMTLCPUCacheMode(); }
 
-	
+	/** 
+	 * Returns whether the memory is automatically coherent between device and host. 
+	 * On macOS, this always returns false because textures cannot use Shared storage mode.
+	 */
+	bool isMemoryHostCoherent();
+
 #pragma mark Construction
 
 	MVKImage(MVKDevice* device, const VkImageCreateInfo* pCreateInfo);
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index 2092f45..1ebab8f 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -440,6 +440,10 @@
     return stgMode;
 }
 
+bool MVKImage::isMemoryHostCoherent() {
+    return (getMTLStorageMode() == MTLStorageModeShared);
+}
+
 // Updates the contents of the underlying MTLTexture, corresponding to the
 // specified subresource definition, from the underlying memory buffer.
 void MVKImage::updateMTLTextureContent(MVKImageSubresource& subresource,