#include <runtime_stage.h>
Public Types | |
using | Map = std::map< RuntimeStageBackend, std::shared_ptr< RuntimeStage > > |
Public Member Functions | |
RuntimeStage (const fb::RuntimeStage *runtime_stage, const std::shared_ptr< fml::Mapping > &payload) | |
~RuntimeStage () | |
RuntimeStage (RuntimeStage &&) | |
RuntimeStage & | operator= (RuntimeStage &&) |
bool | IsValid () const |
RuntimeShaderStage | GetShaderStage () const |
const std::vector< RuntimeUniformDescription > & | GetUniforms () const |
const std::vector< DescriptorSetLayout > & | GetDescriptorSetLayouts () const |
const std::string & | GetEntrypoint () const |
const RuntimeUniformDescription * | GetUniform (const std::string &name) const |
const std::shared_ptr< fml::Mapping > & | GetCodeMapping () const |
bool | IsDirty () const |
void | SetClean () |
Static Public Member Functions | |
static Map | DecodeRuntimeStages (const std::shared_ptr< fml::Mapping > &payload) |
Static Public Attributes | |
static const char * | kVulkanUBOName |
Definition at line 20 of file runtime_stage.h.
using impeller::RuntimeStage::Map = std::map<RuntimeStageBackend, std::shared_ptr<RuntimeStage> > |
Definition at line 24 of file runtime_stage.h.
impeller::RuntimeStage::RuntimeStage | ( | const fb::RuntimeStage * | runtime_stage, |
const std::shared_ptr< fml::Mapping > & | payload | ||
) |
Definition at line 86 of file runtime_stage.cc.
References impeller::RuntimeUniformDescription::array_elements, impeller::RuntimeUniformDescription::binding, impeller::RuntimeUniformDescription::bit_width, impeller::RuntimeUniformDescription::dimensions, end, GetUniforms(), impeller::kFragment, impeller::kSampledImage, impeller::kStruct, impeller::kUniformBuffer, impeller::RuntimeUniformDescription::location, impeller::RuntimeUniformDescription::name, impeller::RuntimeUniformDescription::struct_float_count, impeller::RuntimeUniformDescription::struct_layout, impeller::ToShaderStage(), impeller::ToType(), and impeller::RuntimeUniformDescription::type.
|
default |
|
default |
|
static |
Definition at line 62 of file runtime_stage.cc.
References impeller::kMetal, impeller::kOpenGLES, impeller::kOpenGLES3, impeller::kSkSL, and impeller::kVulkan.
Referenced by impeller::interop::FragmentProgram::FragmentProgram(), impeller::GoldenPlaygroundTest::OpenAssetAsRuntimeStage(), impeller::PlaygroundTest::OpenAssetAsRuntimeStage(), and impeller::testing::TEST_P().
const std::shared_ptr< fml::Mapping > & impeller::RuntimeStage::GetCodeMapping | ( | ) | const |
Definition at line 172 of file runtime_stage.cc.
Referenced by impeller::RuntimeStagePlayground::RegisterStage().
const std::vector< DescriptorSetLayout > & impeller::RuntimeStage::GetDescriptorSetLayouts | ( | ) | const |
Definition at line 207 of file runtime_stage.cc.
const std::string & impeller::RuntimeStage::GetEntrypoint | ( | ) | const |
Definition at line 191 of file runtime_stage.cc.
Referenced by impeller::RuntimeStagePlayground::RegisterStage().
RuntimeShaderStage impeller::RuntimeStage::GetShaderStage | ( | ) | const |
Definition at line 195 of file runtime_stage.cc.
Referenced by impeller::RuntimeStagePlayground::RegisterStage().
const RuntimeUniformDescription * impeller::RuntimeStage::GetUniform | ( | const std::string & | name | ) | const |
Definition at line 181 of file runtime_stage.cc.
const std::vector< RuntimeUniformDescription > & impeller::RuntimeStage::GetUniforms | ( | ) | const |
Definition at line 176 of file runtime_stage.cc.
Referenced by RuntimeStage().
bool impeller::RuntimeStage::IsDirty | ( | ) | const |
Definition at line 199 of file runtime_stage.cc.
bool impeller::RuntimeStage::IsValid | ( | ) | const |
Definition at line 168 of file runtime_stage.cc.
|
default |
void impeller::RuntimeStage::SetClean | ( | ) |
Definition at line 203 of file runtime_stage.cc.
|
static |
The generated name from GLSLang/shaderc for the UBO containing non-opaque uniforms specified in the user-written runtime effect shader.
Vulkan does not allow non-opaque uniforms outside of a UBO.
Definition at line 22 of file runtime_stage.h.
Referenced by impeller::testing::TEST_P().