[Mesa-dev] [PATCH 2/2] mesa: rearrange texture error checking order
Ilia Mirkin
imirkin at alum.mit.edu
Wed Jul 22 10:02:05 PDT 2015
This moves the width/height/depth == 0 check to the front and avoids
doing any other checking when that is the case.
Also moves the dimensions check after the format/type checks so that we
don't bail out with success on a width/height/depth == 0 request when
the format/type don't match.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91425
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
src/mesa/main/texgetimage.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index 2f35ac6..cdbd618 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -928,6 +928,13 @@ dimensions_error_check(struct gl_context *ctx,
const struct gl_texture_image *texImage;
int i;
+ if (width == 0 || height == 0 || depth == 0) {
+ /* Not an error, but nothing to do. Return 'true' so that the
+ * caller simply returns.
+ */
+ return true;
+ }
+
if (xoffset < 0) {
_mesa_error(ctx, GL_INVALID_VALUE, "%s(xoffset = %d)", caller, xoffset);
return true;
@@ -1079,13 +1086,6 @@ dimensions_error_check(struct gl_context *ctx,
}
}
- if (width == 0 || height == 0 || depth == 0) {
- /* Not an error, but nothing to do. Return 'true' so that the
- * caller simply returns.
- */
- return true;
- }
-
return false;
}
@@ -1164,18 +1164,18 @@ getteximage_error_check(struct gl_context *ctx,
return true;
}
- if (dimensions_error_check(ctx, texObj, target, level,
- xoffset, yoffset, zoffset,
- width, height, depth, caller)) {
- return true;
- }
-
err = _mesa_error_check_format_and_type(ctx, format, type);
if (err != GL_NO_ERROR) {
_mesa_error(ctx, err, "%s(format/type)", caller);
return true;
}
+ if (dimensions_error_check(ctx, texObj, target, level,
+ xoffset, yoffset, zoffset,
+ width, height, depth, caller)) {
+ return true;
+ }
+
if (pbo_error_check(ctx, target, width, height, depth,
format, type, bufSize, pixels, caller)) {
return true;
--
2.3.6
More information about the mesa-dev
mailing list