summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texstate.c
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2000-05-22 16:33:20 +0000
committerBrian Paul <[email protected]>2000-05-22 16:33:20 +0000
commit86fc370d399167ec9bb978d053d4a72215c86c16 (patch)
tree41269faf262faf74f878896f562513ef580db98c /src/mesa/main/texstate.c
parent87a7897d38fe1fa4458901d15475e3306270b51e (diff)
initial code for GL_ARB_texture_cube_map
Diffstat (limited to 'src/mesa/main/texstate.c')
-rw-r--r--src/mesa/main/texstate.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index 2993be45220..7d57f3ec636 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -1,4 +1,4 @@
-/* $Id: texstate.c,v 1.9 2000/03/07 17:54:58 brianp Exp $ */
+/* $Id: texstate.c,v 1.10 2000/05/22 16:33:21 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -273,6 +273,12 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
case GL_TEXTURE_3D_EXT:
texObj = texUnit->CurrentD[3];
break;
+ case GL_TEXTURE_CUBE_MAP_ARB:
+ if (ctx->Extensions.HaveTextureCubeMap) {
+ texObj = texUnit->CurrentPosX;
+ break;
+ }
+ /* fallthrough */
default:
gl_error( ctx, GL_INVALID_ENUM, "glTexParameter(target)" );
return;
@@ -454,7 +460,17 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
case GL_TEXTURE_3D:
img = texUnit->CurrentD[3]->Image[level];
dimensions = 3;
- break;
+ break;
+ case GL_TEXTURE_CUBE_MAP_ARB:
+ if (ctx->Extensions.HaveTextureCubeMap) {
+ img = texUnit->CurrentPosX->Image[level];
+ dimensions = 2;
+ }
+ else {
+ gl_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(target)");
+ return;
+ }
+ break;
case GL_PROXY_TEXTURE_1D:
img = ctx->Texture.Proxy1D->Image[level];
dimensions = 1;
@@ -467,6 +483,16 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
img = ctx->Texture.Proxy3D->Image[level];
dimensions = 3;
break;
+ case GL_PROXY_TEXTURE_CUBE_MAP_ARB:
+ if (ctx->Extensions.HaveTextureCubeMap) {
+ img = ctx->Texture.ProxyCubeMap->Image[level];
+ dimensions = 2;
+ }
+ else {
+ gl_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(target)");
+ return;
+ }
+ break;
default:
gl_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(target)");
return;