gallium: add PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS
authorIlia Mirkin <imirkin@alum.mit.edu>
Fri, 14 Oct 2016 04:03:12 +0000 (00:03 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 22 Oct 2016 16:02:35 +0000 (12:02 -0400)
commit3fdeb7c983d5a6e8704024dc841ff217377ba284
tree00f1abc2d175fdf70b071fa7767a04c8da97f83b
parent6e08f3e96c6c3f269ea3ee79bb7e10940e6a13be
gallium: add PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS

This allows the driver to signal that it can't handle random
interleaving of attributes across buffers. This is required for
ARB_transform_feedback3, and it's initialized to whatever the previous
value of PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME was except for nv50 where
it is disabled. Note that the proprietary drivers never expose
ARB_transform_feedback3 on any GT21x's (where nouveau previously did),
and after some effort I was unable to get it to work.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
19 files changed:
docs/features.txt
src/gallium/docs/source/screen.rst
src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/i915/i915_screen.c
src/gallium/drivers/ilo/ilo_screen.c
src/gallium/drivers/llvmpipe/lp_screen.c
src/gallium/drivers/nouveau/nv30/nv30_screen.c
src/gallium/drivers/nouveau/nv50/nv50_screen.c
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
src/gallium/drivers/r300/r300_screen.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/softpipe/sp_screen.c
src/gallium/drivers/svga/svga_screen.c
src/gallium/drivers/swr/swr_screen.cpp
src/gallium/drivers/vc4/vc4_screen.c
src/gallium/drivers/virgl/virgl_screen.c
src/gallium/include/pipe/p_defines.h
src/mesa/state_tracker/st_extensions.c