Mesa (master): u_vbuf: Make sure all caps are initialized

Michel Dänzer daenzer at kemper.freedesktop.org
Fri Aug 29 03:15:55 UTC 2014


Module: Mesa
Branch: master
Commit: 6cd0dbc415dd092a72a8941c45ba812b9fe74b24
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6cd0dbc415dd092a72a8941c45ba812b9fe74b24

Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Aug 28 11:12:20 2014 +0900

u_vbuf: Make sure all caps are initialized

Pointed out by valgrind.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83148
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

---

 src/gallium/auxiliary/util/u_vbuf.c |   40 ++++++++++++++---------------------
 1 file changed, 16 insertions(+), 24 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c
index 4bee899..650df9f 100644
--- a/src/gallium/auxiliary/util/u_vbuf.c
+++ b/src/gallium/auxiliary/util/u_vbuf.c
@@ -279,30 +279,22 @@ boolean u_vbuf_get_caps(struct pipe_screen *screen, struct u_vbuf_caps *caps)
       }
    }
 
-   if (!screen->get_param(screen,
-                          PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY)) {
-      caps->buffer_offset_unaligned = TRUE;
-   } else {
-      fallback = TRUE;
-   }
-
-   if (!screen->get_param(screen,
-                          PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY)) {
-      caps->buffer_stride_unaligned = TRUE;
-   } else {
-      fallback = TRUE;
-   }
-
-   if (!screen->get_param(screen,
-                          PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY)) {
-      caps->velem_src_offset_unaligned = TRUE;
-   } else {
-      fallback = TRUE;
-   }
-
-   if (screen->get_param(screen, PIPE_CAP_USER_VERTEX_BUFFERS)) {
-      caps->user_vertex_buffers = TRUE;
-   } else {
+   caps->buffer_offset_unaligned =
+      !screen->get_param(screen,
+                         PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY);
+   caps->buffer_stride_unaligned =
+     !screen->get_param(screen,
+                        PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY);
+   caps->velem_src_offset_unaligned =
+      !screen->get_param(screen,
+                         PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY);
+   caps->user_vertex_buffers =
+      screen->get_param(screen, PIPE_CAP_USER_VERTEX_BUFFERS);
+
+   if (!caps->buffer_offset_unaligned ||
+       !caps->buffer_stride_unaligned ||
+       !caps->velem_src_offset_unaligned ||
+       !caps->user_vertex_buffers) {
       fallback = TRUE;
    }
 




More information about the mesa-commit mailing list