From f4b5510872b94a434a5223e35a67db322aad5e8b Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Tue, 30 May 2017 15:30:38 -0500 Subject: [PATCH] mesa/main: fix gl_buffer_index enum comparison For clang, enums are unsigned by default and gives the following warning: external/mesa3d/src/mesa/main/buffers.c:764:21: warning: comparison of constant -1 with expression of type 'gl_buffer_index' is always false [-Wtautological-constant-out-of-range-compare] if (srcBuffer == -1) { ~~~~~~~~~ ^ ~~ Replace -1 with an enum value to fix this. Reviewed-by: Ian Romanick Reviewed-by: Samuel Pitoiset Signed-off-by: Rob Herring --- src/mesa/main/buffers.c | 8 ++++---- src/mesa/main/framebuffer.c | 4 ++-- src/mesa/main/mtypes.h | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c index 7d17ae9..d85974a 100644 --- a/src/mesa/main/buffers.c +++ b/src/mesa/main/buffers.c @@ -231,7 +231,7 @@ read_buffer_enum_to_index(const struct gl_context *ctx, GLenum buffer) if (buffer >= GL_COLOR_ATTACHMENT8 && buffer <= GL_COLOR_ATTACHMENT31) return BUFFER_COUNT; /* error */ - return -1; + return BUFFER_NONE; } } @@ -752,16 +752,16 @@ read_buffer(struct gl_context *ctx, struct gl_framebuffer *fb, if (buffer == GL_NONE) { /* This is legal--it means that no buffer should be bound for reading. */ - srcBuffer = -1; + srcBuffer = BUFFER_NONE; } else { /* general case / window-system framebuffer */ if (_mesa_is_gles3(ctx) && !is_legal_es3_readbuffer_enum(buffer)) - srcBuffer = -1; + srcBuffer = BUFFER_NONE; else srcBuffer = read_buffer_enum_to_index(ctx, buffer); - if (srcBuffer == -1) { + if (srcBuffer == BUFFER_NONE) { _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid buffer %s)", caller, _mesa_enum_to_string(buffer)); diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index 993cd37..c4eecf6 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -251,7 +251,7 @@ _mesa_reference_framebuffer_(struct gl_framebuffer **ptr, oldFb->RefCount--; deleteFlag = (oldFb->RefCount == 0); mtx_unlock(&oldFb->Mutex); - + if (deleteFlag) oldFb->Delete(oldFb); @@ -624,7 +624,7 @@ static void update_color_read_buffer(struct gl_context *ctx, struct gl_framebuffer *fb) { (void) ctx; - if (fb->_ColorReadBufferIndex == -1 || + if (fb->_ColorReadBufferIndex == BUFFER_NONE || fb->DeletePending || fb->Width == 0 || fb->Height == 0) { diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 9ac2711..ab62463 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -144,7 +144,8 @@ typedef enum BUFFER_COLOR5, BUFFER_COLOR6, BUFFER_COLOR7, - BUFFER_COUNT + BUFFER_COUNT, + BUFFER_NONE = -1, } gl_buffer_index; /** -- 2.7.4