Home | History | Annotate | Download | only in main
      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 "main/mtypes.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