Ignore:
Timestamp:
May 21, 2000, 10:57:14 PM (25 years ago)
Author:
jeroen
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/opengl/mesa/dd.h

    r2938 r3582  
    1 /* $Id: dd.h,v 1.1 2000-02-29 00:48:28 sandervl Exp $ */
     1/* $Id: dd.h,v 1.2 2000-05-21 20:30:06 jeroen Exp $ */
    22
    33/*
    44 * Mesa 3-D graphics library
    5  * Version:  3.1
     5 * Version:  3.3
    66 *
    77 * Copyright (C) 1999  Brian Paul   All Rights Reserved.
     
    119119
    120120
     121/* Mask bits sent to the driver Clear() function */
     122#define DD_FRONT_LEFT_BIT  FRONT_LEFT_BIT         /* 1 */
     123#define DD_FRONT_RIGHT_BIT FRONT_RIGHT_BIT        /* 2 */
     124#define DD_BACK_LEFT_BIT   BACK_LEFT_BIT          /* 4 */
     125#define DD_BACK_RIGHT_BIT  BACK_RIGHT_BIT         /* 8 */
     126#define DD_DEPTH_BIT       GL_DEPTH_BUFFER_BIT    /* 0x00000100 */
     127#define DD_STENCIL_BIT     GL_STENCIL_BUFFER_BIT  /* 0x00000400 */
     128#define DD_ACCUM_BIT       GL_ACCUM_BUFFER_BIT    /* 0x00000200 */
     129
    121130
    122131
     
    131140    **********************************************************************/
    132141
    133    const char * (*RendererString)(void);
    134    /*
    135     * Return a string which uniquely identifies this device driver.
    136     * The string should contain no whitespace.  Examples: "X11", "OffScreen",
    137     * "MSWindows", "SVGA".
    138     * NOTE: This function will be obsolete in favor of GetString in the future!
     142   const GLubyte * (*GetString)( GLcontext *ctx, GLenum name );
     143   /* Return a string as needed by glGetString().
     144    * Only the GL_RENDERER token must be implemented.  Otherwise,
     145    * NULL can be returned.
    139146    */
    140147
     
    162169                        GLint x, GLint y, GLint width, GLint height );
    163170   /* Clear the color/depth/stencil/accum buffer(s).
    164     * 'mask' indicates which buffers need to be cleared.  Return a bitmask
    165     *    indicating which buffers weren't cleared by the driver function.
    166     * If 'all' is true then the clear the whole buffer, else clear the
    167     *    region defined by (x,y,width,height).
     171    * 'mask' is a bitmask of the DD_*_BIT values defined above that indicates
     172    * which buffers need to be cleared.  The driver should clear those
     173    * buffers then return a new bitmask indicating which buffers should be
     174    * cleared by software Mesa.
     175    * If 'all' is true then the clear the whole buffer, else clear only the
     176    * region defined by (x,y,width,height).
     177    * This function must obey the glColorMask, glIndexMask and glStencilMask
     178    * settings!  Software Mesa can do masked clears if the device driver can't.
    168179    */
    169180
     
    181192    */
    182193
    183    GLboolean (*SetBuffer)( GLcontext *ctx, GLenum buffer );
    184    /*
    185     * Selects the color buffer(s) for reading and writing.
     194   GLboolean (*SetDrawBuffer)( GLcontext *ctx, GLenum buffer );
     195   /*
     196    * Specifies the current buffer for writing.
    186197    * The following values must be accepted when applicable:
    187198    *    GL_FRONT_LEFT - this buffer always exists
     
    201212    */
    202213
     214   void (*SetReadBuffer)( GLcontext *ctx, GLframebuffer *colorBuffer,
     215                          GLenum buffer );
     216   /*
     217    * Specifies the current buffer for reading.
     218    * colorBuffer will be one of:
     219    *    GL_FRONT_LEFT - this buffer always exists
     220    *    GL_BACK_LEFT - when double buffering
     221    *    GL_FRONT_RIGHT - when using stereo
     222    *    GL_BACK_RIGHT - when using stereo and double buffering
     223    */
     224
    203225   void (*GetBufferSize)( GLcontext *ctx, GLuint *width, GLuint *height );
    204226   /*
     
    217239                         GLuint n, GLint x, GLint y,
    218240                         CONST GLubyte rgb[][3], const GLubyte mask[] );
    219    /* Write a horizontal run of RGB[A] pixels.  The later version is only
    220     * used to accelerate GL_RGB, GL_UNSIGNED_BYTE glDrawPixels() calls.
     241   /* Write a horizontal run of RGBA or RGB pixels.
    221242    * If mask is NULL, draw all pixels.
    222243    * If mask is not null, only draw pixel [i] when mask [i] is true.
     
    305326    *** fall-back function.                                            ***
    306327    **********************************************************************/
    307 
    308    const char * (*ExtensionString)( GLcontext *ctx );
    309    /* Return a space-separated list of extensions for this driver.
    310     * NOTE: This function will be obsolete in favor of GetString in the future!
    311     */
    312 
    313    const GLubyte * (*GetString)( GLcontext *ctx, GLenum name );
    314    /* Return a string as needed by glGetString().
    315     * NOTE: This will replace the ExtensionString and RendererString
    316     * functions in the future!
    317     */
    318328
    319329   void (*Finish)( GLcontext *ctx );
     
    381391   /***
    382392    *** For supporting hardware Z buffers:
     393    *** Either ALL or NONE of these functions must be implemented!
     394    *** NOTE that Each depth value is a 32-bit GLuint.  If the depth
     395    *** buffer is less than 32 bits deep then the extra upperbits are zero.
    383396    ***/
    384397
    385    void (*AllocDepthBuffer)( GLcontext *ctx );
    386    /*
    387     * Called when the depth buffer must be allocated or possibly resized.
    388     */
    389 
    390    GLuint (*DepthTestSpan)( GLcontext *ctx,
    391                             GLuint n, GLint x, GLint y, const GLdepth z[],
    392                             GLubyte mask[] );
    393    void (*DepthTestPixels)( GLcontext *ctx,
    394                             GLuint n, const GLint x[], const GLint y[],
    395                             const GLdepth z[], GLubyte mask[] );
    396    /*
    397     * Apply the depth buffer test to an span/array of pixels and return
    398     * an updated pixel mask.  This function is not used when accelerated
    399     * point, line, polygon functions are used.
    400     */
    401 
    402    void (*ReadDepthSpanFloat)( GLcontext *ctx,
    403                                GLuint n, GLint x, GLint y, GLfloat depth[]);
    404    void (*ReadDepthSpanInt)( GLcontext *ctx,
    405                              GLuint n, GLint x, GLint y, GLdepth depth[] );
    406    /*
    407     * Return depth values as integers for glReadPixels.
    408     * Floats should be returned in the range [0,1].
    409     * Ints (GLdepth) values should be in the range [0,MAXDEPTH].
    410     */
     398   void (*WriteDepthSpan)( GLcontext *ctx, GLuint n, GLint x, GLint y,
     399                           const GLdepth depth[], const GLubyte mask[] );
     400   /* Write a horizontal span of values into the depth buffer.  Only write
     401    * depth[i] value if mask[i] is nonzero.
     402    */
     403
     404   void (*ReadDepthSpan)( GLcontext *ctx, GLuint n, GLint x, GLint y,
     405                          GLdepth depth[] );
     406   /* Read a horizontal span of values from the depth buffer.
     407    */
     408
     409
     410   void (*WriteDepthPixels)( GLcontext *ctx, GLuint n,
     411                             const GLint x[], const GLint y[],
     412                             const GLdepth depth[], const GLubyte mask[] );
     413   /* Write an array of randomly positioned depth values into the
     414    * depth buffer.  Only write depth[i] value if mask[i] is nonzero.
     415    */
     416
     417   void (*ReadDepthPixels)( GLcontext *ctx, GLuint n,
     418                            const GLint x[], const GLint y[],
     419                            GLdepth depth[] );
     420   /* Read an array of randomly positioned depth values from the depth buffer.
     421    */
     422
    411423
    412424
    413425   /***
    414     *** Accelerated point, line, polygon, glDrawPixels and glBitmap functions:
     426    *** For supporting hardware stencil buffers:
     427    *** Either ALL or NONE of these functions must be implemented!
    415428    ***/
    416429
    417    points_func   PointsFunc;
    418    line_func     LineFunc;
    419    triangle_func TriangleFunc;
    420    quad_func     QuadFunc;
    421    rect_func     RectFunc;
    422 
     430   void (*WriteStencilSpan)( GLcontext *ctx, GLuint n, GLint x, GLint y,
     431                             const GLstencil stencil[], const GLubyte mask[] );
     432   /* Write a horizontal span of stencil values into the stencil buffer.
     433    * If mask is NULL, write all stencil values.
     434    * Else, only write stencil[i] if mask[i] is non-zero.
     435    */
     436
     437   void (*ReadStencilSpan)( GLcontext *ctx, GLuint n, GLint x, GLint y,
     438                            GLstencil stencil[] );
     439   /* Read a horizontal span of stencil values from the stencil buffer.
     440    */
     441
     442   void (*WriteStencilPixels)( GLcontext *ctx, GLuint n,
     443                               const GLint x[], const GLint y[],
     444                               const GLstencil stencil[],
     445                               const GLubyte mask[] );
     446   /* Write an array of stencil values into the stencil buffer.
     447    * If mask is NULL, write all stencil values.
     448    * Else, only write stencil[i] if mask[i] is non-zero.
     449    */
     450
     451   void (*ReadStencilPixels)( GLcontext *ctx, GLuint n,
     452                              const GLint x[], const GLint y[],
     453                              GLstencil stencil[] );
     454   /* Read an array of stencil values from the stencil buffer.
     455    */
     456
     457
     458   /***
     459    *** glDraw/Read/CopyPixels and glBitmap functions:
     460    ***/
    423461
    424462   GLboolean (*DrawPixels)( GLcontext *ctx,
     
    433471    */
    434472
     473   GLboolean (*ReadPixels)( GLcontext *ctx,
     474                            GLint x, GLint y, GLsizei width, GLsizei height,
     475                            GLenum format, GLenum type,
     476                            const struct gl_pixelstore_attrib *unpack,
     477                            GLvoid *dest );
     478   /* Called by glReadPixels.
     479    * Return GL_TRUE if operation completed, else return GL_FALSE.
     480    * This function must respect all glPixelTransfer settings.
     481    */
     482
     483   GLboolean (*CopyPixels)( GLcontext *ctx,
     484                            GLint srcx, GLint srcy,
     485                            GLsizei width, GLsizei height,
     486                            GLint dstx, GLint dsty, GLenum type );
     487   /* Do a glCopyPixels.  Return GL_TRUE if operation completed, else
     488    * return GL_FALSE.  This function must respect all rasterization
     489    * state, glPixelTransfer, glPixelZoom, etc.
     490    */
     491
    435492   GLboolean (*Bitmap)( GLcontext *ctx,
    436493                        GLint x, GLint y, GLsizei width, GLsizei height,
     
    439496   /* This is called by glBitmap.  Works the same as DrawPixels, above.
    440497    */
     498
     499
     500   /***
     501    *** Texture mapping functions:
     502    ***/
     503
     504   void (*TexImage)( GLcontext *ctx, GLenum target,
     505                     struct gl_texture_object *tObj, GLint level,
     506                     GLint internalFormat,
     507                     const struct gl_texture_image *image );
     508   /* XXX this function is obsolete */
     509   /* Called whenever a texture object's image is changed.
     510    *    texObject is the number of the texture object being changed.
     511    *    level indicates the mipmap level.
     512    *    internalFormat is the format in which the texture is to be stored.
     513    *    image is a pointer to a gl_texture_image struct which contains
     514    *       the actual image data.
     515    */
     516
     517   void (*TexSubImage)( GLcontext *ctx, GLenum target,
     518                        struct gl_texture_object *tObj, GLint level,
     519                        GLint xoffset, GLint yoffset,
     520                        GLsizei width, GLsizei height,
     521                        GLint internalFormat,
     522                        const struct gl_texture_image *image );
     523   /* XXX this function is obsolete */
     524   /* Called from glTexSubImage() to define a sub-region of a texture.
     525    */
     526
     527
     528   GLboolean (*TexImage1D)( GLcontext *ctx, GLenum target, GLint level,
     529                            GLenum format, GLenum type, const GLvoid *pixels,
     530                            const struct gl_pixelstore_attrib *packing,
     531                            struct gl_texture_object *texObj,
     532                            struct gl_texture_image *texImage,
     533                            GLboolean *retainInternalCopy );
     534   GLboolean (*TexImage2D)( GLcontext *ctx, GLenum target, GLint level,
     535                            GLenum format, GLenum type, const GLvoid *pixels,
     536                            const struct gl_pixelstore_attrib *packing,
     537                            struct gl_texture_object *texObj,
     538                            struct gl_texture_image *texImage,
     539                            GLboolean *retainInternalCopy );
     540   GLboolean (*TexImage3D)( GLcontext *ctx, GLenum target, GLint level,
     541                            GLenum format, GLenum type, const GLvoid *pixels,
     542                            const struct gl_pixelstore_attrib *packing,
     543                            struct gl_texture_object *texObj,
     544                            struct gl_texture_image *texImage,
     545                            GLboolean *retainInternalCopy );
     546   /* Called by glTexImage1/2/3D.
     547    * Will not be called if any glPixelTransfer operations are enabled.
     548    * Arguments:
     549    *   <target>, <level>, <format>, <type> and <pixels> are user specified.
     550    *   <packing> indicates the image packing of pixels.
     551    *   <texObj> is the target texture object.
     552    *   <texImage> is the target texture image.  It will have the texture
     553    *      width, height, depth, border and internalFormat information.
     554    *   <retainInternalCopy> is returned by this function and indicates whether
     555    *      core Mesa should keep an internal copy of the texture image.
     556    * Return GL_TRUE if operation completed, return GL_FALSE if core Mesa
     557    * should do the job.  If GL_FALSE is returned, this function will be
     558    * called a second time after the texture image has been unpacked into
     559    * GLubytes.  It may be easier for the driver to handle then.
     560    */
     561
     562   GLboolean (*TexSubImage1D)( GLcontext *ctx, GLenum target, GLint level,
     563                               GLint xoffset, GLsizei width,
     564                               GLenum format, GLenum type,
     565                               const GLvoid *pixels,
     566                               const struct gl_pixelstore_attrib *packing,
     567                               struct gl_texture_object *texObj,
     568                               struct gl_texture_image *texImage );
     569   GLboolean (*TexSubImage2D)( GLcontext *ctx, GLenum target, GLint level,
     570                               GLint xoffset, GLint yoffset,
     571                               GLsizei width, GLsizei height,
     572                               GLenum format, GLenum type,
     573                               const GLvoid *pixels,
     574                               const struct gl_pixelstore_attrib *packing,
     575                               struct gl_texture_object *texObj,
     576                               struct gl_texture_image *texImage );
     577   GLboolean (*TexSubImage3D)( GLcontext *ctx, GLenum target, GLint level,
     578                               GLint xoffset, GLint yoffset, GLint zoffset,
     579                               GLsizei width, GLsizei height, GLint depth,
     580                               GLenum format, GLenum type,
     581                               const GLvoid *pixels,
     582                               const struct gl_pixelstore_attrib *packing,
     583                               struct gl_texture_object *texObj,
     584                               struct gl_texture_image *texImage );
     585   /* Called by glTexSubImage1/2/3D.
     586    * Will not be called if any glPixelTransfer operations are enabled.
     587    * Arguments:
     588    *   <target>, <level>, <xoffset>, <yoffset>, <zoffset>, <width>, <height>,
     589    *      <depth>, <format>, <type> and <pixels> are user specified.
     590    *   <packing> indicates the image packing of pixels.
     591    *   <texObj> is the target texture object.
     592    *   <texImage> is the target texture image.  It will have the texture
     593    *      width, height, border and internalFormat information.
     594    * Return GL_TRUE if operation completed, return GL_FALSE if core Mesa
     595    * should do the job.  If GL_FALSE is returned, then TexImage1/2/3D will
     596    * be called with the complete texture image.
     597    */
     598
     599   GLboolean (*CopyTexImage1D)( GLcontext *ctx, GLenum target, GLint level,
     600                                GLenum internalFormat, GLint x, GLint y,
     601                                GLsizei width, GLint border );
     602   GLboolean (*CopyTexImage2D)( GLcontext *ctx, GLenum target, GLint level,
     603                                GLenum internalFormat, GLint x, GLint y,
     604                                GLsizei width, GLsizei height, GLint border );
     605   /* Called by glCopyTexImage1D and glCopyTexImage2D.
     606    * Will not be called if any glPixelTransfer operations are enabled.
     607    * Return GL_TRUE if operation completed, return GL_FALSE if core Mesa
     608    * should do the job.
     609    */
     610
     611   GLboolean (*CopyTexSubImage1D)( GLcontext *ctx, GLenum target, GLint level,
     612                                   GLint xoffset,
     613                                   GLint x, GLint y, GLsizei width );
     614   GLboolean (*CopyTexSubImage2D)( GLcontext *ctx, GLenum target, GLint level,
     615                                   GLint xoffset, GLint yoffset,
     616                                   GLint x, GLint y,
     617                                   GLsizei width, GLsizei height );
     618   GLboolean (*CopyTexSubImage3D)( GLcontext *ctx, GLenum target, GLint level,
     619                                   GLint xoffset, GLint yoffset, GLint zoffset,
     620                                   GLint x, GLint y,
     621                                   GLsizei width, GLsizei height );
     622   /* Called by glCopyTexSubImage1/2/3D.
     623    * Will not be called if any glPixelTransfer operations are enabled.
     624    * Return GL_TRUE if operation completed, return GL_FALSE if core Mesa
     625    * should do the job.
     626    */
     627
     628   GLvoid *(*GetTexImage)( GLcontext *ctx, GLenum target, GLint level,
     629                           GLenum *formatOut, GLenum *typeOut,
     630                           GLboolean *freeImageOut );
     631   /* Called by glGetTexImage or by core Mesa when a texture image
     632    * is needed for software fallback rendering.
     633    * Return the address of the texture image or NULL if failure.
     634    * The image must be tightly packed (i.e. row stride = image width)
     635    * Return the image's format and type in formatOut and typeOut.
     636    * The format and type must be values which are accepted by glTexImage.
     637    * Set the freeImageOut flag if the returned image should be deallocated
     638    * with FREE() when finished.
     639    * The size of the image can be deduced from the target and level.
     640    * Core Mesa will perform any image format/type conversions that are needed.
     641    */
     642
     643   void (*TexEnv)( GLcontext *ctx, GLenum target, GLenum pname,
     644                   const GLfloat *param );
     645   /* Called by glTexEnv*().
     646    */
     647
     648   void (*TexParameter)( GLcontext *ctx, GLenum target,
     649                         struct gl_texture_object *texObj,
     650                         GLenum pname, const GLfloat *params );
     651   /* Called by glTexParameter*().
     652    *    <target> is user specified
     653    *    <texObj> the texture object to modify
     654    *    <pname> is one of GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
     655    *       GL_TEXTURE_WRAP_[STR], or GL_TEXTURE_BORDER_COLOR.
     656    *    <params> is user specified.
     657    */
     658
     659   void (*BindTexture)( GLcontext *ctx, GLenum target,
     660                        struct gl_texture_object *tObj );
     661   /* Called by glBindTexture().
     662    */
     663
     664   void (*DeleteTexture)( GLcontext *ctx, struct gl_texture_object *tObj );
     665   /* Called when a texture object is about to be deallocated.  Driver
     666    * should free anything attached to the DriverData pointers.
     667    */
     668
     669   GLboolean (*IsTextureResident)( GLcontext *ctx,
     670                                   struct gl_texture_object *t );
     671   /* Called by glAreTextureResident().
     672    */
     673
     674   void (*PrioritizeTexture)( GLcontext *ctx,  struct gl_texture_object *t,
     675                              GLclampf priority );
     676   /* Called by glPrioritizeTextures().
     677    */
     678
     679   void (*ActiveTexture)( GLcontext *ctx, GLuint texUnitNumber );
     680   /* Called by glActiveTextureARB to set current texture unit.
     681    */
     682
     683   void (*UpdateTexturePalette)( GLcontext *ctx,
     684                                 struct gl_texture_object *tObj );
     685   /* Called when the texture's color lookup table is changed.
     686    * If tObj is NULL then the shared texture palette ctx->Texture.Palette
     687    * is to be updated.
     688    */
     689
     690
     691
     692   /***
     693    *** Accelerated point, line, polygon, glDrawPixels and glBitmap functions:
     694    ***/
     695
     696   points_func   PointsFunc;
     697   line_func     LineFunc;
     698   triangle_func TriangleFunc;
     699   quad_func     QuadFunc;
     700   rect_func     RectFunc;
     701
     702
     703   /***
     704    *** Transformation/Rendering functions
     705    ***/
    441706
    442707   void (*RenderStart)( GLcontext *ctx );
     
    459724    */
    460725
    461 
    462726   render_func *RenderVBClippedTab;
    463727   render_func *RenderVBCulledTab;
     
    468732    */
    469733
    470 
    471734   void (*ReducedPrimitiveChange)( GLcontext *ctx, GLenum primitive );
    472735   /* If registered, this will be called when rendering transitions between
     
    482745    * implement DD_TRI_OFFSET.
    483746    */
    484 
    485747
    486748   GLboolean (*MultipassFunc)( struct vertex_buffer *VB, GLuint passno );
     
    493755    * This function will be first invoked with passno == 1.
    494756    */
    495 
    496    /***
    497     *** Texture mapping functions:
    498     ***/
    499 
    500    void (*TexEnv)( GLcontext *ctx, GLenum pname, const GLfloat *param );
    501    /*
    502     * Called whenever glTexEnv*() is called.
    503     * Pname will be one of GL_TEXTURE_ENV_MODE or GL_TEXTURE_ENV_COLOR.
    504     * If pname is GL_TEXTURE_ENV_MODE then param will be one
    505     * of GL_MODULATE, GL_BLEND, GL_DECAL, or GL_REPLACE.
    506     */
    507 
    508    void (*TexImage)( GLcontext *ctx, GLenum target,
    509                      struct gl_texture_object *tObj, GLint level,
    510                      GLint internalFormat,
    511                      const struct gl_texture_image *image );
    512    /*
    513     * Called whenever a texture object's image is changed.
    514     *    texObject is the number of the texture object being changed.
    515     *    level indicates the mipmap level.
    516     *    internalFormat is the format in which the texture is to be stored.
    517     *    image is a pointer to a gl_texture_image struct which contains
    518     *       the actual image data.
    519     */
    520 
    521    void (*TexSubImage)( GLcontext *ctx, GLenum target,
    522                         struct gl_texture_object *tObj, GLint level,
    523                         GLint xoffset, GLint yoffset,
    524                         GLsizei width, GLsizei height,
    525                         GLint internalFormat,
    526                         const struct gl_texture_image *image );
    527    /*
    528     * Called from glTexSubImage() to define a sub-region of a texture.
    529     */
    530 
    531    void (*TexParameter)( GLcontext *ctx, GLenum target,
    532                          struct gl_texture_object *tObj,
    533                          GLenum pname, const GLfloat *params );
    534    /*
    535     * Called whenever glTexParameter*() is called.
    536     *    target is GL_TEXTURE_1D or GL_TEXTURE_2D
    537     *    texObject is the texture object to modify
    538     *    pname is one of GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
    539     *       GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_BORDER_COLOR.
    540     *    params is dependant on pname.  See man glTexParameter.
    541     */
    542 
    543    void (*BindTexture)( GLcontext *ctx, GLenum target,
    544                         struct gl_texture_object *tObj );
    545    /*
    546     * Called whenever glBindTexture() is called.  This specifies which
    547     * texture is to be the current one.  No dirty flags will be set.
    548     */
    549 
    550    void (*DeleteTexture)( GLcontext *ctx, struct gl_texture_object *tObj );
    551    /*
    552     * Called when a texture object is about to be deallocated.  Driver
    553     * should free anything attached to the DriverData pointers.
    554     */
    555 
    556    void (*UpdateTexturePalette)( GLcontext *ctx,
    557                                  struct gl_texture_object *tObj );
    558    /*
    559     * Called when the texture's color lookup table is changed.
    560     * If tObj is NULL then the shared texture palette ctx->Texture.Palette
    561     * was changed.
    562     */
    563 
    564    void (*UseGlobalTexturePalette)( GLcontext *ctx, GLboolean state );
    565    /*
    566     * Called via glEnable/Disable(GL_SHARED_TEXTURE_PALETTE_EXT)
    567     */
    568 
    569    void (*ActiveTexture)( GLcontext *ctx, GLuint texUnitNumber );
    570    /*
    571     * Called by glActiveTextureARB to set current texture unit.
    572     */
    573 
    574 
    575    GLboolean (*IsTextureResident)( GLcontext *ctx,
    576                                    struct gl_texture_object *t );
    577    /*
    578     * Allows the driver to implement the AreTexturesResident tests without
    579     * knowing about Mesa's internal hash tables for textures.
    580     */
    581 
    582    void (*PrioritizeTexture)( GLcontext *ctx,
    583                               struct gl_texture_object *t,
    584                               GLclampf priority );
    585    /*
    586     * Notify driver of priority change for a texture.
    587     */
    588 
    589 
    590 
    591757
    592758   /***
     
    658824   void (*Hint)(GLcontext *ctx, GLenum target, GLenum mode);
    659825   void (*Lightfv)(GLcontext *ctx, GLenum light,
    660                    GLenum pname, const GLfloat *params, GLint nparams );
     826                   GLenum pname, const GLfloat *params, GLint nparams );
    661827   void (*LightModelfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
     828   void (*LineStipple)(GLcontext *ctx, GLint factor, GLushort pattern );
     829   void (*LineWidth)(GLcontext *ctx, GLfloat width);
    662830   void (*LogicOpcode)(GLcontext *ctx, GLenum opcode);
    663831   void (*PolygonMode)(GLcontext *ctx, GLenum face, GLenum mode);
     832   void (*PolygonStipple)(GLcontext *ctx, const GLubyte *mask );
    664833   void (*Scissor)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
    665834   void (*ShadeModel)(GLcontext *ctx, GLenum mode);
Note: See TracChangeset for help on using the changeset viewer.