13 std::shared_ptr<fml::BasicTaskRunner> worker_task_runner) {
14 if (!worker_task_runner) {
17 return std::shared_ptr<PipelineCompileQueueVulkan>(
22 std::shared_ptr<fml::BasicTaskRunner> worker_task_runner)
24 worker_task_runner_(
std::move(worker_task_runner)) {}
29 PostJob([weak_queue = weak_from_this()]() {
30 if (
auto queue = std::static_pointer_cast<PipelineCompileQueueVulkan>(
42 worker_task_runner_->PostTask(job);
A task queue designed for managing compilation of pipeline state objects.
A task queue designed for managing compilation of pipeline state objects for Vulkan backend.
static std::shared_ptr< PipelineCompileQueueVulkan > Create(std::shared_ptr< fml::BasicTaskRunner > worker_task_runner)
~PipelineCompileQueueVulkan() override
PipelineCompileQueueVulkan(const PipelineCompileQueueVulkan &)=delete
void OnJobAdded() override
Called by PostJobForDescriptor after a job has been successfully added to the queue....
void PostJob(const fml::closure &job) override
Post a compilation job to the worker task runner.
std::function< void()> closure