Classes | Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
gte::GLSLReflection Class Reference

#include <GteGLSLReflection.h>

Classes

struct  AtomicCounterBuffer
 
struct  BufferVariable
 
struct  DataBlock
 
struct  EnumMap
 
struct  Input
 
struct  Output
 
struct  SubroutineUniform
 
struct  TransformFeedbackBuffer
 
struct  TransformFeedbackVarying
 
struct  Uniform
 

Public Types

enum  {
  ST_VERTEX, ST_GEOMETRY, ST_PIXEL, ST_COMPUTE,
  ST_TESSCONTROL, ST_TESSEVALUATION
}
 

Public Member Functions

std::vector< AtomicCounterBuffer > const & GetAtomicCounterBuffers () const
 
std::vector< DataBlock > const & GetBufferBlocks () const
 
std::vector< BufferVariable > const & GetBufferVariables () const
 
void GetComputeShaderWorkGroupSize (GLint &numXThreads, GLint &numYThreads, GLint &numZThreads) const
 
std::vector< Input > const & GetInputs () const
 
std::vector< Output > const & GetOutputs () const
 
GLuint GetProgramHandle () const
 
std::vector< DataBlock > const & GetUniformBlocks () const
 
std::vector< Uniform > const & GetUniforms () const
 
 GLSLReflection (GLuint handle)
 
void Print (std::ofstream &output) const
 

Private Member Functions

void IntelWorkaround (std::string const &name, GLint results[])
 
void ReflectAtomicCounterBuffers ()
 
void ReflectBufferVariables ()
 
void ReflectDataBlocks (GLenum programInterface, std::vector< DataBlock > &blocks)
 
void ReflectProgramInputs ()
 
void ReflectProgramOutputs ()
 
void ReflectSubroutines (GLenum programInterface, std::vector< std::string > &subroutines)
 
void ReflectSubroutineUniforms (GLenum programInterface, std::vector< SubroutineUniform > &subUniforms)
 
void ReflectTransformFeedbackBuffers ()
 
void ReflectTransformFeedbackVaryings ()
 
void ReflectUniforms ()
 

Static Private Member Functions

static std::string GetEnumName (GLenum value)
 
static std::string GetEnumShaderName (GLenum value)
 
static unsigned GetEnumSize (GLenum value, GLint arraySize, GLint arrayStride, GLint matrixStride, GLint isRowMajor)
 
static std::string GetReferencedByShaderList (GLint const referencedBy[6])
 

Private Attributes

std::vector< AtomicCounterBuffermAtomicCounterBuffers
 
std::vector< BufferVariablemBufferVariables
 
std::vector< std::stringmComputeSubroutines
 
std::vector< SubroutineUniformmComputeSubroutineUniforms
 
std::vector< std::stringmGeometrySubroutines
 
std::vector< SubroutineUniformmGeometrySubroutineUniforms
 
GLuint mHandle
 
std::vector< InputmInputs
 
std::vector< OutputmOutputs
 
std::vector< std::stringmPixelSubroutines
 
std::vector< SubroutineUniformmPixelSubroutineUniforms
 
std::vector< DataBlockmShaderStorageBlocks
 
std::map< GLenum, intmShaderTypeMap
 
std::vector< std::stringmTessControlSubroutines
 
std::vector< SubroutineUniformmTessControlSubroutineUniforms
 
std::vector< std::stringmTessEvaluationSubroutines
 
std::vector< SubroutineUniformmTessEvaluationSubroutineUniforms
 
std::vector< TransformFeedbackBuffermTransformFeedbackBuffers
 
std::vector< TransformFeedbackVaryingmTransformFeedbackVaryings
 
std::vector< DataBlockmUniformBlocks
 
std::vector< UniformmUniforms
 
bool mVendorIsIntel
 
std::vector< std::stringmVertexSubroutines
 
std::vector< SubroutineUniformmVertexSubroutineUniforms
 

Static Private Attributes

static const EnumMap msEnumMap []
 

Detailed Description

Definition at line 23 of file GteGLSLReflection.h.

Member Enumeration Documentation

anonymous enum
Enumerator
ST_VERTEX 
ST_GEOMETRY 
ST_PIXEL 
ST_COMPUTE 
ST_TESSCONTROL 
ST_TESSEVALUATION 

Definition at line 30 of file GteGLSLReflection.h.

Constructor & Destructor Documentation

GLSLReflection::GLSLReflection ( GLuint  handle)

Definition at line 14 of file GteGLSLReflection.cpp.

Member Function Documentation

std::vector< GLSLReflection::AtomicCounterBuffer > const & gte::GLSLReflection::GetAtomicCounterBuffers ( ) const
inline

Definition at line 260 of file GteGLSLReflection.h.

std::vector< GLSLReflection::DataBlock > const & gte::GLSLReflection::GetBufferBlocks ( ) const
inline

Definition at line 254 of file GteGLSLReflection.h.

std::vector< GLSLReflection::BufferVariable > const & gte::GLSLReflection::GetBufferVariables ( ) const
inline

Definition at line 248 of file GteGLSLReflection.h.

void GLSLReflection::GetComputeShaderWorkGroupSize ( GLint numXThreads,
GLint numYThreads,
GLint numZThreads 
) const

Definition at line 65 of file GteGLSLReflection.cpp.

std::string GLSLReflection::GetEnumName ( GLenum  value)
staticprivate

Definition at line 978 of file GteGLSLReflection.cpp.

std::string GLSLReflection::GetEnumShaderName ( GLenum  value)
staticprivate

Definition at line 992 of file GteGLSLReflection.cpp.

unsigned GLSLReflection::GetEnumSize ( GLenum  value,
GLint  arraySize,
GLint  arrayStride,
GLint  matrixStride,
GLint  isRowMajor 
)
staticprivate

Definition at line 945 of file GteGLSLReflection.cpp.

std::vector< GLSLReflection::Input > const & gte::GLSLReflection::GetInputs ( ) const
inline

Definition at line 224 of file GteGLSLReflection.h.

std::vector< GLSLReflection::Output > const & gte::GLSLReflection::GetOutputs ( ) const
inline

Definition at line 230 of file GteGLSLReflection.h.

GLuint gte::GLSLReflection::GetProgramHandle ( ) const
inline

Definition at line 218 of file GteGLSLReflection.h.

std::string GLSLReflection::GetReferencedByShaderList ( GLint const  referencedBy[6])
staticprivate

Definition at line 1006 of file GteGLSLReflection.cpp.

std::vector< GLSLReflection::DataBlock > const & gte::GLSLReflection::GetUniformBlocks ( ) const
inline

Definition at line 242 of file GteGLSLReflection.h.

std::vector< GLSLReflection::Uniform > const & gte::GLSLReflection::GetUniforms ( ) const
inline

Definition at line 236 of file GteGLSLReflection.h.

void GLSLReflection::IntelWorkaround ( std::string const &  name,
GLint  results[] 
)
private

Definition at line 1020 of file GteGLSLReflection.cpp.

void GLSLReflection::Print ( std::ofstream &  output) const

Definition at line 74 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectAtomicCounterBuffers ( )
private

Definition at line 637 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectBufferVariables ( )
private

Definition at line 767 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectDataBlocks ( GLenum  programInterface,
std::vector< DataBlock > &  blocks 
)
private

Definition at line 567 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectProgramInputs ( )
private

Definition at line 361 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectProgramOutputs ( )
private

Definition at line 413 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectSubroutines ( GLenum  programInterface,
std::vector< std::string > &  subroutines 
)
private

Definition at line 692 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectSubroutineUniforms ( GLenum  programInterface,
std::vector< SubroutineUniform > &  subUniforms 
)
private

Definition at line 717 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectTransformFeedbackBuffers ( )
private

Definition at line 904 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectTransformFeedbackVaryings ( )
private

Definition at line 866 of file GteGLSLReflection.cpp.

void GLSLReflection::ReflectUniforms ( )
private

Definition at line 467 of file GteGLSLReflection.cpp.

Member Data Documentation

std::vector<AtomicCounterBuffer> gte::GLSLReflection::mAtomicCounterBuffers
private

Definition at line 174 of file GteGLSLReflection.h.

std::vector<BufferVariable> gte::GLSLReflection::mBufferVariables
private

Definition at line 187 of file GteGLSLReflection.h.

std::vector<std::string> gte::GLSLReflection::mComputeSubroutines
private

Definition at line 178 of file GteGLSLReflection.h.

std::vector<SubroutineUniform> gte::GLSLReflection::mComputeSubroutineUniforms
private

Definition at line 184 of file GteGLSLReflection.h.

std::vector<std::string> gte::GLSLReflection::mGeometrySubroutines
private

Definition at line 176 of file GteGLSLReflection.h.

std::vector<SubroutineUniform> gte::GLSLReflection::mGeometrySubroutineUniforms
private

Definition at line 182 of file GteGLSLReflection.h.

GLuint gte::GLSLReflection::mHandle
private

Definition at line 168 of file GteGLSLReflection.h.

std::vector<Input> gte::GLSLReflection::mInputs
private

Definition at line 169 of file GteGLSLReflection.h.

std::vector<Output> gte::GLSLReflection::mOutputs
private

Definition at line 170 of file GteGLSLReflection.h.

std::vector<std::string> gte::GLSLReflection::mPixelSubroutines
private

Definition at line 177 of file GteGLSLReflection.h.

std::vector<SubroutineUniform> gte::GLSLReflection::mPixelSubroutineUniforms
private

Definition at line 183 of file GteGLSLReflection.h.

const GLSLReflection::EnumMap GLSLReflection::msEnumMap
staticprivate

Definition at line 201 of file GteGLSLReflection.h.

std::vector<DataBlock> gte::GLSLReflection::mShaderStorageBlocks
private

Definition at line 173 of file GteGLSLReflection.h.

std::map<GLenum, int> gte::GLSLReflection::mShaderTypeMap
private

Definition at line 215 of file GteGLSLReflection.h.

std::vector<std::string> gte::GLSLReflection::mTessControlSubroutines
private

Definition at line 179 of file GteGLSLReflection.h.

std::vector<SubroutineUniform> gte::GLSLReflection::mTessControlSubroutineUniforms
private

Definition at line 185 of file GteGLSLReflection.h.

std::vector<std::string> gte::GLSLReflection::mTessEvaluationSubroutines
private

Definition at line 180 of file GteGLSLReflection.h.

std::vector<SubroutineUniform> gte::GLSLReflection::mTessEvaluationSubroutineUniforms
private

Definition at line 186 of file GteGLSLReflection.h.

std::vector<TransformFeedbackBuffer> gte::GLSLReflection::mTransformFeedbackBuffers
private

Definition at line 189 of file GteGLSLReflection.h.

std::vector<TransformFeedbackVarying> gte::GLSLReflection::mTransformFeedbackVaryings
private

Definition at line 188 of file GteGLSLReflection.h.

std::vector<DataBlock> gte::GLSLReflection::mUniformBlocks
private

Definition at line 172 of file GteGLSLReflection.h.

std::vector<Uniform> gte::GLSLReflection::mUniforms
private

Definition at line 171 of file GteGLSLReflection.h.

bool gte::GLSLReflection::mVendorIsIntel
private

Definition at line 214 of file GteGLSLReflection.h.

std::vector<std::string> gte::GLSLReflection::mVertexSubroutines
private

Definition at line 175 of file GteGLSLReflection.h.

std::vector<SubroutineUniform> gte::GLSLReflection::mVertexSubroutineUniforms
private

Definition at line 181 of file GteGLSLReflection.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06