summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx/nvfx_screen.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-15nv30, nv40: unify nv[34]0_context.cLuca Barbieri
They are now almost identical, except for nv30 vs nv40 fragtex initialization.
2010-03-15nv30, nv40: fully unify nv[34]0_context.hLuca Barbieri
Move the remaining content to the common header.
2010-03-15nv30, nv40: non-trivially unify nv[34]0_screen.cLuca Barbieri
The files have the same structure but are substantially different. They are unified with appropriate conditionals.