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.  * Version:  7.1
  4.  *
  5.  * Copyright (C) 1999-2008  Brian Paul   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.  * BRIAN PAUL 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. #ifndef TEXCOMPRESS_S3TC_H
  26. #define TEXCOMPRESS_S3TC_H
  27.  
  28. #include "compiler.h"
  29. #include "glheader.h"
  30. #include "mfeatures.h"
  31. #include "texstore.h"
  32.  
  33. struct gl_context;
  34. struct gl_texture_image;
  35.  
  36. #if FEATURE_texture_s3tc
  37.  
  38. extern GLboolean
  39. _mesa_texstore_rgb_dxt1(TEXSTORE_PARAMS);
  40.  
  41. extern GLboolean
  42. _mesa_texstore_rgba_dxt1(TEXSTORE_PARAMS);
  43.  
  44. extern GLboolean
  45. _mesa_texstore_rgba_dxt3(TEXSTORE_PARAMS);
  46.  
  47. extern GLboolean
  48. _mesa_texstore_rgba_dxt5(TEXSTORE_PARAMS);
  49.  
  50. extern void
  51. _mesa_fetch_texel_2d_f_rgb_dxt1(const struct gl_texture_image *texImage,
  52.                                 GLint i, GLint j, GLint k, GLfloat *texel);
  53.  
  54. extern void
  55. _mesa_fetch_texel_2d_f_rgba_dxt1(const struct gl_texture_image *texImage,
  56.                                  GLint i, GLint j, GLint k, GLfloat *texel);
  57.  
  58. extern void
  59. _mesa_fetch_texel_2d_f_rgba_dxt3(const struct gl_texture_image *texImage,
  60.                                  GLint i, GLint j, GLint k, GLfloat *texel);
  61.  
  62. extern void
  63. _mesa_fetch_texel_2d_f_rgba_dxt5(const struct gl_texture_image *texImage,
  64.                                  GLint i, GLint j, GLint k, GLfloat *texel);
  65.  
  66. extern void
  67. _mesa_fetch_texel_2d_f_srgb_dxt1(const struct gl_texture_image *texImage,
  68.                                  GLint i, GLint j, GLint k, GLfloat *texel);
  69.  
  70. extern void
  71. _mesa_fetch_texel_2d_f_srgba_dxt1(const struct gl_texture_image *texImage,
  72.                                   GLint i, GLint j, GLint k, GLfloat *texel);
  73.  
  74. extern void
  75. _mesa_fetch_texel_2d_f_srgba_dxt3(const struct gl_texture_image *texImage,
  76.                                   GLint i, GLint j, GLint k, GLfloat *texel);
  77.  
  78. extern void
  79. _mesa_fetch_texel_2d_f_srgba_dxt5(const struct gl_texture_image *texImage,
  80.                                   GLint i, GLint j, GLint k, GLfloat *texel);
  81.  
  82. extern void
  83. _mesa_init_texture_s3tc(struct gl_context *ctx);
  84.  
  85. #else /* FEATURE_texture_s3tc */
  86.  
  87. /* these are used only in texstore_funcs[] */
  88. #define _mesa_texstore_rgb_dxt1 NULL
  89. #define _mesa_texstore_rgba_dxt1 NULL
  90. #define _mesa_texstore_rgba_dxt3 NULL
  91. #define _mesa_texstore_rgba_dxt5 NULL
  92.  
  93. /* these are used only in texfetch_funcs[] */
  94. #define _mesa_fetch_texel_2d_f_rgb_dxt1 NULL
  95. #define _mesa_fetch_texel_2d_f_rgba_dxt1 NULL
  96. #define _mesa_fetch_texel_2d_f_rgba_dxt3 NULL
  97. #define _mesa_fetch_texel_2d_f_rgba_dxt5 NULL
  98. #define _mesa_fetch_texel_2d_f_srgb_dxt1 NULL
  99. #define _mesa_fetch_texel_2d_f_srgba_dxt1 NULL
  100. #define _mesa_fetch_texel_2d_f_srgba_dxt3 NULL
  101. #define _mesa_fetch_texel_2d_f_srgba_dxt5 NULL
  102.  
  103. static INLINE void
  104. _mesa_init_texture_s3tc(struct gl_context *ctx)
  105. {
  106. }
  107.  
  108. #endif /* FEATURE_texture_s3tc */
  109.  
  110. #endif /* TEXCOMPRESS_S3TC_H */
  111.