src/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.cpp
// Wait until all commands up to and including serial have been processed
Wait until all commands up to and including serial have been processed
Wait until all commands up to and including serial have been processed
void CommandProcessor::finishToSerial(vk::Context *context, Serial serial)
{
    ANGLE_TRACE_EVENT0("gpu.angle", "CommandProcessor::finishToSerial");
    vk::CommandProcessorTask finishToSerial;
    finishToSerial.initFinishToSerial(serial);
    queueCommand(context, &finishToSerial);
    if (context->getRenderer()->getFeatures().asynchronousCommandProcessing.enabled)
    {
        waitForWorkComplete(context);
    }
}
void CommandProcessor :: finishToSerial ( vk :: Context * context , Serial serial ) { ANGLE_TRACE_EVENT0 ( " " , " " ) ; vk :: CommandProcessorTask finishToSerial ; finishToSerial . initFinishToSerial ( serial ) ; queueCommand ( context , & finishToSerial ) ; if ( context -> getRenderer ( ) -> getFeatures ( ) . asynchronousCommandProcessing . enabled ) { waitForWorkComplete ( context ) ; } }
Wait until all commands up to and including serial have been processed
Wait until all commands up to and including serial have been processed
// Wait until the worker is idle. At that point we know that the finishToSerial command has // completed executing, including any associated state cleanup.