1 /** 2 * \file eval.h 3 * Eval operations. 4 * 5 * \if subset 6 * (No-op) 7 * 8 * \endif 9 */ 10 11 /* 12 * Mesa 3-D graphics library 13 * 14 * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. 15 * 16 * Permission is hereby granted, free of charge, to any person obtaining a 17 * copy of this software and associated documentation files (the "Software"), 18 * to deal in the Software without restriction, including without limitation 19 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 20 * and/or sell copies of the Software, and to permit persons to whom the 21 * Software is furnished to do so, subject to the following conditions: 22 * 23 * The above copyright notice and this permission notice shall be included 24 * in all copies or substantial portions of the Software. 25 * 26 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 27 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 28 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 29 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 30 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 31 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 32 * OTHER DEALINGS IN THE SOFTWARE. 33 */ 34 35 36 #ifndef EVAL_H 37 #define EVAL_H 38 39 40 #include "dd.h" 41 #include <stdbool.h> 42 43 44 extern GLuint _mesa_evaluator_components( GLenum target ); 45 46 47 extern GLfloat *_mesa_copy_map_points1f( GLenum target, 48 GLint ustride, GLint uorder, 49 const GLfloat *points ); 50 51 extern GLfloat *_mesa_copy_map_points1d( GLenum target, 52 GLint ustride, GLint uorder, 53 const GLdouble *points ); 54 55 extern GLfloat *_mesa_copy_map_points2f( GLenum target, 56 GLint ustride, GLint uorder, 57 GLint vstride, GLint vorder, 58 const GLfloat *points ); 59 60 extern GLfloat *_mesa_copy_map_points2d(GLenum target, 61 GLint ustride, GLint uorder, 62 GLint vstride, GLint vorder, 63 const GLdouble *points ); 64 65 extern void 66 _mesa_install_eval_vtxfmt(struct _glapi_table *disp, 67 const GLvertexformat *vfmt); 68 69 extern void _mesa_init_eval( struct gl_context *ctx ); 70 extern void _mesa_free_eval_data( struct gl_context *ctx ); 71 72 void GLAPIENTRY 73 _mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, 74 GLint order, const GLfloat *points ); 75 void GLAPIENTRY 76 _mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, 77 GLint order, const GLdouble *points ); 78 void GLAPIENTRY 79 _mesa_Map2f( GLenum target, 80 GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, 81 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, 82 const GLfloat *points); 83 void GLAPIENTRY 84 _mesa_Map2d( GLenum target, 85 GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, 86 GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, 87 const GLdouble *points ); 88 void GLAPIENTRY 89 _mesa_GetnMapdvARB( GLenum target, GLenum query, GLsizei bufSize, 90 GLdouble *v ); 91 void GLAPIENTRY 92 _mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v ); 93 void GLAPIENTRY 94 _mesa_GetnMapfvARB( GLenum target, GLenum query, GLsizei bufSize, GLfloat *v ); 95 void GLAPIENTRY 96 _mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v ); 97 void GLAPIENTRY 98 _mesa_GetnMapivARB( GLenum target, GLenum query, GLsizei bufSize, GLint *v ); 99 void GLAPIENTRY 100 _mesa_GetMapiv( GLenum target, GLenum query, GLint *v ); 101 void GLAPIENTRY 102 _mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 ); 103 void GLAPIENTRY 104 _mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 ); 105 void GLAPIENTRY 106 _mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2, 107 GLint vn, GLfloat v1, GLfloat v2 ); 108 void GLAPIENTRY 109 _mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2, 110 GLint vn, GLdouble v1, GLdouble v2 ); 111 112 #endif /* EVAL_H */ 113