llvmpipe: don't use user constant buffers
authorBrian Paul <brianp@vmware.com>
Mon, 10 Dec 2012 19:35:23 +0000 (12:35 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 11 Dec 2012 19:48:07 +0000 (12:48 -0700)
This fixes some use-after-free issues.  I haven't measured any real
performance difference with a handful of Mesa demos.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/drivers/llvmpipe/lp_screen.c

index 0f30447..ab5a55b 100644 (file)
@@ -203,8 +203,9 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
       return 0;
    case PIPE_CAP_USER_VERTEX_BUFFERS:
    case PIPE_CAP_USER_INDEX_BUFFERS:
-   case PIPE_CAP_USER_CONSTANT_BUFFERS:
       return 1;
+   case PIPE_CAP_USER_CONSTANT_BUFFERS:
+      return 0;
    case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY:
    case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY:
    case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: