mesa/main: fix gl_buffer_index enum comparison
authorRob Herring <robh@kernel.org>
Tue, 30 May 2017 20:30:38 +0000 (15:30 -0500)
committerRob Herring <robh@kernel.org>
Thu, 8 Jun 2017 01:44:26 +0000 (20:44 -0500)
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 <ian.d.romanick@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
src/mesa/main/buffers.c
src/mesa/main/framebuffer.c
src/mesa/main/mtypes.h

index 7d17ae92de23d8c3541e88e4a2131f435c62e271..d85974afe60d24eab710a7fbd3df325839c25a75 100644 (file)
@@ -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));
index 993cd37137b9583a7641c3cb76c4b8bc509e5811..c4eecf6ce965f7416497e1316de9809e07af5adf 100644 (file)
@@ -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) {
index 9ac2711197458aefec8239c6f759f80430e12aa8..ab6246308109337db1d18f3ee7de9047222b246c 100644 (file)
@@ -144,7 +144,8 @@ typedef enum
    BUFFER_COLOR5,
    BUFFER_COLOR6,
    BUFFER_COLOR7,
-   BUFFER_COUNT
+   BUFFER_COUNT,
+   BUFFER_NONE = -1,
 } gl_buffer_index;
 
 /**