slang: Fix order of parameters to sl_pp_tokenise().
[mesa.git] / src / mesa / shader / slang / slang_link.h
index faebae625eaa576e7b56f93800412fbafc28aa9d..2b44d20787ae5712a60474b7c0b1b072231bd9fa 100644 (file)
-/*\r
- * Mesa 3-D graphics library\r
- * Version:  6.5\r
- *\r
- * Copyright (C) 2006  Brian Paul   All Rights Reserved.\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining a\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- *\r
- * The above copyright notice and this permission notice shall be included\r
- * in all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL\r
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN\r
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
- */\r
-\r
-#if !defined SLANG_LINK_H\r
-#define SLANG_LINK_H\r
-\r
-#include "slang_compile.h"\r
-\r
-#if defined __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-enum\r
-{\r
-       SLANG_UNIFORM_BINDING_VERTEX,\r
-       SLANG_UNIFORM_BINDING_FRAGMENT,\r
-       SLANG_UNIFORM_BINDING_MAX\r
-};\r
-\r
-typedef struct\r
-{\r
-       slang_export_data_quant *quant;\r
-       char *name;\r
-       GLuint address[SLANG_SHADER_MAX];\r
-} slang_uniform_binding;\r
-\r
-typedef struct\r
-{\r
-       slang_uniform_binding *table;\r
-       GLuint count;\r
-} slang_uniform_bindings;\r
-\r
-typedef struct\r
-{\r
-       slang_export_data_quant *quant;\r
-       char *name;\r
-} slang_active_uniform;\r
-\r
-typedef struct\r
-{\r
-       slang_active_uniform *table;\r
-       GLuint count;\r
-} slang_active_uniforms;\r
-\r
-typedef struct\r
-{\r
-       slang_export_data_quant *quant;\r
-       GLuint frag_address;\r
-} slang_texture_usage;\r
-\r
-typedef struct\r
-{\r
-       slang_texture_usage *table;\r
-       GLuint count;\r
-} slang_texture_usages;\r
-\r
-GLvoid slang_texture_usages_ctr (slang_texture_usages *);\r
-GLvoid slang_texture_usages_dtr (slang_texture_usages *);\r
-\r
-enum\r
-{\r
-       SLANG_COMMON_FIXED_MODELVIEWMATRIX,\r
-       SLANG_COMMON_FIXED_PROJECTIONMATRIX,\r
-       SLANG_COMMON_FIXED_MODELVIEWPROJECTIONMATRIX,\r
-       SLANG_COMMON_FIXED_TEXTUREMATRIX,\r
-       SLANG_COMMON_FIXED_NORMALMATRIX,\r
-       SLANG_COMMON_FIXED_MODELVIEWMATRIXINVERSE,\r
-       SLANG_COMMON_FIXED_PROJECTIONMATRIXINVERSE,\r
-       SLANG_COMMON_FIXED_MODELVIEWPROJECTIONMATRIXINVERSE,\r
-       SLANG_COMMON_FIXED_TEXTUREMATRIXINVERSE,\r
-       SLANG_COMMON_FIXED_MODELVIEWMATRIXTRANSPOSE,\r
-       SLANG_COMMON_FIXED_PROJECTIONMATRIXTRANSPOSE,\r
-       SLANG_COMMON_FIXED_MODELVIEWPROJECTIONMATRIXTRANSPOSE,\r
-       SLANG_COMMON_FIXED_TEXTUREMATRIXTRANSPOSE,\r
-       SLANG_COMMON_FIXED_MODELVIEWMATRIXINVERSETRANSPOSE,\r
-       SLANG_COMMON_FIXED_PROJECTIONMATRIXINVERSETRANSPOSE,\r
-       SLANG_COMMON_FIXED_MODELVIEWPROJECTIONMATRIXINVERSETRANSPOSE,\r
-       SLANG_COMMON_FIXED_TEXTUREMATRIXINVERSETRANSPOSE,\r
-       SLANG_COMMON_FIXED_NORMALSCALE,\r
-       SLANG_COMMON_FIXED_DEPTHRANGE,\r
-       SLANG_COMMON_FIXED_CLIPPLANE,\r
-       SLANG_COMMON_FIXED_POINT,\r
-       SLANG_COMMON_FIXED_FRONTMATERIAL,\r
-       SLANG_COMMON_FIXED_BACKMATERIAL,\r
-       SLANG_COMMON_FIXED_LIGHTSOURCE,\r
-       SLANG_COMMON_FIXED_LIGHTMODEL,\r
-       SLANG_COMMON_FIXED_FRONTLIGHTMODELPRODUCT,\r
-       SLANG_COMMON_FIXED_BACKLIGHTMODELPRODUCT,\r
-       SLANG_COMMON_FIXED_FRONTLIGHTPRODUCT,\r
-       SLANG_COMMON_FIXED_BACKLIGHTPRODUCT,\r
-       SLANG_COMMON_FIXED_TEXTUREENVCOLOR,\r
-       SLANG_COMMON_FIXED_EYEPLANES,\r
-       SLANG_COMMON_FIXED_EYEPLANET,\r
-       SLANG_COMMON_FIXED_EYEPLANER,\r
-       SLANG_COMMON_FIXED_EYEPLANEQ,\r
-       SLANG_COMMON_FIXED_OBJECTPLANES,\r
-       SLANG_COMMON_FIXED_OBJECTPLANET,\r
-       SLANG_COMMON_FIXED_OBJECTPLANER,\r
-       SLANG_COMMON_FIXED_OBJECTPLANEQ,\r
-       SLANG_COMMON_FIXED_FOG,\r
-       SLANG_COMMON_FIXED_MAX\r
-};\r
-\r
-enum\r
-{\r
-       SLANG_VERTEX_FIXED_POSITION,\r
-       SLANG_VERTEX_FIXED_POINTSIZE,\r
-       SLANG_VERTEX_FIXED_CLIPVERTEX,\r
-       SLANG_VERTEX_FIXED_COLOR,\r
-       SLANG_VERTEX_FIXED_SECONDARYCOLOR,\r
-       SLANG_VERTEX_FIXED_NORMAL,\r
-       SLANG_VERTEX_FIXED_VERTEX,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD0,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD1,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD2,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD3,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD4,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD5,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD6,\r
-       SLANG_VERTEX_FIXED_MULTITEXCOORD7,\r
-       SLANG_VERTEX_FIXED_FOGCOORD,\r
-       SLANG_VERTEX_FIXED_FRONTCOLOR,\r
-       SLANG_VERTEX_FIXED_BACKCOLOR,\r
-       SLANG_VERTEX_FIXED_FRONTSECONDARYCOLOR,\r
-       SLANG_VERTEX_FIXED_BACKSECONDARYCOLOR,\r
-       SLANG_VERTEX_FIXED_TEXCOORD,\r
-       SLANG_VERTEX_FIXED_FOGFRAGCOORD,\r
-       SLANG_VERTEX_FIXED_MAX\r
-};\r
-\r
-enum\r
-{\r
-       SLANG_FRAGMENT_FIXED_FRAGCOORD,\r
-       SLANG_FRAGMENT_FIXED_FRONTFACING,\r
-       SLANG_FRAGMENT_FIXED_FRAGCOLOR,\r
-       SLANG_FRAGMENT_FIXED_FRAGDATA,\r
-       SLANG_FRAGMENT_FIXED_FRAGDEPTH,\r
-       SLANG_FRAGMENT_FIXED_COLOR,\r
-       SLANG_FRAGMENT_FIXED_SECONDARYCOLOR,\r
-       SLANG_FRAGMENT_FIXED_TEXCOORD,\r
-       SLANG_FRAGMENT_FIXED_FOGFRAGCOORD,\r
-       SLANG_FRAGMENT_FIXED_MAX\r
-};\r
-\r
-enum\r
-{\r
-       SLANG_COMMON_CODE_MAIN,\r
-       SLANG_COMMON_CODE_MAX\r
-};\r
-\r
-typedef struct\r
-{\r
-       slang_uniform_bindings uniforms;\r
-       slang_active_uniforms active_uniforms;\r
-       slang_texture_usages texture_usage;\r
-       GLuint common_fixed_entries[SLANG_SHADER_MAX][SLANG_COMMON_FIXED_MAX];\r
-       GLuint vertex_fixed_entries[SLANG_VERTEX_FIXED_MAX];\r
-       GLuint fragment_fixed_entries[SLANG_FRAGMENT_FIXED_MAX];\r
-       GLuint code[SLANG_SHADER_MAX][SLANG_COMMON_CODE_MAX];\r
-       slang_machine *machines[SLANG_SHADER_MAX];\r
-       slang_assembly_file *assemblies[SLANG_SHADER_MAX];\r
-} slang_program;\r
-\r
-GLvoid slang_program_ctr (slang_program *);\r
-GLvoid slang_program_dtr (slang_program *);\r
-\r
-GLboolean _slang_link (slang_program *, slang_translation_unit **, GLuint);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif\r
-\r
+/*
+ * Mesa 3-D graphics library
+ * Version:  7.2
+ *
+ * Copyright (C) 2008  Brian Paul   All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef SLANG_LINK_H
+#define SLANG_LINK_H 1
+
+#include "slang_compile.h"
+
+
+extern void
+_slang_link(GLcontext *ctx, GLhandleARB h,
+            struct gl_shader_program *shProg);
+
+
+#endif
+