RetroArch
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
glslang::TDefaultIoResolverBase Struct Referenceabstract
Inheritance diagram for glslang::TDefaultIoResolverBase:
[legend]
Collaboration diagram for glslang::TDefaultIoResolverBase:
[legend]

Public Types

typedef std::vector< int > TSlotSet
 
typedef std::unordered_map< int, TSlotSetTSlotSetMap
 

Public Member Functions

 TDefaultIoResolverBase (const TIntermediate &intermediate)
 
int getBaseBinding (TResourceType res, unsigned int set) const
 
const std::vector< std::string > & getResourceSetBinding () const
 
bool doAutoBindingMapping () const
 
bool doAutoLocationMapping () const
 
TSlotSet::iterator findSlot (int set, int slot)
 
bool checkEmpty (int set, int slot)
 
int reserveSlot (int set, int slot, int size=1)
 
int getFreeSlot (int set, int base, int size=1)
 
virtual bool validateBinding (EShLanguage, const char *, const glslang::TType &type, bool) override=0
 
virtual int resolveBinding (EShLanguage, const char *, const glslang::TType &type, bool is_live) override=0
 
int resolveSet (EShLanguage, const char *, const glslang::TType &type, bool) override
 
int resolveUniformLocation (EShLanguage, const char *, const glslang::TType &type, bool) override
 
bool validateInOut (EShLanguage, const char *, const TType &, bool) override
 
int resolveInOutLocation (EShLanguage stage, const char *, const TType &type, bool) override
 
int resolveInOutComponent (EShLanguage, const char *, const TType &, bool) override
 
int resolveInOutIndex (EShLanguage, const char *, const TType &, bool) override
 
void notifyBinding (EShLanguage, const char *, const TType &, bool) override
 
void notifyInOut (EShLanguage, const char *, const TType &, bool) override
 
void endNotifications (EShLanguage) override
 
void beginNotifications (EShLanguage) override
 
void beginResolve (EShLanguage) override
 
void endResolve (EShLanguage) override
 
- Public Member Functions inherited from glslang::TIoMapResolver
virtual ~TIoMapResolver ()
 

Public Attributes

TSlotSetMap slots
 

Protected Member Functions

int selectBaseBinding (int base, int descriptorSetBase) const
 

Static Protected Member Functions

static int getLayoutSet (const glslang::TType &type)
 
static bool isSamplerType (const glslang::TType &type)
 
static bool isTextureType (const glslang::TType &type)
 
static bool isUboType (const glslang::TType &type)
 

Protected Attributes

const TIntermediateintermediate
 
int nextUniformLocation
 
int nextInputLocation
 
int nextOutputLocation
 

Member Typedef Documentation

◆ TSlotSet

◆ TSlotSetMap

typedef std::unordered_map<int, TSlotSet> glslang::TDefaultIoResolverBase::TSlotSetMap

Constructor & Destructor Documentation

◆ TDefaultIoResolverBase()

glslang::TDefaultIoResolverBase::TDefaultIoResolverBase ( const TIntermediate intermediate)
inline

Member Function Documentation

◆ beginNotifications()

void glslang::TDefaultIoResolverBase::beginNotifications ( EShLanguage  )
inlineoverridevirtual

◆ beginResolve()

void glslang::TDefaultIoResolverBase::beginResolve ( EShLanguage  )
inlineoverridevirtual

◆ checkEmpty()

bool glslang::TDefaultIoResolverBase::checkEmpty ( int  set,
int  slot 
)
inline
Here is the call graph for this function:

◆ doAutoBindingMapping()

bool glslang::TDefaultIoResolverBase::doAutoBindingMapping ( ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ doAutoLocationMapping()

bool glslang::TDefaultIoResolverBase::doAutoLocationMapping ( ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ endNotifications()

void glslang::TDefaultIoResolverBase::endNotifications ( EShLanguage  )
inlineoverridevirtual

◆ endResolve()

void glslang::TDefaultIoResolverBase::endResolve ( EShLanguage  )
inlineoverridevirtual

◆ findSlot()

TSlotSet::iterator glslang::TDefaultIoResolverBase::findSlot ( int  set,
int  slot 
)
inline
Here is the caller graph for this function:

◆ getBaseBinding()

int glslang::TDefaultIoResolverBase::getBaseBinding ( TResourceType  res,
unsigned int  set 
) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFreeSlot()

int glslang::TDefaultIoResolverBase::getFreeSlot ( int  set,
int  base,
int  size = 1 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLayoutSet()

static int glslang::TDefaultIoResolverBase::getLayoutSet ( const glslang::TType type)
inlinestaticprotected
Here is the caller graph for this function:

◆ getResourceSetBinding()

const std::vector<std::string>& glslang::TDefaultIoResolverBase::getResourceSetBinding ( ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isSamplerType()

static bool glslang::TDefaultIoResolverBase::isSamplerType ( const glslang::TType type)
inlinestaticprotected
Here is the caller graph for this function:

◆ isTextureType()

static bool glslang::TDefaultIoResolverBase::isTextureType ( const glslang::TType type)
inlinestaticprotected
Here is the caller graph for this function:

◆ isUboType()

static bool glslang::TDefaultIoResolverBase::isUboType ( const glslang::TType type)
inlinestaticprotected
Here is the caller graph for this function:

◆ notifyBinding()

void glslang::TDefaultIoResolverBase::notifyBinding ( EShLanguage  ,
const char *  ,
const TType ,
bool   
)
inlineoverridevirtual

◆ notifyInOut()

void glslang::TDefaultIoResolverBase::notifyInOut ( EShLanguage  ,
const char *  ,
const TType ,
bool   
)
inlineoverridevirtual

◆ reserveSlot()

int glslang::TDefaultIoResolverBase::reserveSlot ( int  set,
int  slot,
int  size = 1 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ resolveBinding()

virtual int glslang::TDefaultIoResolverBase::resolveBinding ( EShLanguage  ,
const char *  ,
const glslang::TType type,
bool  is_live 
)
overridepure virtual

◆ resolveInOutComponent()

int glslang::TDefaultIoResolverBase::resolveInOutComponent ( EShLanguage  ,
const char *  ,
const TType ,
bool   
)
inlineoverridevirtual

◆ resolveInOutIndex()

int glslang::TDefaultIoResolverBase::resolveInOutIndex ( EShLanguage  ,
const char *  ,
const TType ,
bool   
)
inlineoverridevirtual

◆ resolveInOutLocation()

int glslang::TDefaultIoResolverBase::resolveInOutLocation ( EShLanguage  stage,
const char *  ,
const TType type,
bool   
)
inlineoverridevirtual

Implements glslang::TIoMapResolver.

Here is the call graph for this function:

◆ resolveSet()

int glslang::TDefaultIoResolverBase::resolveSet ( EShLanguage  ,
const char *  ,
const glslang::TType type,
bool   
)
inlineoverridevirtual

Implements glslang::TIoMapResolver.

Here is the call graph for this function:

◆ resolveUniformLocation()

int glslang::TDefaultIoResolverBase::resolveUniformLocation ( EShLanguage  ,
const char *  ,
const glslang::TType type,
bool   
)
inlineoverridevirtual

Implements glslang::TIoMapResolver.

Here is the call graph for this function:

◆ selectBaseBinding()

int glslang::TDefaultIoResolverBase::selectBaseBinding ( int  base,
int  descriptorSetBase 
) const
inlineprotected
Here is the caller graph for this function:

◆ validateBinding()

virtual bool glslang::TDefaultIoResolverBase::validateBinding ( EShLanguage  ,
const char *  ,
const glslang::TType type,
bool   
)
overridepure virtual

◆ validateInOut()

bool glslang::TDefaultIoResolverBase::validateInOut ( EShLanguage  ,
const char *  ,
const TType ,
bool   
)
inlineoverridevirtual

Member Data Documentation

◆ intermediate

const TIntermediate& glslang::TDefaultIoResolverBase::intermediate
protected

◆ nextInputLocation

int glslang::TDefaultIoResolverBase::nextInputLocation
protected

◆ nextOutputLocation

int glslang::TDefaultIoResolverBase::nextOutputLocation
protected

◆ nextUniformLocation

int glslang::TDefaultIoResolverBase::nextUniformLocation
protected

◆ slots

TSlotSetMap glslang::TDefaultIoResolverBase::slots

The documentation for this struct was generated from the following file: