#include <recording_render_pass.h>
Public Member Functions | |
| RecordingRenderPass (std::shared_ptr< RenderPass > delegate, const std::shared_ptr< const Context > &context, const RenderTarget &render_target) | |
| ~RecordingRenderPass ()=default | |
| const std::vector< Command > & | GetCommands () const override |
| Accessor for the current Commands. | |
| void | SetPipeline (PipelineRef pipeline) override |
| The pipeline to use for this command. | |
| void | SetCommandLabel (std::string_view label) override |
| The debugging label to use for the command. | |
| void | SetStencilReference (uint32_t value) override |
| void | SetBaseVertex (uint64_t value) override |
| void | SetViewport (Viewport viewport) override |
| void | SetScissor (IRect32 scissor) override |
| void | SetInstanceCount (size_t count) override |
| bool | SetVertexBuffer (VertexBuffer buffer) override |
| Specify the vertex and index buffer to use for this command. | |
| fml::Status | Draw () override |
| Record the currently pending command. | |
| bool | BindResource (ShaderStage stage, DescriptorType type, const ShaderUniformSlot &slot, const ShaderMetadata *metadata, BufferView view) override |
| bool | BindResource (ShaderStage stage, DescriptorType type, const SampledImageSlot &slot, const ShaderMetadata *metadata, std::shared_ptr< const Texture > texture, raw_ptr< const Sampler > sampler) override |
| bool | BindDynamicResource (ShaderStage stage, DescriptorType type, const ShaderUniformSlot &slot, std::unique_ptr< ShaderMetadata > metadata, BufferView view) override |
| Bind with dynamically generated shader metadata. | |
| bool | BindDynamicResource (ShaderStage stage, DescriptorType type, const SampledImageSlot &slot, std::unique_ptr< ShaderMetadata > metadata, std::shared_ptr< const Texture > texture, raw_ptr< const Sampler > sampler) override |
| void | OnSetLabel (std::string_view label) override |
| bool | OnEncodeCommands (const Context &context) const override |
| bool | IsValid () const override |
Public Member Functions inherited from impeller::RenderPass | |
| virtual | ~RenderPass () |
| const std::shared_ptr< const Context > & | GetContext () const |
| const RenderTarget & | GetRenderTarget () const |
| ISize | GetRenderTargetSize () const |
| const Matrix & | GetOrthographicTransform () const |
| void | SetLabel (std::string_view label) |
| void | SetPipeline (const std::shared_ptr< Pipeline< PipelineDescriptor > > &pipeline) |
| The pipeline to use for this command. | |
| virtual void | SetElementCount (size_t count) |
| bool | SetVertexBuffer (BufferView vertex_buffer) |
| Specify a vertex buffer to use for this command. | |
| bool | SetVertexBuffer (std::vector< BufferView > vertex_buffers) |
| Specify a set of vertex buffers to use for this command. | |
| virtual bool | SetVertexBuffer (BufferView vertex_buffers[], size_t vertex_buffer_count) |
| Specify a set of vertex buffers to use for this command. | |
| virtual bool | SetIndexBuffer (BufferView index_buffer, IndexType index_type) |
| Specify an index buffer to use for this command. To unset the index buffer, pass IndexType::kNone to index_type. | |
| virtual bool | BindResource (ShaderStage stage, DescriptorType type, const SampledImageSlot &slot, const ShaderMetadata *metadata, std::shared_ptr< const Texture > texture, raw_ptr< const Sampler >) override |
| virtual bool | BindDynamicResource (ShaderStage stage, DescriptorType type, const SampledImageSlot &slot, std::unique_ptr< ShaderMetadata > metadata, std::shared_ptr< const Texture > texture, raw_ptr< const Sampler >) |
| Bind with dynamically generated shader metadata. | |
| bool | EncodeCommands () const |
| Encode the recorded commands to the underlying command buffer. | |
| SampleCount | GetSampleCount () const |
| The sample count of the attached render target. | |
| PixelFormat | GetRenderTargetPixelFormat () const |
| The pixel format of the attached render target. | |
| bool | HasDepthAttachment () const |
| Whether the render target has a depth attachment. | |
| bool | HasStencilAttachment () const |
| Whether the render target has an stencil attachment. | |
Public Member Functions inherited from impeller::ResourceBinder | |
| virtual | ~ResourceBinder ()=default |
Additional Inherited Members | |
Protected Member Functions inherited from impeller::RenderPass | |
| bool | AddCommand (Command &&command) |
| Record a command for subsequent encoding to the underlying command buffer. No work is encoded into the command buffer at this time. | |
| RenderPass (std::shared_ptr< const Context > context, const RenderTarget &target) | |
Static Protected Member Functions inherited from impeller::RenderPass | |
| static bool | ValidateVertexBuffers (const BufferView vertex_buffers[], size_t vertex_buffer_count) |
| static bool | ValidateIndexBuffer (const BufferView &index_buffer, IndexType index_type) |
Protected Attributes inherited from impeller::RenderPass | |
| const std::shared_ptr< const Context > | context_ |
| const SampleCount | sample_count_ |
| const PixelFormat | pixel_format_ |
| const bool | has_depth_attachment_ |
| const bool | has_stencil_attachment_ |
| const ISize | render_target_size_ |
| const RenderTarget | render_target_ |
| std::vector< Command > | commands_ |
| std::vector< BufferView > | vertex_buffers_ |
| std::vector< BufferResource > | bound_buffers_ |
| std::vector< TextureAndSampler > | bound_textures_ |
| const Matrix | orthographic_ |
Definition at line 12 of file recording_render_pass.h.
|
explicit |
Definition at line 11 of file recording_render_pass.cc.
|
default |
|
override |
Definition at line 132 of file recording_render_pass.cc.
|
overridevirtual |
Bind with dynamically generated shader metadata.
Reimplemented from impeller::RenderPass.
Definition at line 118 of file recording_render_pass.cc.
|
override |
|
overridevirtual |
Reimplemented from impeller::RenderPass.
Definition at line 106 of file recording_render_pass.cc.
|
overridevirtual |
Record the currently pending command.
Reimplemented from impeller::RenderPass.
Definition at line 83 of file recording_render_pass.cc.
|
inlineoverridevirtual |
Accessor for the current Commands.
Visible for testing.
Reimplemented from impeller::RenderPass.
Definition at line 20 of file recording_render_pass.h.
|
inlineoverridevirtual |
Implements impeller::RenderPass.
Definition at line 82 of file recording_render_pass.h.
|
overridevirtual |
Implements impeller::RenderPass.
Definition at line 98 of file recording_render_pass.cc.
|
overridevirtual |
Implements impeller::RenderPass.
Definition at line 93 of file recording_render_pass.cc.
|
overridevirtual |
Reimplemented from impeller::RenderPass.
Definition at line 43 of file recording_render_pass.cc.
References impeller::Command::base_vertex, and value.
|
overridevirtual |
The debugging label to use for the command.
Reimplemented from impeller::RenderPass.
Definition at line 25 of file recording_render_pass.cc.
|
overridevirtual |
The number of instances of the given set of vertices to render. Not all backends support rendering more than one instance at a time.
Reimplemented from impeller::RenderPass.
Definition at line 67 of file recording_render_pass.cc.
References impeller::Command::instance_count.
|
overridevirtual |
The pipeline to use for this command.
Reimplemented from impeller::RenderPass.
Definition at line 18 of file recording_render_pass.cc.
References impeller::Command::pipeline.
|
overridevirtual |
The scissor rect to use for clipping writes to the render target. The scissor rect must lie entirely within the render target. If unset, no scissor is applied.
Reimplemented from impeller::RenderPass.
Definition at line 59 of file recording_render_pass.cc.
References impeller::Command::scissor.
|
overridevirtual |
The reference value to use in stenciling operations. Stencil configuration is part of pipeline setup and can be read from the pipelines descriptor.
Pipeline PipelineDescriptor Reimplemented from impeller::RenderPass.
Definition at line 35 of file recording_render_pass.cc.
References impeller::Command::stencil_reference, and value.
|
overridevirtual |
Specify the vertex and index buffer to use for this command.
| [in] | buffer | The vertex and index buffer definition. If possible, this value should be moved and not copied. |
Reimplemented from impeller::RenderPass.
Definition at line 75 of file recording_render_pass.cc.
References flutter::buffer.
|
overridevirtual |
The viewport coordinates that the rasterizer linearly maps normalized device coordinates to. If unset, the viewport is the size of the render target with a zero origin, znear=0, and zfar=1.
Reimplemented from impeller::RenderPass.
Definition at line 51 of file recording_render_pass.cc.
References impeller::Command::viewport.