#if !defined SLANG_COMPILE_H
#define SLANG_COMPILE_H
+#include "imports.h"
+#include "mtypes.h"
#include "slang_export.h"
#include "slang_execute.h"
#include "slang_compile_variable.h"
extern GLvoid
_slang_code_unit_dtr (slang_code_unit *);
+#define SLANG_BUILTIN_CORE 0
+#define SLANG_BUILTIN_COMMON 1
+#define SLANG_BUILTIN_TARGET 2
+
+#if defined(USE_X86_ASM) || defined(SLANG_X86)
+#define SLANG_BUILTIN_VEC4 3
+#define SLANG_BUILTIN_TOTAL 4
+#else
+#define SLANG_BUILTIN_TOTAL 3
+#endif
+
typedef struct slang_code_object_
{
- slang_code_unit builtin[3];
+ slang_code_unit builtin[SLANG_BUILTIN_TOTAL];
slang_code_unit unit;
slang_assembly_file assembly;
slang_machine machine;
void slang_info_log_memory (slang_info_log *);
extern GLboolean
-_slang_compile (const char *, slang_code_object *, slang_unit_type, slang_info_log *);
+_slang_compile (const char *, slang_code_object *, slang_unit_type, slang_info_log *, struct gl_shader *shader);
#ifdef __cplusplus
}