i965: Add support for GL_ARB_buffer_storage.
authorEric Anholt <eric@anholt.net>
Tue, 25 Feb 2014 22:25:46 +0000 (14:25 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 14 Mar 2014 19:56:22 +0000 (12:56 -0700)
commit2f879356b552ad75bebbafc8d4bc1c97834b8b79
tree1a74df64b6e2d4eccf72ce8f1ced377144e6609c
parent1990da2568a0da79c6011bd83e7f7fb8bb099827
i965: Add support for GL_ARB_buffer_storage.

It turns out we can allow COHERENT storage/mappings all the time,
regardless of LLC vs non-LLC.  It just means never using temporary
mappings to avoid GPU stalls, and on non-LLC we have to use the GTT intead
of CPU mappings.  If we were to use CPU maps on non-LLC (which might be
useful if apps end up using buffer_storage on PBO reads, to avoid WC read
slowness), those would be PERSISTENT but not COHERENT, but doing that
would require us driving the clflushes from userspace somehow.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
docs/GL3.txt
src/mesa/drivers/dri/i965/intel_buffer_objects.c
src/mesa/drivers/dri/i965/intel_extensions.c