Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Mesa 3-D graphics library
  3.  *
  4.  * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
  5.  * Copyright (C) 1999-2010  VMware, Inc.  All Rights Reserved.
  6.  *
  7.  * Permission is hereby granted, free of charge, to any person obtaining a
  8.  * copy of this software and associated documentation files (the "Software"),
  9.  * to deal in the Software without restriction, including without limitation
  10.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  11.  * and/or sell copies of the Software, and to permit persons to whom the
  12.  * Software is furnished to do so, subject to the following conditions:
  13.  *
  14.  * The above copyright notice and this permission notice shall be included
  15.  * in all copies or substantial portions of the Software.
  16.  *
  17.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  18.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  20.  * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  21.  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  22.  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  23.  */
  24.  
  25.  
  26. #ifndef PACK_H
  27. #define PACK_H
  28.  
  29.  
  30. #include "mtypes.h"
  31.  
  32.  
  33. extern void
  34. _mesa_unpack_polygon_stipple(const GLubyte *pattern, GLuint dest[32],
  35.                              const struct gl_pixelstore_attrib *unpacking);
  36.  
  37.  
  38. extern void
  39. _mesa_pack_polygon_stipple(const GLuint pattern[32], GLubyte *dest,
  40.                            const struct gl_pixelstore_attrib *packing);
  41.  
  42.  
  43. extern GLvoid *
  44. _mesa_unpack_bitmap(GLint width, GLint height, const GLubyte *pixels,
  45.                     const struct gl_pixelstore_attrib *packing);
  46.  
  47. extern void
  48. _mesa_pack_bitmap(GLint width, GLint height, const GLubyte *source,
  49.                   GLubyte *dest, const struct gl_pixelstore_attrib *packing);
  50.  
  51.  
  52. extern void
  53. _mesa_pack_rgba_span_float(struct gl_context *ctx, GLuint n,
  54.                            GLfloat rgba[][4],
  55.                            GLenum dstFormat, GLenum dstType, GLvoid *dstAddr,
  56.                            const struct gl_pixelstore_attrib *dstPacking,
  57.                            GLbitfield transferOps);
  58.  
  59.  
  60. extern void
  61. _mesa_unpack_color_span_chan(struct gl_context *ctx,
  62.                              GLuint n, GLenum dstFormat, GLchan dest[],
  63.                              GLenum srcFormat, GLenum srcType,
  64.                              const GLvoid *source,
  65.                              const struct gl_pixelstore_attrib *srcPacking,
  66.                              GLbitfield transferOps);
  67.  
  68.  
  69. extern void
  70. _mesa_unpack_color_span_float(struct gl_context *ctx,
  71.                               GLuint n, GLenum dstFormat, GLfloat dest[],
  72.                               GLenum srcFormat, GLenum srcType,
  73.                               const GLvoid *source,
  74.                               const struct gl_pixelstore_attrib *srcPacking,
  75.                               GLbitfield transferOps);
  76.  
  77. extern void
  78. _mesa_unpack_color_span_uint(struct gl_context *ctx,
  79.                              GLuint n, GLenum dstFormat, GLuint *dest,
  80.                              GLenum srcFormat, GLenum srcType,
  81.                              const GLvoid *source,
  82.                              const struct gl_pixelstore_attrib *srcPacking);
  83.  
  84. extern void
  85. _mesa_unpack_dudv_span_byte(struct gl_context *ctx,
  86.                             GLuint n, GLenum dstFormat, GLbyte dest[],
  87.                             GLenum srcFormat, GLenum srcType,
  88.                             const GLvoid *source,
  89.                             const struct gl_pixelstore_attrib *srcPacking,
  90.                             GLbitfield transferOps);
  91.  
  92. extern void
  93. _mesa_unpack_index_span(struct gl_context *ctx, GLuint n,
  94.                         GLenum dstType, GLvoid *dest,
  95.                         GLenum srcType, const GLvoid *source,
  96.                         const struct gl_pixelstore_attrib *srcPacking,
  97.                         GLbitfield transferOps);
  98.  
  99.  
  100. extern void
  101. _mesa_pack_index_span(struct gl_context *ctx, GLuint n,
  102.                       GLenum dstType, GLvoid *dest, const GLuint *source,
  103.                       const struct gl_pixelstore_attrib *dstPacking,
  104.                       GLbitfield transferOps);
  105.  
  106.  
  107. extern void
  108. _mesa_unpack_stencil_span(struct gl_context *ctx, GLuint n,
  109.                           GLenum dstType, GLvoid *dest,
  110.                           GLenum srcType, const GLvoid *source,
  111.                           const struct gl_pixelstore_attrib *srcPacking,
  112.                           GLbitfield transferOps);
  113.  
  114. extern void
  115. _mesa_pack_stencil_span(struct gl_context *ctx, GLuint n,
  116.                         GLenum dstType, GLvoid *dest, const GLstencil *source,
  117.                         const struct gl_pixelstore_attrib *dstPacking);
  118.  
  119.  
  120. extern void
  121. _mesa_unpack_depth_span(struct gl_context *ctx, GLuint n,
  122.                         GLenum dstType, GLvoid *dest, GLuint depthMax,
  123.                         GLenum srcType, const GLvoid *source,
  124.                         const struct gl_pixelstore_attrib *srcPacking);
  125.  
  126. extern void
  127. _mesa_pack_depth_span(struct gl_context *ctx, GLuint n, GLvoid *dest,
  128.                       GLenum dstType, const GLfloat *depthSpan,
  129.                       const struct gl_pixelstore_attrib *dstPacking);
  130.  
  131.  
  132. extern void
  133. _mesa_pack_depth_stencil_span(struct gl_context *ctx,
  134.                               GLuint n, GLuint *dest,
  135.                               const GLfloat *depthVals,
  136.                               const GLstencil *stencilVals,
  137.                               const struct gl_pixelstore_attrib *dstPacking);
  138.  
  139.  
  140. extern void *
  141. _mesa_unpack_image(GLuint dimensions,
  142.                    GLsizei width, GLsizei height, GLsizei depth,
  143.                    GLenum format, GLenum type, const GLvoid *pixels,
  144.                    const struct gl_pixelstore_attrib *unpack);
  145.  
  146.  
  147. #endif
  148.