HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
STY_VexResolver Class Reference

#include <STY_VexResolver.h>

+ Inheritance diagram for STY_VexResolver:

Public Member Functions

 STY_VexResolver ()
 
virtual ~STY_VexResolver ()
 
void registerShader (VEX_ContextType context_type, const UT_StringHolder &shader_name, const UT_StringHolder &shader_code)
 

Protected Member Functions

virtual bool canResolveCode (const char *shader)
 
virtual bool supportedByMantra (const char *shader)
 
virtual bool resolveVflCode (const char *shader, std::ostream &os, VEX_CodeGenFlags flags, int context_type)
 
virtual bool resolveVexCode (const char *shader, std::ostream &os, VEX_CodeGenFlags flags, int context_type, bool &is_pure_compiled_out, VEX_ErrorLog &errors)
 See comments for getVexCode(). More...
 
virtual bool resolveCacheVexCode (const char *shader, int context_type, VEX_ErrorLog &errors)
 
virtual bool resolveAddDependency (const char *shader, DEP_MicroNode *depnode)
 
virtual bool resolveDependencies (const char *shader, UT_StringArray &shader_deps, int context_type)
 
virtual int resolveCodeTimeStamp (const char *shader, int context_type)
 
virtual bool resolveVexContext (const char *shader, UT_String &ctx, int requested_context_type)
 
virtual bool resolveCanonicalPath (const char *shader, UT_String &canonical_shader)
 
virtual bool resolveAlias (const char *alias, UT_String &shader)
 
- Protected Member Functions inherited from VEX_VexResolver
 VEX_VexResolver ()
 
virtual ~VEX_VexResolver ()
 

Additional Inherited Members

- Static Public Member Functions inherited from VEX_VexResolver
static bool needsVexResolver (const char *shader)
 
static bool needsVexResolverForMantraOutput (const char *shader)
 
static bool getVflCode (const char *shader, std::ostream &os, VEX_CodeGenFlags code_flags=VEX_CG_DEFAULT, int context_type=0, VEX_ErrorLog *errors=nullptr)
 
static bool getVexCode (const char *shader, std::ostream &os, VEX_CodeGenFlags code_flags=VEX_CG_DEFAULT, int context_type=0, bool *is_pure_compiled_out=nullptr, VEX_ErrorLog *errors=nullptr)
 
static bool getDependencies (const char *shader, UT_StringArray &shader_dependencies, int context_type=0)
 
static bool addDependency (const char *shader, DEP_MicroNode *depmicronode)
 
static int getCodeTimeStamp (const char *shader, int context_type=0)
 
static void getEmptyVexCode (const char *shader, std::ostream &os)
 
static bool getVexContext (const char *shader, UT_String &ctx, int requested_context_type=0, VEX_ErrorLog *errors=nullptr)
 
static bool convertToCanonicalPath (const char *shader, UT_String &canonical_shader)
 
static bool convertAlias (const char *alias, UT_String &shader)
 
static bool cacheVexCode (const char *shader, int context_type=0, VEX_ErrorLog *errors=nullptr)
 

Detailed Description

Definition at line 23 of file STY_VexResolver.h.

Constructor & Destructor Documentation

STY_VexResolver::STY_VexResolver ( )
virtual STY_VexResolver::~STY_VexResolver ( )
virtual

Member Function Documentation

virtual bool STY_VexResolver::canResolveCode ( const char *  shader)
protectedvirtual

Implements VEX_VexResolver.

void STY_VexResolver::registerShader ( VEX_ContextType  context_type,
const UT_StringHolder shader_name,
const UT_StringHolder shader_code 
)
virtual bool STY_VexResolver::resolveAddDependency ( const char *  shader,
DEP_MicroNode depmicronode 
)
protectedvirtual

Marks a given micronode as dependent on our code. It will be dirtied whenever the generating VOPs change.

Implements VEX_VexResolver.

virtual bool STY_VexResolver::resolveAlias ( const char *  alias,
UT_String shader 
)
protectedvirtual

Implements VEX_VexResolver.

virtual bool STY_VexResolver::resolveCacheVexCode ( const char *  shader,
int  context_type,
VEX_ErrorLog errors 
)
inlineprotectedvirtual

Implements VEX_VexResolver.

Definition at line 44 of file STY_VexResolver.h.

virtual bool STY_VexResolver::resolveCanonicalPath ( const char *  shader,
UT_String canonical_shader 
)
protectedvirtual

Implements VEX_VexResolver.

virtual int STY_VexResolver::resolveCodeTimeStamp ( const char *  shader,
int  context_type 
)
protectedvirtual

Implements VEX_VexResolver.

virtual bool STY_VexResolver::resolveDependencies ( const char *  shader,
UT_StringArray shader_deps,
int  context_type 
)
protectedvirtual

Implements VEX_VexResolver.

virtual bool STY_VexResolver::resolveVexCode ( const char *  shader,
std::ostream &  os,
VEX_CodeGenFlags  code_flags,
int  context_type,
bool &  is_pure_compiled_out,
VEX_ErrorLog errors 
)
protectedvirtual

See comments for getVexCode().

Implements VEX_VexResolver.

virtual bool STY_VexResolver::resolveVexContext ( const char *  shader,
UT_String ctx,
int  requested_context_type 
)
protectedvirtual

Implements VEX_VexResolver.

virtual bool STY_VexResolver::resolveVflCode ( const char *  shader,
std::ostream &  os,
VEX_CodeGenFlags  flags,
int  context_type 
)
protectedvirtual

Implements VEX_VexResolver.

virtual bool STY_VexResolver::supportedByMantra ( const char *  shader)
protectedvirtual

Returns true when mantra is able to independently retrieve the VEX shader code without requiring it to be embedded in the ifd.

Implements VEX_VexResolver.


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