#include <runtime_stage.h>
Public Types | |
| using | Map = std::map< RuntimeStageBackend, std::shared_ptr< RuntimeStage > > |
Public Member Functions | |
| ~RuntimeStage () | |
| RuntimeStage (RuntimeStage &&) | |
| RuntimeStage & | operator= (RuntimeStage &&) |
| 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 () |
| void | SetLibraryId (std::string library_id) |
| const std::string & | GetLibraryId () const |
Static Public Member Functions | |
| static absl::StatusOr< Map > | DecodeRuntimeStages (const std::shared_ptr< fml::Mapping > &payload) |
| static absl::StatusOr< RuntimeStage > | Create (const fb::RuntimeStage *runtime_stage, const std::shared_ptr< fml::Mapping > &payload) |
Static Public Attributes | |
| static const char * | kVulkanUBOName |
Definition at line 21 of file runtime_stage.h.
| using impeller::RuntimeStage::Map = std::map<RuntimeStageBackend, std::shared_ptr<RuntimeStage> > |
Definition at line 25 of file runtime_stage.h.
|
default |
|
default |
|
static |
Definition at line 67 of file runtime_stage.cc.
References impeller::RuntimeUniformDescription::array_elements, impeller::RuntimeUniformDescription::binding, impeller::RuntimeUniformDescription::bit_width, impeller::RuntimeUniformDescription::dimensions, end, GetUniforms(), i, impeller::kFloat, impeller::kFragment, impeller::kPadding, impeller::kSampledImage, impeller::kStruct, impeller::kUniformBuffer, impeller::RuntimeUniformDescription::location, impeller::StructField::name, impeller::RuntimeUniformDescription::name, impeller::RuntimeUniformDescription::padding_layout, impeller::RuntimeUniformDescription::struct_fields, impeller::RuntimeUniformDescription::struct_float_count, impeller::ToShaderStage(), impeller::ToType(), impeller::RuntimeUniformDescription::type, and type.
|
static |
Definition at line 176 of file runtime_stage.cc.
References impeller::kMetal, impeller::kOpenGLES, impeller::kOpenGLES3, impeller::kSkSL, and impeller::kVulkan.
Referenced by impeller::interop::FragmentProgram::FragmentProgram(), flutter::FragmentProgram::initFromAsset(), impeller::GoldenPlaygroundTest::OpenAssetAsRuntimeStage(), impeller::PlaygroundTest::OpenAssetAsRuntimeStage(), impeller::testing::TEST_P(), impeller::testing::TEST_P(), impeller::testing::TEST_P(), impeller::testing::TEST_P(), impeller::testing::TEST_P(), impeller::testing::TEST_P(), impeller::testing::TEST_P(), impeller::testing::TEST_P(), and impeller::testing::TEST_P().
| const std::shared_ptr< fml::Mapping > & impeller::RuntimeStage::GetCodeMapping | ( | ) | const |
Definition at line 222 of file runtime_stage.cc.
Referenced by impeller::RuntimeStagePlayground::RegisterStage().
| const std::vector< DescriptorSetLayout > & impeller::RuntimeStage::GetDescriptorSetLayouts | ( | ) | const |
Definition at line 265 of file runtime_stage.cc.
| const std::string & impeller::RuntimeStage::GetEntrypoint | ( | ) | const |
Definition at line 241 of file runtime_stage.cc.
Referenced by impeller::RuntimeStagePlayground::RegisterStage().
| const std::string & impeller::RuntimeStage::GetLibraryId | ( | ) | const |
Definition at line 261 of file runtime_stage.cc.
| RuntimeShaderStage impeller::RuntimeStage::GetShaderStage | ( | ) | const |
Definition at line 245 of file runtime_stage.cc.
Referenced by impeller::RuntimeStagePlayground::RegisterStage().
| const RuntimeUniformDescription * impeller::RuntimeStage::GetUniform | ( | const std::string & | name | ) | const |
Definition at line 231 of file runtime_stage.cc.
References name.
| const std::vector< RuntimeUniformDescription > & impeller::RuntimeStage::GetUniforms | ( | ) | const |
Definition at line 226 of file runtime_stage.cc.
Referenced by Create().
| bool impeller::RuntimeStage::IsDirty | ( | ) | const |
Definition at line 249 of file runtime_stage.cc.
|
default |
| void impeller::RuntimeStage::SetClean | ( | ) |
Definition at line 253 of file runtime_stage.cc.
| void impeller::RuntimeStage::SetLibraryId | ( | std::string | library_id | ) |
Stable per-source identifier used to namespace this stage's entrypoint in the shared shader registry, so that user-supplied runtime shaders cannot collide with engine-internal shaders or with shaders from other asset paths. Defaults to a process-unique fallback assigned at decode time. Should be overwritten with a stable id (typically the asset path the stage was loaded from) so that hot reload of the same asset continues to evict and replace the same registry slot.
Definition at line 257 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 23 of file runtime_stage.h.
Referenced by impeller::testing::TEST_P(), impeller::testing::TEST_P(), and impeller::testing::TEST_P().