1ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin/* 2ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * Mesa 3-D graphics library 3ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * 46a26fb1fd062558b912d18c76696fcb17c696894Courtney Goeltzenleuchter * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. 5ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * 6ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * Permission is hereby granted, free of charge, to any person obtaining a 7ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * copy of this software and associated documentation files (the "Software"), 8ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * to deal in the Software without restriction, including without limitation 9ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * and/or sell copies of the Software, and to permit persons to whom the 11ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * Software is furnished to do so, subject to the following conditions: 12ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * 13ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * The above copyright notice and this permission notice shall be included 14ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * in all copies or substantial portions of the Software. 15ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * 16ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * OTHER DEALINGS IN THE SOFTWARE. 23ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin */ 24ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 25ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 26ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin#ifndef TEXPARAM_H 27ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin#define TEXPARAM_H 28ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 29ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 30ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin#include "main/glheader.h" 31ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 32ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin/** 33ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * \name Internal functions 34ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin */ 35ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin/*@{*/ 36ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 37ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void 38ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_texture_parameterf(struct gl_context *ctx, 39ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin struct gl_texture_object *texObj, 40ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, GLfloat param, bool dsa); 41ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 42ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void 43ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_texture_parameterfv(struct gl_context *ctx, 44ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin struct gl_texture_object *texObj, 45ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, const GLfloat *params, bool dsa); 46ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 47ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 48ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void 49ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_texture_parameteri(struct gl_context *ctx, 50ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin struct gl_texture_object *texObj, 51ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, GLint param, bool dsa); 52ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 53ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void 54ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_texture_parameteriv(struct gl_context *ctx, 55ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin struct gl_texture_object *texObj, 56ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, const GLint *params, bool dsa); 57ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 58ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void 59ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_texture_parameterIiv(struct gl_context *ctx, 60ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin struct gl_texture_object *texObj, 61ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, const GLint *params, bool dsa); 62ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 63ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void 64ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_texture_parameterIuiv(struct gl_context *ctx, 65ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin struct gl_texture_object *texObj, 66ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, const GLuint *params, bool dsa); 67ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 68ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander GalazinGLboolean 69ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_legal_get_tex_level_parameter_target(struct gl_context *ctx, GLenum target, 70ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin bool dsa); 71ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 72ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander GalazinGLboolean 73ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_target_allows_setting_sampler_parameters(GLenum target); 74ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 75ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin/*@}*/ 76ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 77ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin/** 78ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin * \name API functions 79ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin */ 80ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin/*@{*/ 81ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 82ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 83ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 84ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTexLevelParameterfv( GLenum target, GLint level, 85ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, GLfloat *params ); 86ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 87ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 88ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTexLevelParameteriv( GLenum target, GLint level, 89ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, GLint *params ); 90ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 91ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 92ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTextureLevelParameterfv(GLuint texture, GLint level, 93ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, GLfloat *params); 94ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 95ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 96ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTextureLevelParameteriv(GLuint texture, GLint level, 97ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin GLenum pname, GLint *params); 98ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 99ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 100ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 101ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ); 102ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 103ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 104ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ); 105ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 106ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 107ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTexParameterIiv(GLenum target, GLenum pname, GLint *params); 108ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 109ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 110ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params); 111ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 112ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 113ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 114ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params); 115ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 116ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 117ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTextureParameteriv(GLuint texture, GLenum pname, GLint *params); 118ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 119ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 120ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params); 121ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 122ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 123ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_GetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params); 124ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 125ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 126ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 127ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ); 128ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 129ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 130ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TexParameterf( GLenum target, GLenum pname, GLfloat param ); 131ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 132ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 133ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TexParameteri( GLenum target, GLenum pname, GLint param ); 134ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 135ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 136ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TexParameteriv( GLenum target, GLenum pname, const GLint *params ); 137ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 138ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 139ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TexParameterIiv(GLenum target, GLenum pname, const GLint *params); 140ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 141ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 142ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TexParameterIuiv(GLenum target, GLenum pname, const GLuint *params); 143ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 144ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 145ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TextureParameterfv(GLuint texture, GLenum pname, const GLfloat *params); 146ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 147ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 148ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TextureParameterf(GLuint texture, GLenum pname, GLfloat param); 149ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 150ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 151ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TextureParameteri(GLuint texture, GLenum pname, GLint param); 152ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 153ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 154ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TextureParameteriv(GLuint texture, GLenum pname, const GLint *params); 155ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 156ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 157ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TextureParameterIiv(GLuint texture, GLenum pname, const GLint *params); 158ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 159ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazinextern void GLAPIENTRY 160ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin_mesa_TextureParameterIuiv(GLuint texture, GLenum pname, const GLuint *params); 161ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin 162ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin#endif /* TEXPARAM_H */ 163ae3759c7c9744a88ef60fc869c4c235b72fa4a22Alexander Galazin