diff options
| author | Mike Stroyan <stroyan@google.com> | 2016-02-08 10:27:55 -0700 |
|---|---|---|
| committer | Mike Stroyan <stroyan@google.com> | 2016-02-08 10:27:55 -0700 |
| commit | 7ee1c6d9619fa9dc66939ccd8756c393a18117f8 (patch) | |
| tree | d45270689b5f5948bfe4c9f7b403ae4e18f1fec8 /layers/threading.cpp | |
| parent | d3246ce01b82ceded02211e8a95ef57204a93701 (diff) | |
| download | usermoji-7ee1c6d9619fa9dc66939ccd8756c393a18117f8.tar.xz | |
layers: lock use of threading layer cmd pool map
Access to command_pool_map data structure in threading validation layer
needs a mutex.
Diffstat (limited to 'layers/threading.cpp')
| -rw-r--r-- | layers/threading.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/layers/threading.cpp b/layers/threading.cpp index fcdd38b1..db59aa95 100644 --- a/layers/threading.cpp +++ b/layers/threading.cpp @@ -357,7 +357,9 @@ VkResult VKAPI_CALL vkAllocateCommandBuffers( // Record mapping from command buffer to command pool if (VK_SUCCESS == result) { for (int index=0;index<pAllocateInfo->commandBufferCount;index++) { + loader_platform_thread_lock_mutex(&threadingLock); command_pool_map[pCommandBuffers[index]] = pAllocateInfo->commandPool; + loader_platform_thread_unlock_mutex(&threadingLock); } } @@ -385,7 +387,9 @@ void VKAPI_CALL vkFreeCommandBuffers( finishWriteObject(my_data, commandPool); for (int index=0;index<commandBufferCount;index++) { finishWriteObject(my_data, pCommandBuffers[index], lockCommandPool); + loader_platform_thread_lock_mutex(&threadingLock); command_pool_map.erase(pCommandBuffers[index]); + loader_platform_thread_unlock_mutex(&threadingLock); } } |
