From: Michel Dänzer Date: Thu, 28 Aug 2014 02:12:20 +0000 (+0900) Subject: u_vbuf: Make sure all caps are initialized X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6cd0dbc415dd092a72a8941c45ba812b9fe74b24;p=mesa.git 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 --- 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; - } - - 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; }