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

program.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 doxygen 1.7.6.1

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