summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx/nvfx_vbo.c
AgeCommit message (Collapse)Author
2010-03-23nvfx: add NOUVEAU_VTXIDX_IN_VRAM variable to put vertex/index buffers in VRAMLuca Barbieri
On some systems, putting vertex and index buffers in VRAM instead of GART memory eliminates massive graphics corruption which is otherwise present, due to unclear causes. This patch adds an environment variable that does that, along with helpful messages. It turns it on by default on G7x, as it is what I am seeing corruption on and some other reports also seemed to pinpoint these cards.
2010-03-23nvfx: delay allocation of buffers in GART/VRAM to validation timeLuca Barbieri
Currently we allocate buffers in GART or VRAM at creation time. However, when using swtnl, this results in reads from uncached memory, which drastically impair performance. So, for now, cause nouveau_screen.c to not pass any placement flags to buffer creation, so that the buffers are moved later. Previously libdrm itself did this, but was changed to not to do it. This may introduce an extra copy in normal usage, but this currently does not seem to introduce significant performance degradation. This will be revisited when pipebuffer is integrated. Note that for AGP systems, properly solving this may be complex since currently there is no fast way of reading from GART/VRAM. We will probably need to try mapping AGP as writethrough and, in addition, make buffer creation more aware of future buffer usage.
2010-03-15nvfx: draw: make swtnl draw_elements actually work.Luca Barbieri
It was totally broken: the index buffer was passed as NULL!
2010-03-15nvfx: add NOUVEAU_SWTNL to force swtnl at runtimeLuca Barbieri
Replace the FORCE_SWTNL macro with a NOUVEAU_SWTNL environment variable.
2010-03-15nv30, nv40: unify nv[34]0_vbo.cLuca Barbieri
The files are identical, except for swtnl support which is commented out on nv30 and restart being initialized on nv30 to avoid a compiler warning.