summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-09-04 13:57:23 -0700
committerEric Anholt <[email protected]>2014-09-30 10:59:58 -0700
commitbcb722d83025a8e25a318611df6ba4e945c9223d (patch)
tree31bc765b8623bf26fd2bbbd2de2945a4a3e52da4
parent4ddc25a8d4796316f0296eaa10eba26bd6dd1718 (diff)
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 <[email protected]>
-rw-r--r--src/mesa/state_tracker/st_extensions.c5
1 files 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. */