diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index 01303ade..d433658e 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -25,7 +25,8 @@ Released TBD - Allow `MVK_CONFIG_SYNCHRONOUS_QUEUE_SUBMITS` build setting to be overridden. - Fix memory leaks of system classes during `VkInstance` and `VkQueue` creation. - Fix memory leaks when compiling shaders and pipelines without default OS autorelease pool. -- Reduce memory usage by adjusting default memory allocs for many MVKVectorInline uses. +- Reduce memory usage by adjusting default memory allocs for many `MVKVectorInline` uses and + replacing use of `MVKVectorDefault` with `std::vector` in descriptor set bindings. diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h index 41ef3cba..9f03ef4e 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDescriptorSet.h @@ -24,6 +24,7 @@ #include #include #include +#include class MVKDescriptorPool; class MVKDescriptorBinding; @@ -117,7 +118,7 @@ protected: MVKDescriptorSetLayout* _layout; VkDescriptorSetLayoutBinding _info; - MVKVectorDefault _immutableSamplers; + std::vector _immutableSamplers; MVKShaderResourceBinding _mtlResourceIndexOffsets; bool _applyToStage[kMVKShaderStageMax]; }; @@ -271,13 +272,13 @@ protected: MVKDescriptorSet* _pDescSet; MVKDescriptorSetLayoutBinding* _pBindingLayout; - MVKVectorDefault _imageBindings; - MVKVectorDefault _bufferBindings; - MVKVectorDefault _texelBufferBindings; - MVKVectorDefault> _mtlBuffers; - MVKVectorDefault _mtlBufferOffsets; - MVKVectorDefault> _mtlTextures; - MVKVectorDefault> _mtlSamplers; + std::vector _imageBindings; + std::vector _bufferBindings; + std::vector _texelBufferBindings; + std::vector> _mtlBuffers; + std::vector _mtlBufferOffsets; + std::vector> _mtlTextures; + std::vector> _mtlSamplers; bool _hasDynamicSamplers; };