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

#include <Program.h>

Inheritance diagram for gl::Program:
angle::NonCopyable gl::LabeledObject

Public Member Functions

 Program (rx::GLImplFactory *factory, ResourceManager *manager, GLuint handle)
 
 ~Program ()
 
GLuint id () const
 
void setLabel (const std::string &label) override
 
const std::string & getLabel () const override
 
rx::ProgramImpl * getImplementation () const
 
void attachShader (Shader *shader)
 
bool detachShader (Shader *shader)
 
int getAttachedShadersCount () const
 
const Shader * getAttachedVertexShader () const
 
const Shader * getAttachedFragmentShader () const
 
const Shader * getAttachedComputeShader () const
 
void bindAttributeLocation (GLuint index, const char *name)
 
void bindUniformLocation (GLuint index, const char *name)
 
BindingInfo getFragmentInputBindingInfo (GLint index) const
 
void bindFragmentInputLocation (GLint index, const char *name)
 
void pathFragmentInputGen (GLint index, GLenum genMode, GLint components, const GLfloat *coeffs)
 
Error link (const ContextState &data)
 
bool isLinked () const
 
Error loadBinary (GLenum binaryFormat, const void *binary, GLsizei length)
 
Error saveBinary (GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length) const
 
GLint getBinaryLength () const
 
void setBinaryRetrievableHint (bool retrievable)
 
bool getBinaryRetrievableHint () const
 
int getInfoLogLength () const
 
void getInfoLog (GLsizei bufSize, GLsizei *length, char *infoLog) const
 
void getAttachedShaders (GLsizei maxCount, GLsizei *count, GLuint *shaders) const
 
GLuint getAttributeLocation (const std::string &name) const
 
bool isAttribLocationActive (size_t attribLocation) const
 
void getActiveAttribute (GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
 
GLint getActiveAttributeCount () const
 
GLint getActiveAttributeMaxLength () const
 
const std::vector< sh::Attribute > & getAttributes () const
 
GLint getFragDataLocation (const std::string &name) const
 
void getActiveUniform (GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) const
 
GLint getActiveUniformCount () const
 
GLint getActiveUniformMaxLength () const
 
GLint getActiveUniformi (GLuint index, GLenum pname) const
 
bool isValidUniformLocation (GLint location) const
 
bool isIgnoredUniformLocation (GLint location) const
 
const LinkedUniform & getUniformByLocation (GLint location) const
 
GLint getUniformLocation (const std::string &name) const
 
GLuint getUniformIndex (const std::string &name) const
 
void setUniform1fv (GLint location, GLsizei count, const GLfloat *v)
 
void setUniform2fv (GLint location, GLsizei count, const GLfloat *v)
 
void setUniform3fv (GLint location, GLsizei count, const GLfloat *v)
 
void setUniform4fv (GLint location, GLsizei count, const GLfloat *v)
 
void setUniform1iv (GLint location, GLsizei count, const GLint *v)
 
void setUniform2iv (GLint location, GLsizei count, const GLint *v)
 
void setUniform3iv (GLint location, GLsizei count, const GLint *v)
 
void setUniform4iv (GLint location, GLsizei count, const GLint *v)
 
void setUniform1uiv (GLint location, GLsizei count, const GLuint *v)
 
void setUniform2uiv (GLint location, GLsizei count, const GLuint *v)
 
void setUniform3uiv (GLint location, GLsizei count, const GLuint *v)
 
void setUniform4uiv (GLint location, GLsizei count, const GLuint *v)
 
void setUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void setUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 
void getUniformfv (GLint location, GLfloat *params) const
 
void getUniformiv (GLint location, GLint *params) const
 
void getUniformuiv (GLint location, GLuint *params) const
 
void getActiveUniformBlockName (GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) const
 
GLuint getActiveUniformBlockCount () const
 
GLint getActiveUniformBlockMaxLength () const
 
GLuint getUniformBlockIndex (const std::string &name) const
 
void bindUniformBlock (GLuint uniformBlockIndex, GLuint uniformBlockBinding)
 
GLuint getUniformBlockBinding (GLuint uniformBlockIndex) const
 
const UniformBlock & getUniformBlockByIndex (GLuint index) const
 
void setTransformFeedbackVaryings (GLsizei count, const GLchar *const *varyings, GLenum bufferMode)
 
void getTransformFeedbackVarying (GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) const
 
GLsizei getTransformFeedbackVaryingCount () const
 
GLsizei getTransformFeedbackVaryingMaxLength () const
 
GLenum getTransformFeedbackBufferMode () const
 
void addRef ()
 
void release ()
 
unsigned int getRefCount () const
 
void flagForDeletion ()
 
bool isFlaggedForDeletion () const
 
void validate (const Caps &caps)
 
bool validateSamplers (InfoLog *infoLog, const Caps &caps)
 
bool isValidated () const
 
const AttributesMask & getActiveAttribLocationsMask () const
 
- Public Member Functions inherited from gl::LabeledObject
virtual ~LabeledObject ()
 

Static Public Member Functions

static bool linkValidateUniforms (InfoLog &infoLog, const std::string &uniformName, const sh::Uniform &vertexUniform, const sh::Uniform &fragmentUniform)
 
static bool linkValidateInterfaceBlockFields (InfoLog &infoLog, const std::string &uniformName, const sh::InterfaceBlockField &vertexUniform, const sh::InterfaceBlockField &fragmentUniform)
 

Constructor & Destructor Documentation

◆ Program()

gl::Program::Program ( rx::GLImplFactory *  factory,
ResourceManager *  manager,
GLuint  handle 
)

◆ ~Program()

gl::Program::~Program ( )

Member Function Documentation

◆ addRef()

void gl::Program::addRef ( void  )

◆ attachShader()

void gl::Program::attachShader ( Shader *  shader)

◆ bindAttributeLocation()

void gl::Program::bindAttributeLocation ( GLuint  index,
const char *  name 
)

◆ bindFragmentInputLocation()

void gl::Program::bindFragmentInputLocation ( GLint  index,
const char *  name 
)

◆ bindUniformBlock()

void gl::Program::bindUniformBlock ( GLuint  uniformBlockIndex,
GLuint  uniformBlockBinding 
)

◆ bindUniformLocation()

void gl::Program::bindUniformLocation ( GLuint  index,
const char *  name 
)

◆ detachShader()

bool gl::Program::detachShader ( Shader *  shader)

◆ flagForDeletion()

void gl::Program::flagForDeletion ( )

◆ getActiveAttribLocationsMask()

const AttributesMask& gl::Program::getActiveAttribLocationsMask ( ) const
inline

◆ getActiveAttribute()

void gl::Program::getActiveAttribute ( GLuint  index,
GLsizei  bufsize,
GLsizei *  length,
GLint *  size,
GLenum *  type,
GLchar *  name 
)

◆ getActiveAttributeCount()

GLint gl::Program::getActiveAttributeCount ( ) const

◆ getActiveAttributeMaxLength()

GLint gl::Program::getActiveAttributeMaxLength ( ) const

◆ getActiveUniform()

void gl::Program::getActiveUniform ( GLuint  index,
GLsizei  bufsize,
GLsizei *  length,
GLint *  size,
GLenum *  type,
GLchar *  name 
) const

◆ getActiveUniformBlockCount()

GLuint gl::Program::getActiveUniformBlockCount ( ) const

◆ getActiveUniformBlockMaxLength()

GLint gl::Program::getActiveUniformBlockMaxLength ( ) const

◆ getActiveUniformBlockName()

void gl::Program::getActiveUniformBlockName ( GLuint  uniformBlockIndex,
GLsizei  bufSize,
GLsizei *  length,
GLchar *  uniformBlockName 
) const

◆ getActiveUniformCount()

GLint gl::Program::getActiveUniformCount ( ) const

◆ getActiveUniformi()

GLint gl::Program::getActiveUniformi ( GLuint  index,
GLenum  pname 
) const

◆ getActiveUniformMaxLength()

GLint gl::Program::getActiveUniformMaxLength ( ) const

◆ getAttachedComputeShader()

const Shader* gl::Program::getAttachedComputeShader ( ) const
inline

◆ getAttachedFragmentShader()

const Shader* gl::Program::getAttachedFragmentShader ( ) const
inline

◆ getAttachedShaders()

void gl::Program::getAttachedShaders ( GLsizei  maxCount,
GLsizei *  count,
GLuint *  shaders 
) const

◆ getAttachedShadersCount()

int gl::Program::getAttachedShadersCount ( ) const

◆ getAttachedVertexShader()

const Shader* gl::Program::getAttachedVertexShader ( ) const
inline

◆ getAttributeLocation()

GLuint gl::Program::getAttributeLocation ( const std::string &  name) const

◆ getAttributes()

const std::vector<sh::Attribute>& gl::Program::getAttributes ( ) const
inline

◆ getBinaryLength()

GLint gl::Program::getBinaryLength ( ) const

◆ getBinaryRetrievableHint()

bool gl::Program::getBinaryRetrievableHint ( ) const

◆ getFragDataLocation()

GLint gl::Program::getFragDataLocation ( const std::string &  name) const

◆ getFragmentInputBindingInfo()

BindingInfo gl::Program::getFragmentInputBindingInfo ( GLint  index) const

◆ getImplementation()

rx::ProgramImpl* gl::Program::getImplementation ( ) const
inline

◆ getInfoLog()

void gl::Program::getInfoLog ( GLsizei  bufSize,
GLsizei *  length,
char *  infoLog 
) const

◆ getInfoLogLength()

int gl::Program::getInfoLogLength ( ) const

◆ getLabel()

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

Implements gl::LabeledObject.

◆ getRefCount()

unsigned int gl::Program::getRefCount ( ) const

◆ getTransformFeedbackBufferMode()

GLenum gl::Program::getTransformFeedbackBufferMode ( ) const

◆ getTransformFeedbackVarying()

void gl::Program::getTransformFeedbackVarying ( GLuint  index,
GLsizei  bufSize,
GLsizei *  length,
GLsizei *  size,
GLenum *  type,
GLchar *  name 
) const

◆ getTransformFeedbackVaryingCount()

GLsizei gl::Program::getTransformFeedbackVaryingCount ( ) const

◆ getTransformFeedbackVaryingMaxLength()

GLsizei gl::Program::getTransformFeedbackVaryingMaxLength ( ) const

◆ getUniformBlockBinding()

GLuint gl::Program::getUniformBlockBinding ( GLuint  uniformBlockIndex) const

◆ getUniformBlockByIndex()

const UniformBlock & gl::Program::getUniformBlockByIndex ( GLuint  index) const

◆ getUniformBlockIndex()

GLuint gl::Program::getUniformBlockIndex ( const std::string &  name) const

◆ getUniformByLocation()

const LinkedUniform & gl::Program::getUniformByLocation ( GLint  location) const

◆ getUniformfv()

void gl::Program::getUniformfv ( GLint  location,
GLfloat *  params 
) const

◆ getUniformIndex()

GLuint gl::Program::getUniformIndex ( const std::string &  name) const

◆ getUniformiv()

void gl::Program::getUniformiv ( GLint  location,
GLint *  params 
) const

◆ getUniformLocation()

GLint gl::Program::getUniformLocation ( const std::string &  name) const

◆ getUniformuiv()

void gl::Program::getUniformuiv ( GLint  location,
GLuint *  params 
) const

◆ id()

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

◆ isAttribLocationActive()

bool gl::Program::isAttribLocationActive ( size_t  attribLocation) const

◆ isFlaggedForDeletion()

bool gl::Program::isFlaggedForDeletion ( ) const

◆ isIgnoredUniformLocation()

bool gl::Program::isIgnoredUniformLocation ( GLint  location) const

◆ isLinked()

bool gl::Program::isLinked ( ) const

◆ isValidated()

bool gl::Program::isValidated ( ) const

◆ isValidUniformLocation()

bool gl::Program::isValidUniformLocation ( GLint  location) const

◆ link()

Error gl::Program::link ( const ContextState &  data)

◆ linkValidateInterfaceBlockFields()

bool gl::Program::linkValidateInterfaceBlockFields ( InfoLog &  infoLog,
const std::string &  uniformName,
const sh::InterfaceBlockField &  vertexUniform,
const sh::InterfaceBlockField &  fragmentUniform 
)
static

◆ linkValidateUniforms()

bool gl::Program::linkValidateUniforms ( InfoLog &  infoLog,
const std::string &  uniformName,
const sh::Uniform &  vertexUniform,
const sh::Uniform &  fragmentUniform 
)
static

◆ loadBinary()

Error gl::Program::loadBinary ( GLenum  binaryFormat,
const void *  binary,
GLsizei  length 
)

◆ pathFragmentInputGen()

void gl::Program::pathFragmentInputGen ( GLint  index,
GLenum  genMode,
GLint  components,
const GLfloat *  coeffs 
)

◆ release()

void gl::Program::release ( )

◆ saveBinary()

Error gl::Program::saveBinary ( GLenum *  binaryFormat,
void *  binary,
GLsizei  bufSize,
GLsizei *  length 
) const

◆ setBinaryRetrievableHint()

void gl::Program::setBinaryRetrievableHint ( bool  retrievable)

◆ setLabel()

void gl::Program::setLabel ( const std::string &  label)
overridevirtual

Implements gl::LabeledObject.

◆ setTransformFeedbackVaryings()

void gl::Program::setTransformFeedbackVaryings ( GLsizei  count,
const GLchar *const *  varyings,
GLenum  bufferMode 
)

◆ setUniform1fv()

void gl::Program::setUniform1fv ( GLint  location,
GLsizei  count,
const GLfloat *  v 
)

◆ setUniform1iv()

void gl::Program::setUniform1iv ( GLint  location,
GLsizei  count,
const GLint *  v 
)

◆ setUniform1uiv()

void gl::Program::setUniform1uiv ( GLint  location,
GLsizei  count,
const GLuint *  v 
)

◆ setUniform2fv()

void gl::Program::setUniform2fv ( GLint  location,
GLsizei  count,
const GLfloat *  v 
)

◆ setUniform2iv()

void gl::Program::setUniform2iv ( GLint  location,
GLsizei  count,
const GLint *  v 
)

◆ setUniform2uiv()

void gl::Program::setUniform2uiv ( GLint  location,
GLsizei  count,
const GLuint *  v 
)

◆ setUniform3fv()

void gl::Program::setUniform3fv ( GLint  location,
GLsizei  count,
const GLfloat *  v 
)

◆ setUniform3iv()

void gl::Program::setUniform3iv ( GLint  location,
GLsizei  count,
const GLint *  v 
)

◆ setUniform3uiv()

void gl::Program::setUniform3uiv ( GLint  location,
GLsizei  count,
const GLuint *  v 
)

◆ setUniform4fv()

void gl::Program::setUniform4fv ( GLint  location,
GLsizei  count,
const GLfloat *  v 
)

◆ setUniform4iv()

void gl::Program::setUniform4iv ( GLint  location,
GLsizei  count,
const GLint *  v 
)

◆ setUniform4uiv()

void gl::Program::setUniform4uiv ( GLint  location,
GLsizei  count,
const GLuint *  v 
)

◆ setUniformMatrix2fv()

void gl::Program::setUniformMatrix2fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix2x3fv()

void gl::Program::setUniformMatrix2x3fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix2x4fv()

void gl::Program::setUniformMatrix2x4fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix3fv()

void gl::Program::setUniformMatrix3fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix3x2fv()

void gl::Program::setUniformMatrix3x2fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix3x4fv()

void gl::Program::setUniformMatrix3x4fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix4fv()

void gl::Program::setUniformMatrix4fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix4x2fv()

void gl::Program::setUniformMatrix4x2fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ setUniformMatrix4x3fv()

void gl::Program::setUniformMatrix4x3fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

◆ validate()

void gl::Program::validate ( const Caps &  caps)

◆ validateSamplers()

bool gl::Program::validateSamplers ( InfoLog *  infoLog,
const Caps &  caps 
)

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