nv30: import new driver for GeForce FX/6/7 chipsets, and Quadro variants
authorBen Skeggs <bskeggs@redhat.com>
Wed, 11 Jan 2012 11:42:07 +0000 (12:42 +0100)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 13 Apr 2012 16:56:34 +0000 (02:56 +1000)
commita2fc42b899de22273c1df96091bfb5c636075cb0
treed3c4981bf8b611e1cea9876e9235b142f7fd39d0
parent6d1cdec3ba151168bfc3aef222fba6265dfb41fb
nv30: import new driver for GeForce FX/6/7 chipsets, and Quadro variants

The primary motivation for this rewrite was to have a maintainable driver
going forward, as nvfx was quite horrible in a lot of ways.

The driver is heavily based on the design of the nv50/nvc0 3d drivers we
already have, and uses the same common buffer/fence code.  It also passes
a HEAP more piglit tests than nvfx did, supports a couple more features,
and a few more to come still probably.

The CPU footprint of this driver is far far less than nvfx, and translates
into far greater framerates in a lot of applications (unless you're using
a CPU that's way way newer than the GPUs of these generations....)

Basically, we once again have a maintained driver for these chipsets \o/

Feel free to report bugs now!
45 files changed:
configure.ac
src/gallium/drivers/nouveau/nouveau_buffer.c
src/gallium/drivers/nouveau/nouveau_context.h
src/gallium/drivers/nouveau/nouveau_winsys.h
src/gallium/drivers/nv30/Android.mk [new file with mode: 0644]
src/gallium/drivers/nv30/Makefile [new file with mode: 0644]
src/gallium/drivers/nv30/Makefile.sources [new file with mode: 0644]
src/gallium/drivers/nv30/SConscript [new file with mode: 0644]
src/gallium/drivers/nv30/nv01_2d.xml.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30-40_3d.xml.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_clear.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_context.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_context.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_draw.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_format.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_format.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_fragprog.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_fragtex.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_miptree.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_push.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_query.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_resource.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_resource.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_screen.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_screen.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_state.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_state.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_state_validate.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_texture.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_transfer.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_transfer.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_vbo.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_vertprog.c [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_vertprog.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv30_winsys.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv40_vertprog.h [new file with mode: 0644]
src/gallium/drivers/nv30/nv40_verttex.c [new file with mode: 0644]
src/gallium/drivers/nv30/nvfx_fragprog.c [new file with mode: 0644]
src/gallium/drivers/nv30/nvfx_shader.h [new file with mode: 0644]
src/gallium/drivers/nv30/nvfx_vertprog.c [new file with mode: 0644]
src/gallium/drivers/nv50/nv50_context.c
src/gallium/targets/dri-nouveau/Makefile
src/gallium/targets/vdpau-nouveau/Makefile
src/gallium/targets/xorg-nouveau/Makefile
src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c