5#ifndef FLUTTER_IMPELLER_RENDERER_COMMAND_H_
6#define FLUTTER_IMPELLER_RENDERER_COMMAND_H_
26#define DEBUG_COMMAND_INFO(obj, arg) obj.label = arg;
28#define DEBUG_COMMAND_INFO(obj, arg)
39 :
resource(p_resource), metadata_(metadata) {}
41 Resource(std::shared_ptr<const ShaderMetadata>& metadata,
43 :
resource(p_resource), dynamic_metadata_(metadata) {}
46 return dynamic_metadata_ ? dynamic_metadata_.get() : metadata_;
54 std::shared_ptr<const ShaderMetadata> dynamic_metadata_;
64 const std::unique_ptr<const Sampler>&
sampler;
75 std::vector<BufferAndUniformSlot>
buffers;
96 std::shared_ptr<Pipeline<PipelineDescriptor>>
pipeline;
173 const std::shared_ptr<const ShaderMetadata>& metadata,
181 std::shared_ptr<const Texture>
texture,
182 const std::unique_ptr<const Sampler>& sampler)
override;
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder which is used for Skia shader cache icu native lib Path to the library file that exports the ICU data vm service The hostname IP address on which the Dart VM Service should be served If not defaults to or::depending on whether ipv6 is specified vm service A custom Dart VM Service port The default is to pick a randomly available open port disable vm Disable the Dart VM Service The Dart VM Service is never available in release mode disable vm service Disable mDNS Dart VM Service publication Bind to the IPv6 localhost address for the Dart VM Service Ignored if vm service host is set endless trace buffer
std::vector< BufferAndUniformSlot > buffers
std::vector< TextureAndSampler > sampled_images
An object used to specify work to the GPU along with references to resources the GPU will used when d...
std::shared_ptr< Pipeline< PipelineDescriptor > > pipeline
bool BindResource(ShaderStage stage, DescriptorType type, const SampledImageSlot &slot, const ShaderMetadata &metadata, std::shared_ptr< const Texture > texture, const std::unique_ptr< const Sampler > &sampler) override
Bindings fragment_bindings
uint32_t stencil_reference
std::optional< Viewport > viewport
VertexBuffer vertex_buffer
The bound per-vertex data and optional index buffer.
bool BindVertices(VertexBuffer buffer)
Specify the vertex and index buffer to use for this command.
std::optional< IRect > scissor
bool BindResource(ShaderStage stage, DescriptorType type, const ShaderUniformSlot &slot, const ShaderMetadata &metadata, BufferView view) override
bool BindResource(ShaderStage stage, DescriptorType type, const ShaderUniformSlot &slot, const std::shared_ptr< const ShaderMetadata > &metadata, BufferView view)
An interface for binding resources. This is implemented by |Command| and |ComputeCommand| to make GPU...
const ShaderMetadata * GetMetadata() const
Resource(std::shared_ptr< const ShaderMetadata > &metadata, ResourceType p_resource)
Resource(const ShaderMetadata *metadata, ResourceType p_resource)
Metadata required to bind a combined texture and sampler.
combines the texture, sampler and sampler slot information.
const std::unique_ptr< const Sampler > & sampler