Subversion Repositories Kolibri OS

Rev

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

  1. /**
  2.  * \file texstate.h
  3.  * Texture state management.
  4.  */
  5.  
  6. /*
  7.  * Mesa 3-D graphics library
  8.  * Version:  7.1
  9.  *
  10.  * Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
  11.  *
  12.  * Permission is hereby granted, free of charge, to any person obtaining a
  13.  * copy of this software and associated documentation files (the "Software"),
  14.  * to deal in the Software without restriction, including without limitation
  15.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  16.  * and/or sell copies of the Software, and to permit persons to whom the
  17.  * Software is furnished to do so, subject to the following conditions:
  18.  *
  19.  * The above copyright notice and this permission notice shall be included
  20.  * in all copies or substantial portions of the Software.
  21.  *
  22.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  23.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  24.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  25.  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  26.  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  27.  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  28.  */
  29.  
  30.  
  31. #ifndef TEXSTATE_H
  32. #define TEXSTATE_H
  33.  
  34.  
  35. #include "compiler.h"
  36. #include "mtypes.h"
  37.  
  38.  
  39. /**
  40.  * Return pointer to current texture unit.
  41.  * This the texture unit set by glActiveTexture(), not glClientActiveTexture().
  42.  */
  43. static INLINE struct gl_texture_unit *
  44. _mesa_get_current_tex_unit(struct gl_context *ctx)
  45. {
  46.    ASSERT(ctx->Texture.CurrentUnit < Elements(ctx->Texture.Unit));
  47.    return &(ctx->Texture.Unit[ctx->Texture.CurrentUnit]);
  48. }
  49.  
  50.  
  51. extern void
  52. _mesa_copy_texture_state( const struct gl_context *src, struct gl_context *dst );
  53.  
  54. extern void
  55. _mesa_print_texunit_state( struct gl_context *ctx, GLuint unit );
  56.  
  57.  
  58.  
  59. /**
  60.  * \name Called from API
  61.  */
  62. /*@{*/
  63.  
  64. extern void GLAPIENTRY
  65. _mesa_ActiveTextureARB( GLenum target );
  66.  
  67. extern void GLAPIENTRY
  68. _mesa_ClientActiveTextureARB( GLenum target );
  69.  
  70. /*@}*/
  71.  
  72.  
  73. /**
  74.  * \name Initialization, state maintenance
  75.  */
  76. /*@{*/
  77.  
  78. extern void
  79. _mesa_update_texture( struct gl_context *ctx, GLuint new_state );
  80.  
  81. extern GLboolean
  82. _mesa_init_texture( struct gl_context *ctx );
  83.  
  84. extern void
  85. _mesa_free_texture_data( struct gl_context *ctx );
  86.  
  87. extern void
  88. _mesa_update_default_objects_texture(struct gl_context *ctx);
  89.  
  90. /*@}*/
  91.  
  92. #endif
  93.