projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
58dacc8
)
Refactor the way TestProxyTexImage is called in texture_error_check.
author
Ian Romanick
<idr@us.ibm.com>
Thu, 10 May 2007 04:46:43 +0000
(21:46 -0700)
committer
Ian Romanick
<idr@us.ibm.com>
Thu, 10 May 2007 15:20:41 +0000
(08:20 -0700)
src/mesa/main/teximage.c
patch
|
blob
|
history
diff --git
a/src/mesa/main/teximage.c
b/src/mesa/main/teximage.c
index 706d3466955b0e6d20d8f2269656fb589acffe3b..9fb430f39b48f3574499c39e30261cc69013a3c7 100644
(file)
--- a/
src/mesa/main/teximage.c
+++ b/
src/mesa/main/teximage.c
@@
-1329,8
+1329,9
@@
texture_error_check( GLcontext *ctx, GLenum target,
GLint depth, GLint border )
{
const GLboolean isProxy = _mesa_is_proxy_texture(target);
GLint depth, GLint border )
{
const GLboolean isProxy = _mesa_is_proxy_texture(target);
- GLboolean sizeOK;
+ GLboolean sizeOK
= GL_TRUE
;
GLboolean colorFormat, indexFormat;
GLboolean colorFormat, indexFormat;
+ GLenum proxy_target;
/* Basic level check (more checking in ctx->Driver.TestProxyTexImage) */
if (level < 0 || level >= MAX_TEXTURE_LEVELS) {
/* Basic level check (more checking in ctx->Driver.TestProxyTexImage) */
if (level < 0 || level >= MAX_TEXTURE_LEVELS) {
@@
-1365,10
+1366,9
@@
texture_error_check( GLcontext *ctx, GLenum target,
*/
if (dimensions == 1) {
if (target == GL_PROXY_TEXTURE_1D || target == GL_TEXTURE_1D) {
*/
if (dimensions == 1) {
if (target == GL_PROXY_TEXTURE_1D || target == GL_TEXTURE_1D) {
- sizeOK = ctx->Driver.TestProxyTexImage(ctx, GL_PROXY_TEXTURE_1D,
- level, internalFormat,
- format, type,
- width, 1, 1, border);
+ proxy_target = GL_PROXY_TEXTURE_1D;
+ height = 1;
+ width = 1;
}
else {
_mesa_error( ctx, GL_INVALID_ENUM, "glTexImage1D(target)" );
}
else {
_mesa_error( ctx, GL_INVALID_ENUM, "glTexImage1D(target)" );
@@
-1376,11
+1376,9
@@
texture_error_check( GLcontext *ctx, GLenum target,
}
}
else if (dimensions == 2) {
}
}
else if (dimensions == 2) {
+ depth = 1;
if (target == GL_PROXY_TEXTURE_2D || target == GL_TEXTURE_2D) {
if (target == GL_PROXY_TEXTURE_2D || target == GL_TEXTURE_2D) {
- sizeOK = ctx->Driver.TestProxyTexImage(ctx, GL_PROXY_TEXTURE_2D,
- level, internalFormat,
- format, type,
- width, height, 1, border);
+ proxy_target = GL_PROXY_TEXTURE_2D;
}
else if (target == GL_PROXY_TEXTURE_CUBE_MAP_ARB ||
(target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB &&
}
else if (target == GL_PROXY_TEXTURE_CUBE_MAP_ARB ||
(target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB &&
@@
-1389,10
+1387,8
@@
texture_error_check( GLcontext *ctx, GLenum target,
_mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
return GL_TRUE;
}
_mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
return GL_TRUE;
}
- sizeOK = (width == height) &&
- ctx->Driver.TestProxyTexImage(ctx, GL_PROXY_TEXTURE_CUBE_MAP_ARB,
- level, internalFormat, format, type,
- width, height, 1, border);
+ proxy_target = GL_PROXY_TEXTURE_CUBE_MAP_ARB;
+ sizeOK = (width == height);
}
else if (target == GL_PROXY_TEXTURE_RECTANGLE_NV ||
target == GL_TEXTURE_RECTANGLE_NV) {
}
else if (target == GL_PROXY_TEXTURE_RECTANGLE_NV ||
target == GL_TEXTURE_RECTANGLE_NV) {
@@
-1400,11
+1396,7
@@
texture_error_check( GLcontext *ctx, GLenum target,
_mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
return GL_TRUE;
}
_mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
return GL_TRUE;
}
- sizeOK = ctx->Driver.TestProxyTexImage(ctx,
- GL_PROXY_TEXTURE_RECTANGLE_NV,
- level, internalFormat,
- format, type,
- width, height, 1, border);
+ proxy_target = GL_PROXY_TEXTURE_RECTANGLE_NV;
}
else {
_mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
}
else {
_mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
@@
-1413,10
+1405,7
@@
texture_error_check( GLcontext *ctx, GLenum target,
}
else if (dimensions == 3) {
if (target == GL_PROXY_TEXTURE_3D || target == GL_TEXTURE_3D) {
}
else if (dimensions == 3) {
if (target == GL_PROXY_TEXTURE_3D || target == GL_TEXTURE_3D) {
- sizeOK = ctx->Driver.TestProxyTexImage(ctx, GL_PROXY_TEXTURE_3D,
- level, internalFormat,
- format, type,
- width, height, depth, border);
+ proxy_target = GL_PROXY_TEXTURE_3D;
}
else {
_mesa_error( ctx, GL_INVALID_ENUM, "glTexImage3D(target)" );
}
else {
_mesa_error( ctx, GL_INVALID_ENUM, "glTexImage3D(target)" );
@@
-1428,6
+1417,10
@@
texture_error_check( GLcontext *ctx, GLenum target,
return GL_TRUE;
}
return GL_TRUE;
}
+ sizeOK = sizeOK && ctx->Driver.TestProxyTexImage(ctx, proxy_target, level,
+ internalFormat, format,
+ type, width, height,
+ depth, border);
if (!sizeOK) {
if (!isProxy) {
_mesa_error(ctx, GL_INVALID_VALUE,
if (!sizeOK) {
if (!isProxy) {
_mesa_error(ctx, GL_INVALID_VALUE,