[Mesa-dev] [PATCH 05/10] mesa/main: bail earlier for size == 0 in _mesa_clear_buffer_sub_data
Nicolai Hähnle
nhaehnle at gmail.com
Mon Jan 11 18:32:42 PST 2016
From: Nicolai Hähnle <nicolai.haehnle at amd.com>
Note that the conversion of the clear data (when data != NULL) can fail due
to an out of memory condition, but it does not check any error conditions
mandated by the spec. Therefore, it is safe to skip when size == 0.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
---
src/mesa/main/bufferobj.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 3c69777..4f5bb00 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -1868,12 +1868,14 @@ _mesa_clear_buffer_sub_data(struct gl_context *ctx,
return;
}
+ /* Bail early. Negative size has already been checked. */
+ if (size == 0)
+ return;
+
if (data == NULL) {
/* clear to zeros, per the spec */
- if (size > 0) {
- ctx->Driver.ClearBufferSubData(ctx, offset, size,
- NULL, clearValueSize, bufObj);
- }
+ ctx->Driver.ClearBufferSubData(ctx, offset, size,
+ NULL, clearValueSize, bufObj);
return;
}
@@ -1882,10 +1884,8 @@ _mesa_clear_buffer_sub_data(struct gl_context *ctx,
return;
}
- if (size > 0) {
- ctx->Driver.ClearBufferSubData(ctx, offset, size,
- clearValue, clearValueSize, bufObj);
- }
+ ctx->Driver.ClearBufferSubData(ctx, offset, size,
+ clearValue, clearValueSize, bufObj);
}
void GLAPIENTRY
--
2.5.0
More information about the mesa-dev
mailing list