Subversion Repositories Kolibri OS

Rev

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

  1. /*
  2.  * Copyright (C) 2008 Nicolai Haehnle.
  3.  * Copyright (C) The Weather Channel, Inc.  2002.  All Rights Reserved.
  4.  *
  5.  * The Weather Channel (TM) funded Tungsten Graphics to develop the
  6.  * initial release of the Radeon 8500 driver under the XFree86 license.
  7.  * This notice must be preserved.
  8.  *
  9.  * Permission is hereby granted, free of charge, to any person obtaining
  10.  * a copy of this software and associated documentation files (the
  11.  * "Software"), to deal in the Software without restriction, including
  12.  * without limitation the rights to use, copy, modify, merge, publish,
  13.  * distribute, sublicense, and/or sell copies of the Software, and to
  14.  * permit persons to whom the Software is furnished to do so, subject to
  15.  * the following conditions:
  16.  *
  17.  * The above copyright notice and this permission notice (including the
  18.  * next paragraph) shall be included in all copies or substantial
  19.  * portions of the Software.
  20.  *
  21.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  22.  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  23.  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  24.  * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
  25.  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  26.  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  27.  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  28.  *
  29.  */
  30.  
  31. #ifndef RADEON_TEXTURE_H
  32. #define RADEON_TEXTURE_H
  33.  
  34. #include "main/formats.h"
  35.  
  36. extern gl_format _radeon_texformat_rgba8888;
  37. extern gl_format _radeon_texformat_argb8888;
  38. extern gl_format _radeon_texformat_rgb565;
  39. extern gl_format _radeon_texformat_argb4444;
  40. extern gl_format _radeon_texformat_argb1555;
  41. extern gl_format _radeon_texformat_al88;
  42.  
  43. extern
  44. void copy_rows(void* dst, GLuint dststride, const void* src, GLuint srcstride,
  45.         GLuint numrows, GLuint rowsize);
  46. struct gl_texture_image *radeonNewTextureImage(struct gl_context *ctx);
  47. void radeonFreeTextureImageBuffer(struct gl_context *ctx, struct gl_texture_image *timage);
  48.  
  49. int radeon_validate_texture_miptree(struct gl_context * ctx,
  50.                                     struct gl_sampler_object *samp,
  51.                                     struct gl_texture_object *texObj);
  52.  
  53.  
  54. gl_format radeonChooseTextureFormat_mesa(struct gl_context * ctx,
  55.                                          GLenum target,
  56.                                          GLint internalFormat,
  57.                                          GLenum format,
  58.                                          GLenum type);
  59.  
  60. gl_format radeonChooseTextureFormat(struct gl_context * ctx,
  61.                                     GLint internalFormat,
  62.                                     GLenum format,
  63.                                     GLenum type, GLboolean fbo);
  64.  
  65. void radeonCopyTexSubImage(struct gl_context *ctx, GLuint dims,
  66.                            struct gl_texture_image *texImage,
  67.                            GLint xoffset, GLint yoffset, GLint zoffset,
  68.                            struct gl_renderbuffer *rb,
  69.                            GLint x, GLint y,
  70.                            GLsizei width, GLsizei height);
  71.  
  72. unsigned radeonIsFormatRenderable(gl_format mesa_format);
  73.  
  74. void radeon_image_target_texture_2d(struct gl_context *ctx, GLenum target,
  75.                                     struct gl_texture_object *texObj,
  76.                                     struct gl_texture_image *texImage,
  77.                                     GLeglImageOES image_handle);
  78.  
  79. void
  80. radeon_init_common_texture_funcs(radeonContextPtr radeon,
  81.                                  struct dd_function_table *functions);
  82.  
  83. #endif
  84.