From 6cd0dbc415dd092a72a8941c45ba812b9fe74b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Thu, 28 Aug 2014 11:12:20 +0900 Subject: [PATCH] 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 --- src/gallium/auxiliary/util/u_vbuf.c | 38 ++++++++++++----------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c index 4bee8998f8d..650df9f6aef 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; - } + 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 (!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 { + if (!caps->buffer_offset_unaligned || + !caps->buffer_stride_unaligned || + !caps->velem_src_offset_unaligned || + !caps->user_vertex_buffers) { fallback = TRUE; }