1/* 2 * Mesa 3-D graphics library 3 * 4 * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a 7 * copy of this software and associated documentation files (the "Software"), 8 * to deal in the Software without restriction, including without limitation 9 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 * and/or sell copies of the Software, and to permit persons to whom the 11 * Software is furnished to do so, subject to the following conditions: 12 * 13 * The above copyright notice and this permission notice shall be included 14 * in all copies or substantial portions of the Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 * OTHER DEALINGS IN THE SOFTWARE. 23 */ 24 25 26#ifndef TEXPARAM_H 27#define TEXPARAM_H 28 29 30#include "main/glheader.h" 31 32/** 33 * \name Internal functions 34 */ 35/*@{*/ 36 37extern void 38_mesa_texture_parameterf(struct gl_context *ctx, 39 struct gl_texture_object *texObj, 40 GLenum pname, GLfloat param, bool dsa); 41 42extern void 43_mesa_texture_parameterfv(struct gl_context *ctx, 44 struct gl_texture_object *texObj, 45 GLenum pname, const GLfloat *params, bool dsa); 46 47 48extern void 49_mesa_texture_parameteri(struct gl_context *ctx, 50 struct gl_texture_object *texObj, 51 GLenum pname, GLint param, bool dsa); 52 53extern void 54_mesa_texture_parameteriv(struct gl_context *ctx, 55 struct gl_texture_object *texObj, 56 GLenum pname, const GLint *params, bool dsa); 57 58extern void 59_mesa_texture_parameterIiv(struct gl_context *ctx, 60 struct gl_texture_object *texObj, 61 GLenum pname, const GLint *params, bool dsa); 62 63extern void 64_mesa_texture_parameterIuiv(struct gl_context *ctx, 65 struct gl_texture_object *texObj, 66 GLenum pname, const GLuint *params, bool dsa); 67 68GLboolean 69_mesa_legal_get_tex_level_parameter_target(struct gl_context *ctx, GLenum target, 70 bool dsa); 71 72GLboolean 73_mesa_target_allows_setting_sampler_parameters(GLenum target); 74 75/*@}*/ 76 77/** 78 * \name API functions 79 */ 80/*@{*/ 81 82 83extern void GLAPIENTRY 84_mesa_GetTexLevelParameterfv( GLenum target, GLint level, 85 GLenum pname, GLfloat *params ); 86 87extern void GLAPIENTRY 88_mesa_GetTexLevelParameteriv( GLenum target, GLint level, 89 GLenum pname, GLint *params ); 90 91extern void GLAPIENTRY 92_mesa_GetTextureLevelParameterfv(GLuint texture, GLint level, 93 GLenum pname, GLfloat *params); 94 95extern void GLAPIENTRY 96_mesa_GetTextureLevelParameteriv(GLuint texture, GLint level, 97 GLenum pname, GLint *params); 98 99extern void GLAPIENTRY 100_mesa_GetTextureLevelParameterfvEXT(GLuint texture, GLenum target, 101 GLint level, GLenum pname, 102 GLfloat *params); 103 104extern void GLAPIENTRY 105_mesa_GetTextureLevelParameterivEXT(GLuint texture, GLenum target, 106 GLint level, GLenum pname, 107 GLint *params); 108 109extern void GLAPIENTRY 110_mesa_GetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, 111 GLint level, GLenum pname, 112 GLfloat *params); 113 114extern void GLAPIENTRY 115_mesa_GetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, 116 GLint level, GLenum pname, 117 GLint *params); 118 119extern void GLAPIENTRY 120_mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ); 121 122extern void GLAPIENTRY 123_mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ); 124 125extern void GLAPIENTRY 126_mesa_GetTexParameterIiv(GLenum target, GLenum pname, GLint *params); 127 128extern void GLAPIENTRY 129_mesa_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params); 130 131extern void GLAPIENTRY 132_mesa_GetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params); 133 134extern void GLAPIENTRY 135_mesa_GetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params); 136 137extern void GLAPIENTRY 138_mesa_GetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params ); 139 140extern void GLAPIENTRY 141_mesa_GetTextureParameteriv(GLuint texture, GLenum pname, GLint *params); 142 143extern void GLAPIENTRY 144_mesa_GetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params); 145 146extern void GLAPIENTRY 147_mesa_GetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params); 148 149extern void GLAPIENTRY 150_mesa_GetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params); 151 152extern void GLAPIENTRY 153_mesa_GetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params); 154 155extern void GLAPIENTRY 156_mesa_GetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params); 157 158extern void GLAPIENTRY 159_mesa_GetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params); 160 161 162extern void GLAPIENTRY 163_mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ); 164 165extern void GLAPIENTRY 166_mesa_TexParameterf( GLenum target, GLenum pname, GLfloat param ); 167 168extern void GLAPIENTRY 169_mesa_TexParameteri( GLenum target, GLenum pname, GLint param ); 170 171extern void GLAPIENTRY 172_mesa_TexParameteriv( GLenum target, GLenum pname, const GLint *params ); 173 174extern void GLAPIENTRY 175_mesa_TexParameterIiv(GLenum target, GLenum pname, const GLint *params); 176 177extern void GLAPIENTRY 178_mesa_TexParameterIuiv(GLenum target, GLenum pname, const GLuint *params); 179 180extern void GLAPIENTRY 181_mesa_TextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *params); 182 183extern void GLAPIENTRY 184_mesa_TextureParameterfv(GLuint texture, GLenum pname, const GLfloat *params); 185 186extern void GLAPIENTRY 187_mesa_TextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param); 188 189extern void GLAPIENTRY 190_mesa_TextureParameterf(GLuint texture, GLenum pname, GLfloat param); 191 192extern void GLAPIENTRY 193_mesa_TextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param); 194 195extern void GLAPIENTRY 196_mesa_TextureParameteri(GLuint texture, GLenum pname, GLint param); 197 198extern void GLAPIENTRY 199_mesa_TextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params); 200 201extern void GLAPIENTRY 202_mesa_TextureParameteriv(GLuint texture, GLenum pname, const GLint *params); 203 204extern void GLAPIENTRY 205_mesa_TextureParameterIiv(GLuint texture, GLenum pname, const GLint *params); 206 207extern void GLAPIENTRY 208_mesa_TextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params); 209 210extern void GLAPIENTRY 211_mesa_MultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params); 212 213extern void GLAPIENTRY 214_mesa_TextureParameterIuiv(GLuint texture, GLenum pname, const GLuint *params); 215 216extern void GLAPIENTRY 217_mesa_TextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params); 218 219extern void GLAPIENTRY 220_mesa_MultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params); 221 222extern void GLAPIENTRY 223_mesa_MultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param); 224 225extern void GLAPIENTRY 226_mesa_MultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); 227 228extern void GLAPIENTRY 229_mesa_MultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param); 230 231extern void GLAPIENTRY 232_mesa_MultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params); 233 234extern void GLAPIENTRY 235_mesa_GetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params); 236 237extern void GLAPIENTRY 238_mesa_GetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params); 239 240#endif /* TEXPARAM_H */ 241