HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VOP_CodeVexResolver.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: VOP_CodeVexResolver.h ( VEX Library, C++)
7  *
8  * COMMENTS: A class with virtual functions for getting VEX code from
9  * Vop networks.
10  */
11 
12 #ifndef __VOP_CodeVexResolver__
13 #define __VOP_CodeVexResolver__
14 
15 #include "VOP_API.h"
16 #include <VEX/VEX_VexResolver.h>
17 
19 {
20 public:
22  ~VOP_CodeVexResolver() override;
23 
24 protected:
25  bool canResolveCode(const char *shader) const override;
26  bool supportedByMantra(const char *shader) const override;
27  bool resolveVflCode(const char *shader, std::ostream &os,
29  int context_type) const override;
30  bool resolveVexCode(const char *shader, std::ostream &os,
31  VEX_CodeGenFlags flags, int context_type,
32  bool &is_pure_compiled_out,
33  VEX_ErrorLog &errors) const override;
34  bool resolveCacheVexCode(const char *shader,
35  int context_type,
36  VEX_ErrorLog &errors) const override;
37  bool resolveAddDependency(const char *shader,
38  DEP_MicroNode *depnode) const override;
39  bool resolveDependencies(const char *shader,
40  UT_StringArray &shader_deps,
41  int context_type) const override;
42  time_t resolveCodeTimeStamp(const char *shader,
43  int context_type) const override;
44  bool resolveVexContext(const char *shader, UT_String &ctx,
45  int requested_context_type) const override;
46  bool resolveCanonicalPath(const char *shader,
47  UT_String &canonical_shader) const override;
48  bool resolveAlias(const char *alias,
49  UT_String &shader) const override;
50 };
51 
52 #endif
53 
virtual bool resolveVexContext(const char *shader, UT_String &ctx, int requested_context_type) const =0
virtual bool resolveVflCode(const char *shader, std::ostream &os, VEX_CodeGenFlags code_flags, int context_type) const =0
virtual time_t resolveCodeTimeStamp(const char *shader, int context_type) const =0
virtual bool canResolveCode(const char *shader) const =0
virtual bool resolveDependencies(const char *shader, UT_StringArray &shader_deps, int context_type) const =0
virtual bool resolveVexCode(const char *shader, std::ostream &os, VEX_CodeGenFlags code_flags, int context_type, bool &is_pure_compiled_out, VEX_ErrorLog &errors) const =0
See comments for getVexCode().
#define VOP_API
Definition: VOP_API.h:10
GLbitfield flags
Definition: glcorearb.h:1596
virtual bool resolveCacheVexCode(const char *shader, int context_type, VEX_ErrorLog &errors) const =0
virtual bool supportedByMantra(const char *shader) const =0
virtual bool resolveAlias(const char *alias, UT_String &shader) const =0
GLuint shader
Definition: glcorearb.h:785
VEX_CodeGenFlags
VEX code generation flags when calling VEX_VexResolver::getVflCode.
Definition: VEX_VexTypes.h:138
virtual bool resolveCanonicalPath(const char *shader, UT_String &canonical_shader) const =0
virtual bool resolveAddDependency(const char *shader, DEP_MicroNode *depmicronode) const =0