Mesa (master): nv30: import new driver for GeForce FX/6/7 chipsets, and Quadro variants

Ben Skeggs darktama at kemper.freedesktop.org
Fri Apr 13 17:12:42 UTC 2012


Module: Mesa
Branch: master
Commit: a2fc42b899de22273c1df96091bfb5c636075cb0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2fc42b899de22273c1df96091bfb5c636075cb0

Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Wed Jan 11 12:42:07 2012 +0100

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!

---

 configure.ac                                       |    2 +-
 src/gallium/drivers/nouveau/nouveau_buffer.c       |    2 +-
 src/gallium/drivers/nouveau/nouveau_context.h      |    3 +-
 src/gallium/drivers/nouveau/nouveau_winsys.h       |    3 +
 src/gallium/drivers/nv30/Android.mk                |   37 +
 src/gallium/drivers/nv30/Makefile                  |   15 +
 src/gallium/drivers/nv30/Makefile.sources          |   20 +
 src/gallium/drivers/nv30/SConscript                |   11 +
 src/gallium/drivers/nv30/nv01_2d.xml.h             | 1416 ++++++++++++++
 src/gallium/drivers/nv30/nv30-40_3d.xml.h          | 2045 ++++++++++++++++++++
 src/gallium/drivers/nv30/nv30_clear.c              |  226 +++
 src/gallium/drivers/nv30/nv30_context.c            |  174 ++
 src/gallium/drivers/nv30/nv30_context.h            |  231 +++
 src/gallium/drivers/nv30/nv30_draw.c               |  496 +++++
 src/gallium/drivers/nv30/nv30_format.c             |  265 +++
 src/gallium/drivers/nv30/nv30_format.h             |   57 +
 src/gallium/drivers/nv30/nv30_fragprog.c           |  170 ++
 src/gallium/drivers/nv30/nv30_fragtex.c            |  202 ++
 src/gallium/drivers/nv30/nv30_miptree.c            |  442 +++++
 src/gallium/drivers/nv30/nv30_push.c               |  280 +++
 src/gallium/drivers/nv30/nv30_query.c              |  263 +++
 src/gallium/drivers/nv30/nv30_resource.c           |   80 +
 src/gallium/drivers/nv30/nv30_resource.h           |   71 +
 src/gallium/drivers/nv30/nv30_screen.c             |  565 ++++++
 src/gallium/drivers/nv30/nv30_screen.h             |   51 +
 src/gallium/drivers/nv30/nv30_state.c              |  447 +++++
 src/gallium/drivers/nv30/nv30_state.h              |  144 ++
 src/gallium/drivers/nv30/nv30_state_validate.c     |  535 +++++
 src/gallium/drivers/nv30/nv30_texture.c            |  306 +++
 src/gallium/drivers/nv30/nv30_transfer.c           |  755 ++++++++
 src/gallium/drivers/nv30/nv30_transfer.h           |   40 +
 src/gallium/drivers/nv30/nv30_vbo.c                |  620 ++++++
 src/gallium/drivers/nv30/nv30_vertprog.c           |  258 +++
 src/gallium/drivers/nv30/nv30_vertprog.h           |  176 ++
 src/gallium/drivers/nv30/nv30_winsys.h             |  158 ++
 src/gallium/drivers/nv30/nv40_vertprog.h           |  178 ++
 src/gallium/drivers/nv30/nv40_verttex.c            |  100 +
 src/gallium/drivers/nv30/nvfx_fragprog.c           | 1241 ++++++++++++
 src/gallium/drivers/nv30/nvfx_shader.h             |  525 +++++
 src/gallium/drivers/nv30/nvfx_vertprog.c           | 1116 +++++++++++
 src/gallium/drivers/nv50/nv50_context.c            |    2 -
 src/gallium/targets/dri-nouveau/Makefile           |    1 +
 src/gallium/targets/vdpau-nouveau/Makefile         |    1 +
 src/gallium/targets/xorg-nouveau/Makefile          |    1 +
 .../winsys/nouveau/drm/nouveau_drm_winsys.c        |    2 -
 45 files changed, 13725 insertions(+), 8 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=a2fc42b899de22273c1df96091bfb5c636075cb0



More information about the mesa-commit mailing list