X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fshader%2Fslang%2Fslang_codegen.h;h=ee3be55a459a8e47c05686b0b7eeb131d3e4dff8;hb=a18e209edb5348eb167e9d7184597031bbbbe622;hp=821d39616255435be7203a59f8b43b9dc69d6677;hpb=29c471aafc6a3fef23d553e31a555d1782854a77;p=mesa.git diff --git a/src/mesa/shader/slang/slang_codegen.h b/src/mesa/shader/slang/slang_codegen.h index 821d3961625..ee3be55a459 100644 --- a/src/mesa/shader/slang/slang_codegen.h +++ b/src/mesa/shader/slang/slang_codegen.h @@ -27,10 +27,37 @@ #define SLANG_CODEGEN_H -#include "imports.h" +#include "main/imports.h" #include "slang_compile.h" +#define MAX_LOOP_DEPTH 30 + + +typedef struct slang_assemble_ctx_ +{ + slang_atom_pool *atoms; + slang_name_space space; + struct gl_program *program; + struct gl_sl_pragmas *pragmas; + slang_var_table *vartable; + slang_info_log *log; + + /* current loop stack */ + const slang_operation *LoopOperStack[MAX_LOOP_DEPTH]; + struct slang_ir_node_ *LoopIRStack[MAX_LOOP_DEPTH]; + GLuint LoopDepth; + + /* current function */ + struct slang_function_ *CurFunction; + struct slang_label_ *curFuncEndLabel; + GLboolean UseReturnFlag; + + GLboolean UnresolvedRefs; + GLboolean EmitContReturn; +} slang_assemble_ctx; + + extern GLuint _slang_sizeof_type_specifier(const slang_type_specifier *spec);