#include <command_encoder_vk.h>
Definition at line 31 of file command_encoder_vk.h.
◆ CommandEncoderFactoryVK()
| impeller::CommandEncoderFactoryVK::CommandEncoderFactoryVK |
( |
const std::weak_ptr< const ContextVK > & |
context | ) |
|
|
explicit |
◆ Create()
| std::shared_ptr< CommandEncoderVK > impeller::CommandEncoderFactoryVK::Create |
( |
| ) |
|
Definition at line 109 of file command_encoder_vk.cc.
110 auto context = context_.lock();
114 auto recycler = context->GetCommandPoolRecycler();
118 auto tls_pool = recycler->Get();
123 auto tracked_objects = std::make_shared<TrackedObjectsVK>(
124 context, tls_pool, context->GetGPUTracer()->CreateGPUProbe());
125 auto queue = context->GetGraphicsQueue();
127 if (!tracked_objects || !tracked_objects->IsValid() || !queue) {
131 vk::CommandBufferBeginInfo begin_info;
132 begin_info.flags = vk::CommandBufferUsageFlagBits::eOneTimeSubmit;
133 if (tracked_objects->GetCommandBuffer().begin(begin_info) !=
134 vk::Result::eSuccess) {
139 if (label_.has_value()) {
140 context->SetDebugName(tracked_objects->GetCommandBuffer(), label_.value());
142 tracked_objects->GetGPUProbe().RecordCmdBufferStart(
143 tracked_objects->GetCommandBuffer());
145 return std::make_shared<CommandEncoderVK>(context->GetDeviceHolder(),
146 tracked_objects, queue,
147 context->GetFenceWaiter());
References VALIDATION_LOG.
Referenced by impeller::testing::TEST().
◆ SetLabel()
| void impeller::CommandEncoderFactoryVK::SetLabel |
( |
const std::string & |
label | ) |
|
The documentation for this class was generated from the following files: