Flutter Impeller
impeller::RenderPassGLES Class Referencefinal

#include <render_pass_gles.h>

Inheritance diagram for impeller::RenderPassGLES:
impeller::RenderPass impeller::ResourceBinder

Public Member Functions

 ~RenderPassGLES () override
 
- Public Member Functions inherited from impeller::RenderPass
virtual ~RenderPass ()
 
const std::shared_ptr< const Context > & GetContext () const
 
const RenderTargetGetRenderTarget () const
 
ISize GetRenderTargetSize () const
 
const MatrixGetOrthographicTransform () const
 
void SetLabel (std::string_view label)
 
virtual void SetPipeline (PipelineRef pipeline)
 The pipeline to use for this command. More...
 
void SetPipeline (const std::shared_ptr< Pipeline< PipelineDescriptor >> &pipeline)
 The pipeline to use for this command. More...
 
virtual void SetCommandLabel (std::string_view label)
 The debugging label to use for the command. More...
 
virtual void SetStencilReference (uint32_t value)
 
virtual void SetBaseVertex (uint64_t value)
 
virtual void SetViewport (Viewport viewport)
 
virtual void SetScissor (IRect scissor)
 
virtual void SetElementCount (size_t count)
 
virtual void SetInstanceCount (size_t count)
 
virtual bool SetVertexBuffer (VertexBuffer buffer)
 Specify the vertex and index buffer to use for this command. More...
 
bool SetVertexBuffer (BufferView vertex_buffer)
 Specify a vertex buffer to use for this command. More...
 
bool SetVertexBuffer (std::vector< BufferView > vertex_buffers)
 Specify a set of vertex buffers to use for this command. More...
 
virtual bool SetVertexBuffer (BufferView vertex_buffers[], size_t vertex_buffer_count)
 Specify a set of vertex buffers to use for this command. More...
 
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. More...
 
virtual fml::Status Draw ()
 Record the currently pending command. More...
 
virtual bool BindResource (ShaderStage stage, DescriptorType type, const ShaderUniformSlot &slot, const ShaderMetadata *metadata, BufferView view) override
 
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. More...
 
virtual bool BindDynamicResource (ShaderStage stage, DescriptorType type, const ShaderUniformSlot &slot, std::unique_ptr< ShaderMetadata > metadata, BufferView view)
 Bind with dynamically generated shader metadata. More...
 
bool EncodeCommands () const
 Encode the recorded commands to the underlying command buffer. More...
 
virtual const std::vector< Command > & GetCommands () const
 Accessor for the current Commands. More...
 
SampleCount GetSampleCount () const
 The sample count of the attached render target. More...
 
PixelFormat GetRenderTargetPixelFormat () const
 The pixel format of the attached render target. More...
 
bool HasDepthAttachment () const
 Whether the render target has a depth attachment. More...
 
bool HasStencilAttachment () const
 Whether the render target has an stencil attachment. More...
 
- Public Member Functions inherited from impeller::ResourceBinder
virtual ~ResourceBinder ()=default
 

Static Public Member Functions

static void ResetGLState (const ProcTableGLES &gl)
 

Friends

class CommandBufferGLES
 

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. More...
 
 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 Contextcontext_
 
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< Commandcommands_
 
std::vector< BufferViewvertex_buffers_
 
std::vector< BufferResourcebound_buffers_
 
std::vector< TextureAndSamplerbound_textures_
 
const Matrix orthographic_
 

Detailed Description

Definition at line 15 of file render_pass_gles.h.

Constructor & Destructor Documentation

◆ ~RenderPassGLES()

impeller::RenderPassGLES::~RenderPassGLES ( )
overridedefault

Member Function Documentation

◆ ResetGLState()

void impeller::RenderPassGLES::ResetGLState ( const ProcTableGLES gl)
static

Definition at line 179 of file render_pass_gles.cc.

179  {
180  gl.Disable(GL_SCISSOR_TEST);
181  gl.Disable(GL_DEPTH_TEST);
182  gl.Disable(GL_STENCIL_TEST);
183  gl.Disable(GL_CULL_FACE);
184  gl.Disable(GL_BLEND);
185  gl.Disable(GL_DITHER);
186  gl.ColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
187  gl.DepthMask(GL_TRUE);
188  gl.StencilMaskSeparate(GL_FRONT, 0xFFFFFFFF);
189  gl.StencilMaskSeparate(GL_BACK, 0xFFFFFFFF);
190 }

Friends And Related Function Documentation

◆ CommandBufferGLES

friend class CommandBufferGLES
friend

Definition at line 25 of file render_pass_gles.h.


The documentation for this class was generated from the following files: