Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenprogram.h
Go to the documentation of this file.
00001 /* 00002 * Mesa 3-D graphics library 00003 * Version: 6.5.3 00004 * 00005 * Copyright (C) 1999-2007 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 00040 #ifndef PROGRAM_H 00041 #define PROGRAM_H 00042 00043 #include "main/mtypes.h" 00044 00045 00046 extern struct gl_program _mesa_DummyProgram; 00047 00048 00049 extern void 00050 _mesa_init_program(GLcontext *ctx); 00051 00052 extern void 00053 _mesa_free_program_data(GLcontext *ctx); 00054 00055 extern void 00056 _mesa_update_default_objects_program(GLcontext *ctx); 00057 00058 extern void 00059 _mesa_set_program_error(GLcontext *ctx, GLint pos, const char *string); 00060 00061 extern const GLubyte * 00062 _mesa_find_line_column(const GLubyte *string, const GLubyte *pos, 00063 GLint *line, GLint *col); 00064 00065 00066 extern struct gl_program * 00067 _mesa_init_vertex_program(GLcontext *ctx, 00068 struct gl_vertex_program *prog, 00069 GLenum target, GLuint id); 00070 00071 extern struct gl_program * 00072 _mesa_init_fragment_program(GLcontext *ctx, 00073 struct gl_fragment_program *prog, 00074 GLenum target, GLuint id); 00075 00076 extern struct gl_program * 00077 _mesa_new_program(GLcontext *ctx, GLenum target, GLuint id); 00078 00079 extern void 00080 _mesa_delete_program(GLcontext *ctx, struct gl_program *prog); 00081 00082 extern struct gl_program * 00083 _mesa_lookup_program(GLcontext *ctx, GLuint id); 00084 00085 extern void 00086 _mesa_reference_program(GLcontext *ctx, 00087 struct gl_program **ptr, 00088 struct gl_program *prog); 00089 00090 static INLINE void 00091 _mesa_reference_vertprog(GLcontext *ctx, 00092 struct gl_vertex_program **ptr, 00093 struct gl_vertex_program *prog) 00094 { 00095 _mesa_reference_program(ctx, (struct gl_program **) ptr, 00096 (struct gl_program *) prog); 00097 } 00098 00099 static INLINE void 00100 _mesa_reference_fragprog(GLcontext *ctx, 00101 struct gl_fragment_program **ptr, 00102 struct gl_fragment_program *prog) 00103 { 00104 _mesa_reference_program(ctx, (struct gl_program **) ptr, 00105 (struct gl_program *) prog); 00106 } 00107 00108 extern struct gl_program * 00109 _mesa_clone_program(GLcontext *ctx, const struct gl_program *prog); 00110 00111 extern GLboolean 00112 _mesa_insert_instructions(struct gl_program *prog, GLuint start, GLuint count); 00113 00114 extern GLboolean 00115 _mesa_delete_instructions(struct gl_program *prog, GLuint start, GLuint count); 00116 00117 extern struct gl_program * 00118 _mesa_combine_programs(GLcontext *ctx, 00119 const struct gl_program *progA, 00120 const struct gl_program *progB); 00121 00122 extern GLint 00123 _mesa_find_free_register(const struct gl_program *prog, GLuint regFile); 00124 00125 00126 00127 #endif /* PROGRAM_H */ Generated on Fri May 25 2012 04:18:47 for ReactOS by
1.7.6.1
|