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 37 extern void 38 _mesa_texture_parameterf(struct gl_context *ctx, 39 struct gl_texture_object *texObj, 40 GLenum pname, GLfloat param, bool dsa); 41 42 extern 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 48 extern void 49 _mesa_texture_parameteri(struct gl_context *ctx, 50 struct gl_texture_object *texObj, 51 GLenum pname, GLint param, bool dsa); 52 53 extern void 54 _mesa_texture_parameteriv(struct gl_context *ctx, 55 struct gl_texture_object *texObj, 56 GLenum pname, const GLint *params, bool dsa); 57 58 extern void 59 _mesa_texture_parameterIiv(struct gl_context *ctx, 60 struct gl_texture_object *texObj, 61 GLenum pname, const GLint *params, bool dsa); 62 63 extern void 64 _mesa_texture_parameterIuiv(struct gl_context *ctx, 65 struct gl_texture_object *texObj, 66 GLenum pname, const GLuint *params, bool dsa); 67 68 GLboolean 69 _mesa_legal_get_tex_level_parameter_target(struct gl_context *ctx, GLenum target, 70 bool dsa); 71 72 GLboolean 73 _mesa_target_allows_setting_sampler_parameters(GLenum target); 74 75 /*@}*/ 76 77 /** 78 * \name API functions 79 */ 80 /*@{*/ 81 82 83 extern void GLAPIENTRY 84 _mesa_GetTexLevelParameterfv( GLenum target, GLint level, 85 GLenum pname, GLfloat *params ); 86 87 extern void GLAPIENTRY 88 _mesa_GetTexLevelParameteriv( GLenum target, GLint level, 89 GLenum pname, GLint *params ); 90 91 extern void GLAPIENTRY 92 _mesa_GetTextureLevelParameterfv(GLuint texture, GLint level, 93 GLenum pname, GLfloat *params); 94 95 extern void GLAPIENTRY 96 _mesa_GetTextureLevelParameteriv(GLuint texture, GLint level, 97 GLenum pname, GLint *params); 98 99 extern void GLAPIENTRY 100 _mesa_GetTextureLevelParameterfvEXT(GLuint texture, GLenum target, 101 GLint level, GLenum pname, 102 GLfloat *params); 103 104 extern void GLAPIENTRY 105 _mesa_GetTextureLevelParameterivEXT(GLuint texture, GLenum target, 106 GLint level, GLenum pname, 107 GLint *params); 108 109 extern void GLAPIENTRY 110 _mesa_GetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, 111 GLint level, GLenum pname, 112 GLfloat *params); 113 114 extern void GLAPIENTRY 115 _mesa_GetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, 116 GLint level, GLenum pname, 117 GLint *params); 118 119 extern void GLAPIENTRY 120 _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ); 121 122 extern void GLAPIENTRY 123 _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ); 124 125 extern void GLAPIENTRY 126 _mesa_GetTexParameterIiv(GLenum target, GLenum pname, GLint *params); 127 128 extern void GLAPIENTRY 129 _mesa_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params); 130 131 extern void GLAPIENTRY 132 _mesa_GetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params); 133 134 extern void GLAPIENTRY 135 _mesa_GetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params); 136 137 extern void GLAPIENTRY 138 _mesa_GetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params ); 139 140 extern void GLAPIENTRY 141 _mesa_GetTextureParameteriv(GLuint texture, GLenum pname, GLint *params); 142 143 extern void GLAPIENTRY 144 _mesa_GetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params); 145 146 extern void GLAPIENTRY 147 _mesa_GetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params); 148 149 extern void GLAPIENTRY 150 _mesa_GetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params); 151 152 extern void GLAPIENTRY 153 _mesa_GetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params); 154 155 extern void GLAPIENTRY 156 _mesa_GetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params); 157 158 extern void GLAPIENTRY 159 _mesa_GetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params); 160 161 162 extern void GLAPIENTRY 163 _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ); 164 165 extern void GLAPIENTRY 166 _mesa_TexParameterf( GLenum target, GLenum pname, GLfloat param ); 167 168 extern void GLAPIENTRY 169 _mesa_TexParameteri( GLenum target, GLenum pname, GLint param ); 170 171 extern void GLAPIENTRY 172 _mesa_TexParameteriv( GLenum target, GLenum pname, const GLint *params ); 173 174 extern void GLAPIENTRY 175 _mesa_TexParameterIiv(GLenum target, GLenum pname, const GLint *params); 176 177 extern void GLAPIENTRY 178 _mesa_TexParameterIuiv(GLenum target, GLenum pname, const GLuint *params); 179 180 extern void GLAPIENTRY 181 _mesa_TextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *params); 182 183 extern void GLAPIENTRY 184 _mesa_TextureParameterfv(GLuint texture, GLenum pname, const GLfloat *params); 185 186 extern void GLAPIENTRY 187 _mesa_TextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param); 188 189 extern void GLAPIENTRY 190 _mesa_TextureParameterf(GLuint texture, GLenum pname, GLfloat param); 191 192 extern void GLAPIENTRY 193 _mesa_TextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param); 194 195 extern void GLAPIENTRY 196 _mesa_TextureParameteri(GLuint texture, GLenum pname, GLint param); 197 198 extern void GLAPIENTRY 199 _mesa_TextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params); 200 201 extern void GLAPIENTRY 202 _mesa_TextureParameteriv(GLuint texture, GLenum pname, const GLint *params); 203 204 extern void GLAPIENTRY 205 _mesa_TextureParameterIiv(GLuint texture, GLenum pname, const GLint *params); 206 207 extern void GLAPIENTRY 208 _mesa_TextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params); 209 210 extern void GLAPIENTRY 211 _mesa_MultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params); 212 213 extern void GLAPIENTRY 214 _mesa_TextureParameterIuiv(GLuint texture, GLenum pname, const GLuint *params); 215 216 extern void GLAPIENTRY 217 _mesa_TextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params); 218 219 extern void GLAPIENTRY 220 _mesa_MultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params); 221 222 extern void GLAPIENTRY 223 _mesa_MultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param); 224 225 extern void GLAPIENTRY 226 _mesa_MultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); 227 228 extern void GLAPIENTRY 229 _mesa_MultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param); 230 231 extern void GLAPIENTRY 232 _mesa_MultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params); 233 234 extern void GLAPIENTRY 235 _mesa_GetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params); 236 237 extern void GLAPIENTRY 238 _mesa_GetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params); 239 240 #endif /* TEXPARAM_H */ 241