diff options
| author | Tobin Ehlis <tobin@lunarg.com> | 2015-11-02 13:13:21 -0700 |
|---|---|---|
| committer | Tobin Ehlis <tobin@lunarg.com> | 2015-11-02 13:13:21 -0700 |
| commit | 399e6db5f8609c3d28ee42a0a151dd2dbfa8dfc3 (patch) | |
| tree | 9193bd7b9b1e0629f1afc950ca978f6f29a446cc /layers | |
| parent | 9c9231840a0eeb679544041df7976ae569dcd1c3 (diff) | |
| parent | 466f001862003a19de54abadb8ae8dc97625dcf6 (diff) | |
| download | usermoji-399e6db5f8609c3d28ee42a0a151dd2dbfa8dfc3.tar.xz | |
Merge branch 'master' of gitlab.khronos.org:vulkan/LoaderAndTools
Diffstat (limited to 'layers')
| -rwxr-xr-x | layers/draw_state.cpp | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index fec569f9..cb2c46dd 100755 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -1169,14 +1169,31 @@ static void freeShadowUpdateTree(SET_NODE* pSet) { case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: pWDS = (VkWriteDescriptorSet*)pFreeUpdate; - if (pWDS->pImageInfo) { - delete[] pWDS->pImageInfo; - } - if (pWDS->pBufferInfo) { - delete[] pWDS->pBufferInfo; - } - if (pWDS->pTexelBufferView) { - delete[] pWDS->pTexelBufferView; + switch (pWDS->descriptorType) { + case VK_DESCRIPTOR_TYPE_SAMPLER: + case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: + case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: + case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: + { + delete[] pWDS->pImageInfo; + } + break; + case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: + case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: + { + delete[] pWDS->pTexelBufferView; + } + break; + case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: + case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: + case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: + case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: + { + delete[] pWDS->pBufferInfo; + } + break; + default: + break; } break; case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: |
