#include "flutter/lib/gpu/context.h"
#include "flutter/lib/gpu/export.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "impeller/renderer/command_buffer.h"
Go to the source code of this file.
◆ InternalFlutterGpu_CommandBuffer_Initialize()
Exports
Definition at line 61 of file command_buffer.cc.
63 {
64 auto res = fml::MakeRefCounted<flutter::gpu::CommandBuffer>(
66 contextWrapper->
GetContext()->CreateCommandBuffer());
67 res->AssociateWithDartWrapper(wrapper);
68
69 return true;
70}
std::shared_ptr< impeller::Context > GetContext()
◆ InternalFlutterGpu_CommandBuffer_Submit()
Definition at line 72 of file command_buffer.cc.
74 {
76 bool success = wrapper->
Submit();
77 if (!success) {
79 }
81 }
82
84 return tonic::ToDart(
"Completion callback must be a function");
85 }
86
88 auto& task_runners = dart_state->GetTaskRunners();
89
90 auto persistent_completion_callback =
91 std::make_unique<tonic::DartPersistentValue>(dart_state,
92 completion_callback);
93
95 [
callback = std::move(persistent_completion_callback),
98
101 auto dart_state =
callback->dart_state().lock();
102 if (!dart_state) {
103
104 return;
105 }
107
109
110
111
113 });
114 task_runners.GetUITaskRunner()->PostTask(ui_completion_task);
115 }));
116 if (!success) {
118 }
120}
static UIDartState * Current()
DART_EXPORT Dart_Handle Dart_Null(void)
DART_EXPORT bool Dart_IsNull(Dart_Handle object)
DART_EXPORT bool Dart_IsClosure(Dart_Handle object)
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
internal::CopyableLambda< T > MakeCopyable(T lambda)
Dart_Handle ToDart(const T &object)
Dart_Handle DartInvoke(Dart_Handle closure, std::initializer_list< Dart_Handle > args)