summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/main/context.c10
-rw-r--r--src/mesa/main/teximage.c6
2 files changed, 12 insertions, 4 deletions
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 4f2718140d..7576c8bc2c 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1,4 +1,4 @@
-/* $Id: context.c,v 1.145 2001/07/19 15:54:34 brianp Exp $ */
+/* $Id: context.c,v 1.146 2001/07/26 20:02:10 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -1351,9 +1351,11 @@ alloc_proxy_textures( GLcontext *ctx )
ctx->Texture.Proxy1D->Image[i] = _mesa_alloc_texture_image();
ctx->Texture.Proxy2D->Image[i] = _mesa_alloc_texture_image();
ctx->Texture.Proxy3D->Image[i] = _mesa_alloc_texture_image();
+ ctx->Texture.ProxyCubeMap->Image[i] = _mesa_alloc_texture_image();
if (!ctx->Texture.Proxy1D->Image[i]
|| !ctx->Texture.Proxy2D->Image[i]
- || !ctx->Texture.Proxy3D->Image[i]) {
+ || !ctx->Texture.Proxy3D->Image[i]
+ || !ctx->Texture.ProxyCubeMap->Image[i]) {
out_of_memory = GL_TRUE;
}
}
@@ -1368,10 +1370,14 @@ alloc_proxy_textures( GLcontext *ctx )
if (ctx->Texture.Proxy3D->Image[i]) {
_mesa_free_texture_image(ctx->Texture.Proxy3D->Image[i]);
}
+ if (ctx->Texture.ProxyCubeMap->Image[i]) {
+ _mesa_free_texture_image(ctx->Texture.ProxyCubeMap->Image[i]);
+ }
}
_mesa_free_texture_object(NULL, ctx->Texture.Proxy1D);
_mesa_free_texture_object(NULL, ctx->Texture.Proxy2D);
_mesa_free_texture_object(NULL, ctx->Texture.Proxy3D);
+ _mesa_free_texture_object(NULL, ctx->Texture.ProxyCubeMap);
return GL_FALSE;
}
else {
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index c856f331d9..4206062b13 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -1,4 +1,4 @@
-/* $Id: teximage.c,v 1.102 2001/07/23 16:18:18 brianp Exp $ */
+/* $Id: teximage.c,v 1.103 2001/07/26 20:02:10 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -1525,7 +1525,9 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
texObj->Complete = GL_FALSE;
ctx->NewState |= _NEW_TEXTURE;
}
- else if (target == GL_PROXY_TEXTURE_2D) {
+ else if (target == GL_PROXY_TEXTURE_2D ||
+ (target == GL_PROXY_TEXTURE_CUBE_MAP_ARB &&
+ ctx->Extensions.ARB_texture_cube_map)) {
/* Proxy texture: check for errors and update proxy state */
GLenum error = texture_error_check(ctx, target, level, internalFormat,
format, type, 2,