From bcb722d83025a8e25a318611df6ba4e945c9223d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Sep 2014 13:57:23 -0700 Subject: [PATCH] gallium: Drop software-only primitive restart support. The drivers not flagging primitive restart support are r300 swtcl, svga, nv30, and vc4. The point of primitive restart is to slightly reduce draw call overhead for apps by batching multiple draws. If we do an extra pass to read the index buffer and split back into multiple draws, we've entirely missed the point. This is particularly bad for drivers that otherwise have hardware IB reads, where the readback is probably uncached. Reviewed-by: Rob Clark --- src/mesa/state_tracker/st_extensions.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 681723ab0b4..5dd8278007e 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -714,9 +714,8 @@ void st_init_extensions(struct pipe_screen *screen, #endif } - extensions->NV_primitive_restart = GL_TRUE; - if (!screen->get_param(screen, PIPE_CAP_PRIMITIVE_RESTART)) { - consts->PrimitiveRestartInSoftware = GL_TRUE; + if (screen->get_param(screen, PIPE_CAP_PRIMITIVE_RESTART)) { + extensions->NV_primitive_restart = GL_TRUE; } /* ARB_color_buffer_float. */ -- 2.30.2