ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

slang_compile.h
Go to the documentation of this file.
00001 /*
00002  * Mesa 3-D graphics library
00003  * Version:  6.5
00004  *
00005  * Copyright (C) 2005-2006  Brian Paul   All Rights Reserved.
00006  *
00007  * Permission is hereby granted, free of charge, to any person obtaining a
00008  * copy of this software and associated documentation files (the "Software"),
00009  * to deal in the Software without restriction, including without limitation
00010  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00011  * and/or sell copies of the Software, and to permit persons to whom the
00012  * Software is furnished to do so, subject to the following conditions:
00013  *
00014  * The above copyright notice and this permission notice shall be included
00015  * in all copies or substantial portions of the Software.
00016  *
00017  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00018  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00019  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
00020  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
00021  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00022  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00023  */
00024 
00025 #if !defined SLANG_COMPILE_H
00026 #define SLANG_COMPILE_H
00027 
00028 #include "main/imports.h"
00029 #include "main/mtypes.h"
00030 #include "slang_typeinfo.h"
00031 #include "slang_compile_variable.h"
00032 #include "slang_compile_struct.h"
00033 #include "slang_compile_operation.h"
00034 #include "slang_compile_function.h"
00035 
00036 #if defined __cplusplus
00037 extern "C" {
00038 #endif
00039 
00040 typedef struct slang_name_space_
00041 {
00042    struct slang_function_scope_ *funcs;
00043    struct slang_struct_scope_ *structs;
00044    struct slang_variable_scope_ *vars;
00045 } slang_name_space;
00046 
00047 typedef enum slang_unit_type_
00048 {
00049    SLANG_UNIT_FRAGMENT_SHADER,
00050    SLANG_UNIT_VERTEX_SHADER,
00051    SLANG_UNIT_FRAGMENT_BUILTIN,
00052    SLANG_UNIT_VERTEX_BUILTIN
00053 } slang_unit_type;
00054 
00055 
00056 typedef struct slang_code_unit_
00057 {
00058    slang_variable_scope vars;
00059    slang_function_scope funs;
00060    slang_struct_scope structs;
00061    slang_unit_type type;
00062    struct slang_code_object_ *object;
00063 } slang_code_unit;
00064 
00065 
00066 extern GLvoid
00067 _slang_code_unit_ctr (slang_code_unit *, struct slang_code_object_ *);
00068 
00069 extern GLvoid
00070 _slang_code_unit_dtr (slang_code_unit *);
00071 
00072 #define SLANG_BUILTIN_CORE   0
00073 #define SLANG_BUILTIN_120_CORE   1
00074 #define SLANG_BUILTIN_COMMON 2
00075 #define SLANG_BUILTIN_TARGET 3
00076 
00077 #define SLANG_BUILTIN_TOTAL  4
00078 
00079 typedef struct slang_code_object_
00080 {
00081    slang_code_unit builtin[SLANG_BUILTIN_TOTAL];
00082    slang_code_unit unit;
00083    slang_atom_pool atompool;
00084 } slang_code_object;
00085 
00086 extern GLvoid
00087 _slang_code_object_ctr (slang_code_object *);
00088 
00089 extern GLvoid
00090 _slang_code_object_dtr (slang_code_object *);
00091 
00092 extern GLboolean
00093 _slang_compile (GLcontext *ctx, struct gl_shader *shader);
00094 
00095 #ifdef __cplusplus
00096 }
00097 #endif
00098 
00099 #endif
00100 

Generated on Sat May 26 2012 04:19:25 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.