Hi,
I know Angle is not fully thread safe in few years ago. But recently, I found that some code in vulkan backend. such as:
--------------------
void RendererVk::recycleRenderPassCommandBufferHelper(
VkDevice device,
vk::RenderPassCommandBufferHelper **commandBuffer)
{
ANGLE_TRACE_EVENT0("gpu.angle", "RendererVk::recycleRenderPassCommandBufferHelper");
std::lock_guard<std::mutex> lock(mCommandBufferRecyclerMutex);
mRenderPassCommandBufferRecycler.recycleCommandBufferHelper(device, commandBuffer);
}
----------------------
The code add a lock for commmandbuffer, what is this lock used for? It seems that vulkan is now supporting multi-threaded rendering.
Can anybody give me some hints about this?