vc4: Allow VBOs to be mapped during execution.
authorEric Anholt <eric@anholt.net>
Mon, 19 Jun 2017 18:53:44 +0000 (11:53 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 20 Jun 2017 16:05:44 +0000 (09:05 -0700)
There's no reason we can't -- the mappings we expose are basically
equivalent to persistent/coherent, already.

Improves mesa-demos drawoverhead (no state change) performance by
5.21362% +/- 1.25078% (n=11).

src/gallium/drivers/vc4/vc4_screen.c

index 6b35abb..cbeb683 100644 (file)
@@ -128,6 +128,7 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
         case PIPE_CAP_TEXTURE_MULTISAMPLE:
         case PIPE_CAP_TEXTURE_SWIZZLE:
         case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY:
+        case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION:
                 return 1;
 
                 /* lying for GL 2.0 */
@@ -255,7 +256,6 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
         case PIPE_CAP_TGSI_BALLOT:
         case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
        case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX:
-       case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION:
         case PIPE_CAP_POST_DEPTH_COVERAGE:
         case PIPE_CAP_BINDLESS_TEXTURE:
                 return 0;