nouveau: replace vtxbuf/idxbuf caps with BO_ flags in nouveau_screen and fix uncached...
authorLuca Barbieri <luca@luca-barbieri.com>
Thu, 15 Apr 2010 04:57:20 +0000 (06:57 +0200)
committerLuca Barbieri <luca@luca-barbieri.com>
Thu, 15 Apr 2010 06:13:12 +0000 (08:13 +0200)
commit42d9f2bb7bc21ff8c1a3fc4b4ceb4d294bccaabe
treea62954222fdc1fed6b62a391a7cbf24b28241f1b
parent18dc0f0b1c9d44e07515f8a45d5292979fc6e98f
nouveau: replace vtxbuf/idxbuf caps with BO_ flags in nouveau_screen and fix uncached reads on nv3x

Faster, simpler and more flexible.

Also, we set those flags properly on nv3x so that we don't allocate buffers in GART.

Since on AGP GART is uncached, OpenGL doesn't distinguish between vertex and index buffers, and we don't support hardware index buffers for now, this caused uncached reads.

Also check bind and not usage for PIPE_BIND_* flags, got broken in the gallium-resources transition.
src/gallium/drivers/nouveau/nouveau_screen.c
src/gallium/drivers/nouveau/nouveau_screen.h
src/gallium/drivers/nouveau/nouveau_winsys.h
src/gallium/drivers/nv50/nv50_screen.c
src/gallium/drivers/nvfx/nvfx_screen.c
src/gallium/drivers/nvfx/nvfx_screen.h
src/gallium/drivers/nvfx/nvfx_vbo.c