vkSetMTLTextureMVK() function retains texture object.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 44fbe4b..8acf695 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -31,9 +31,11 @@
array of samplers requested but not supported.
- Treat all attributes & resources as used by shader when using pre-converted MSL.
- Allow default GPU Capture scope to be assigned to any queue in any queue family.
+- VkPhysicalDevice: Correct some features and limits.
- Stop advertising atomic image support.
- Enhancements to `MVKVector`, and set appropriate inline sizing usages.
- `fetchDependencies`: build `spirv-tools` when attached via symlink.
+- vkSetMTLTextureMVK() function retains texture object.
- Update `VK_MVK_MOLTENVK_SPEC_VERSION` to 17.
- Update to latest SPIRV-Cross version:
- MSL: Deal with resource name aliasing.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index 07f7cd8..a7647ba 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -277,7 +277,7 @@
resetMTLTexture();
resetIOSurface();
- _mtlTexture = mtlTexture;
+ _mtlTexture = [mtlTexture retain]; // retained
_mtlPixelFormat = _mtlTexture.pixelFormat;
_mtlTextureType = _mtlTexture.textureType;