webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | List of all members
gl::Framebuffer Class Referencefinal

#include <Framebuffer.h>

Inheritance diagram for gl::Framebuffer:
gl::LabeledObject angle::SignalReceiver

Public Types

enum  DirtyBitType {
  DIRTY_BIT_COLOR_ATTACHMENT_0, DIRTY_BIT_COLOR_ATTACHMENT_MAX, DIRTY_BIT_DEPTH_ATTACHMENT = DIRTY_BIT_COLOR_ATTACHMENT_MAX, DIRTY_BIT_STENCIL_ATTACHMENT,
  DIRTY_BIT_DRAW_BUFFERS, DIRTY_BIT_READ_BUFFER, DIRTY_BIT_UNKNOWN, DIRTY_BIT_MAX = DIRTY_BIT_UNKNOWN
}
 
typedef std::bitset< DIRTY_BIT_MAXDirtyBits
 

Public Member Functions

 Framebuffer (const Caps &caps, rx::GLImplFactory *factory, GLuint id)
 
 Framebuffer (rx::SurfaceImpl *surface)
 
virtual ~Framebuffer ()
 
void setLabel (const std::string &label) override
 
const std::stringgetLabel () const override
 
rx::FramebufferImplgetImplementation () const
 
GLuint id () const
 
void setAttachment (GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource)
 
void resetAttachment (GLenum binding)
 
void detachTexture (GLuint texture)
 
void detachRenderbuffer (GLuint renderbuffer)
 
const FramebufferAttachmentgetColorbuffer (size_t colorAttachment) const
 
const FramebufferAttachmentgetDepthbuffer () const
 
const FramebufferAttachmentgetStencilbuffer () const
 
const FramebufferAttachmentgetDepthStencilBuffer () const
 
const FramebufferAttachmentgetDepthOrStencilbuffer () const
 
const FramebufferAttachmentgetReadColorbuffer () const
 
GLenum getReadColorbufferType () const
 
const FramebufferAttachmentgetFirstColorbuffer () const
 
const FramebufferAttachmentgetAttachment (GLenum attachment) const
 
size_t getDrawbufferStateCount () const
 
GLenum getDrawBufferState (size_t drawBuffer) const
 
const std::vector< GLenum > & getDrawBufferStates () const
 
void setDrawBuffers (size_t count, const GLenum *buffers)
 
const FramebufferAttachmentgetDrawBuffer (size_t drawBuffer) const
 
bool hasEnabledDrawBuffer () const
 
GLenum getReadBufferState () const
 
void setReadBuffer (GLenum buffer)
 
size_t getNumColorBuffers () const
 
bool hasDepth () const
 
bool hasStencil () const
 
bool usingExtendedDrawBuffers () const
 
int getSamples (const ContextState &state)
 
GLenum checkStatus (const ContextState &state)
 
bool complete (const ContextState &state)
 
bool hasValidDepthStencil () const
 
Error discard (size_t count, const GLenum *attachments)
 
Error invalidate (size_t count, const GLenum *attachments)
 
Error invalidateSub (size_t count, const GLenum *attachments, const gl::Rectangle &area)
 
Error clear (rx::ContextImpl *context, GLbitfield mask)
 
Error clearBufferfv (rx::ContextImpl *context, GLenum buffer, GLint drawbuffer, const GLfloat *values)
 
Error clearBufferuiv (rx::ContextImpl *context, GLenum buffer, GLint drawbuffer, const GLuint *values)
 
Error clearBufferiv (rx::ContextImpl *context, GLenum buffer, GLint drawbuffer, const GLint *values)
 
Error clearBufferfi (rx::ContextImpl *context, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
 
GLenum getImplementationColorReadFormat () const
 
GLenum getImplementationColorReadType () const
 
Error readPixels (rx::ContextImpl *context, const gl::Rectangle &area, GLenum format, GLenum type, GLvoid *pixels) const
 
Error blit (rx::ContextImpl *context, const Rectangle &sourceArea, const Rectangle &destArea, GLbitfield mask, GLenum filter)
 
bool hasAnyDirtyBit () const
 
void syncState ()
 
void signal (angle::SignalToken token) override
 
- Public Member Functions inherited from gl::LabeledObject
virtual ~LabeledObject ()
 
- Public Member Functions inherited from angle::SignalReceiver
virtual ~SignalReceiver ()=default
 

Member Typedef Documentation

◆ DirtyBits

Member Enumeration Documentation

◆ DirtyBitType

Enumerator
DIRTY_BIT_COLOR_ATTACHMENT_0 
DIRTY_BIT_COLOR_ATTACHMENT_MAX 
DIRTY_BIT_DEPTH_ATTACHMENT 
DIRTY_BIT_STENCIL_ATTACHMENT 
DIRTY_BIT_DRAW_BUFFERS 
DIRTY_BIT_READ_BUFFER 
DIRTY_BIT_UNKNOWN 
DIRTY_BIT_MAX 

Constructor & Destructor Documentation

◆ Framebuffer() [1/2]

gl::Framebuffer::Framebuffer ( const Caps caps,
rx::GLImplFactory factory,
GLuint  id 
)

◆ Framebuffer() [2/2]

gl::Framebuffer::Framebuffer ( rx::SurfaceImpl surface)

◆ ~Framebuffer()

gl::Framebuffer::~Framebuffer ( )
virtual

Member Function Documentation

◆ blit()

Error gl::Framebuffer::blit ( rx::ContextImpl context,
const Rectangle sourceArea,
const Rectangle destArea,
GLbitfield  mask,
GLenum  filter 
)

◆ checkStatus()

GLenum gl::Framebuffer::checkStatus ( const ContextState state)

◆ clear()

Error gl::Framebuffer::clear ( rx::ContextImpl context,
GLbitfield  mask 
)

◆ clearBufferfi()

Error gl::Framebuffer::clearBufferfi ( rx::ContextImpl context,
GLenum  buffer,
GLint  drawbuffer,
GLfloat  depth,
GLint  stencil 
)

◆ clearBufferfv()

Error gl::Framebuffer::clearBufferfv ( rx::ContextImpl context,
GLenum  buffer,
GLint  drawbuffer,
const GLfloat values 
)

◆ clearBufferiv()

Error gl::Framebuffer::clearBufferiv ( rx::ContextImpl context,
GLenum  buffer,
GLint  drawbuffer,
const GLint values 
)

◆ clearBufferuiv()

Error gl::Framebuffer::clearBufferuiv ( rx::ContextImpl context,
GLenum  buffer,
GLint  drawbuffer,
const GLuint values 
)

◆ complete()

bool gl::Framebuffer::complete ( const ContextState state)

◆ detachRenderbuffer()

void gl::Framebuffer::detachRenderbuffer ( GLuint  renderbuffer)

◆ detachTexture()

void gl::Framebuffer::detachTexture ( GLuint  texture)

◆ discard()

Error gl::Framebuffer::discard ( size_t  count,
const GLenum attachments 
)

◆ getAttachment()

const FramebufferAttachment * gl::Framebuffer::getAttachment ( GLenum  attachment) const

◆ getColorbuffer()

const FramebufferAttachment * gl::Framebuffer::getColorbuffer ( size_t  colorAttachment) const

◆ getDepthbuffer()

const FramebufferAttachment * gl::Framebuffer::getDepthbuffer ( ) const

◆ getDepthOrStencilbuffer()

const FramebufferAttachment * gl::Framebuffer::getDepthOrStencilbuffer ( ) const

◆ getDepthStencilBuffer()

const FramebufferAttachment * gl::Framebuffer::getDepthStencilBuffer ( ) const

◆ getDrawBuffer()

const FramebufferAttachment * gl::Framebuffer::getDrawBuffer ( size_t  drawBuffer) const

◆ getDrawBufferState()

GLenum gl::Framebuffer::getDrawBufferState ( size_t  drawBuffer) const

◆ getDrawbufferStateCount()

size_t gl::Framebuffer::getDrawbufferStateCount ( ) const

◆ getDrawBufferStates()

const std::vector< GLenum > & gl::Framebuffer::getDrawBufferStates ( ) const

◆ getFirstColorbuffer()

const FramebufferAttachment * gl::Framebuffer::getFirstColorbuffer ( ) const

◆ getImplementation()

rx::FramebufferImpl* gl::Framebuffer::getImplementation ( ) const
inline

◆ getImplementationColorReadFormat()

GLenum gl::Framebuffer::getImplementationColorReadFormat ( ) const

◆ getImplementationColorReadType()

GLenum gl::Framebuffer::getImplementationColorReadType ( ) const

◆ getLabel()

const std::string & gl::Framebuffer::getLabel ( ) const
overridevirtual

Implements gl::LabeledObject.

◆ getNumColorBuffers()

size_t gl::Framebuffer::getNumColorBuffers ( ) const

◆ getReadBufferState()

GLenum gl::Framebuffer::getReadBufferState ( ) const

◆ getReadColorbuffer()

const FramebufferAttachment * gl::Framebuffer::getReadColorbuffer ( ) const

◆ getReadColorbufferType()

GLenum gl::Framebuffer::getReadColorbufferType ( ) const

◆ getSamples()

int gl::Framebuffer::getSamples ( const ContextState state)

◆ getStencilbuffer()

const FramebufferAttachment * gl::Framebuffer::getStencilbuffer ( ) const

◆ hasAnyDirtyBit()

bool gl::Framebuffer::hasAnyDirtyBit ( ) const
inline

◆ hasDepth()

bool gl::Framebuffer::hasDepth ( ) const

◆ hasEnabledDrawBuffer()

bool gl::Framebuffer::hasEnabledDrawBuffer ( ) const

◆ hasStencil()

bool gl::Framebuffer::hasStencil ( ) const

◆ hasValidDepthStencil()

bool gl::Framebuffer::hasValidDepthStencil ( ) const

◆ id()

GLuint gl::Framebuffer::id ( ) const
inline

◆ invalidate()

Error gl::Framebuffer::invalidate ( size_t  count,
const GLenum attachments 
)

◆ invalidateSub()

Error gl::Framebuffer::invalidateSub ( size_t  count,
const GLenum attachments,
const gl::Rectangle area 
)

◆ readPixels()

Error gl::Framebuffer::readPixels ( rx::ContextImpl context,
const gl::Rectangle area,
GLenum  format,
GLenum  type,
GLvoid pixels 
) const

◆ resetAttachment()

void gl::Framebuffer::resetAttachment ( GLenum  binding)

◆ setAttachment()

void gl::Framebuffer::setAttachment ( GLenum  type,
GLenum  binding,
const ImageIndex textureIndex,
FramebufferAttachmentObject resource 
)

◆ setDrawBuffers()

void gl::Framebuffer::setDrawBuffers ( size_t  count,
const GLenum buffers 
)

◆ setLabel()

void gl::Framebuffer::setLabel ( const std::string label)
overridevirtual

Implements gl::LabeledObject.

◆ setReadBuffer()

void gl::Framebuffer::setReadBuffer ( GLenum  buffer)

◆ signal()

void gl::Framebuffer::signal ( angle::SignalToken  token)
overridevirtual

Implements angle::SignalReceiver.

◆ syncState()

void gl::Framebuffer::syncState ( )

◆ usingExtendedDrawBuffers()

bool gl::Framebuffer::usingExtendedDrawBuffers ( ) const

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