Flutter Impeller
runtime_stage_playground.cc
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
6 
7 #include <future>
8 
9 #include "flutter/fml/make_copyable.h"
10 #include "flutter/testing/testing.h"
13 
14 namespace impeller {
15 
17 
19 
21  std::promise<bool> registration;
22  auto future = registration.get_future();
23  const std::shared_ptr<ShaderLibrary>& library =
24  GetContext()->GetShaderLibrary();
25  GetContext()->GetShaderLibrary()->RegisterFunction(
26  stage.GetEntrypoint(), ToShaderStage(stage.GetShaderStage()),
27  stage.GetCodeMapping(),
28  fml::MakeCopyable([reg = std::move(registration)](bool result) mutable {
29  reg.set_value(result);
30  }));
31  return future.get();
32 }
33 
34 } // namespace impeller
impeller::RuntimeStage::GetShaderStage
RuntimeShaderStage GetShaderStage() const
Definition: runtime_stage.cc:151
shader_library.h
impeller::RuntimeStage
Definition: runtime_stage.h:19
impeller::ToShaderStage
constexpr ShaderStage ToShaderStage(RuntimeShaderStage stage)
Definition: shader_types.h:29
impeller::RuntimeStagePlayground::RegisterStage
bool RegisterStage(const RuntimeStage &stage)
Definition: runtime_stage_playground.cc:20
impeller::RuntimeStagePlayground::RuntimeStagePlayground
RuntimeStagePlayground()
runtime_stage_playground.h
impeller::RuntimeStage::GetEntrypoint
const std::string & GetEntrypoint() const
Definition: runtime_stage.cc:147
impeller::Playground::GetContext
std::shared_ptr< Context > GetContext() const
Definition: playground.cc:89
shader_types.h
impeller
Definition: aiks_blur_unittests.cc:20
impeller::RuntimeStagePlayground::~RuntimeStagePlayground
~RuntimeStagePlayground()
impeller::RuntimeStage::GetCodeMapping
const std::shared_ptr< fml::Mapping > & GetCodeMapping() const
Definition: runtime_stage.cc:128