mesa: Changes to 'gallium-0.1'
Keith Whitwell
keithw at kemper.freedesktop.org
Sun Mar 23 18:26:11 UTC 2008
The branch, gallium-0.1 has been updated
Commits at: http://cgit.freedesktop.org/mesa/mesa/log/?h=gallium-0.1
Summary of changes:
src/gallium/auxiliary/draw/Makefile | 4 +
src/gallium/auxiliary/draw/SConscript | 6 +-
src/gallium/auxiliary/draw/draw_context.c | 65 ++++-
src/gallium/auxiliary/draw/draw_passthrough.c | 4 +-
src/gallium/auxiliary/draw/draw_prim.c | 2 +-
src/gallium/auxiliary/draw/draw_private.h | 33 ++-
src/gallium/auxiliary/draw/draw_pt.c | 206 ++++++++++++++
src/gallium/auxiliary/draw/draw_pt.h | 116 ++++++++
src/gallium/auxiliary/draw/draw_pt_elts.c | 88 ++++++
src/gallium/auxiliary/draw/draw_pt_fetch_emit.c | 326 ++++++++++++++++++++++
src/gallium/auxiliary/draw/draw_pt_vcache.c | 337 +++++++++++++++++++++++
11 files changed, 1168 insertions(+), 19 deletions(-)
create mode 100644 src/gallium/auxiliary/draw/draw_pt.c
create mode 100644 src/gallium/auxiliary/draw/draw_pt.h
create mode 100644 src/gallium/auxiliary/draw/draw_pt_elts.c
create mode 100644 src/gallium/auxiliary/draw/draw_pt_fetch_emit.c
create mode 100644 src/gallium/auxiliary/draw/draw_pt_vcache.c
via 301b187ca9a811b608894d20bab934af0a10b8ab (commit)
via f40357e25c0520ef1d64ffab03501da4c8b93529 (commit)
from a35c1ca3ad4361fee30d21ef13d8d37ae91aee66 (commit)
- Commits -----------------------------------------------
commit 301b187ca9a811b608894d20bab934af0a10b8ab
Author: Keith Whitwell <keith at tungstengraphics.com>
Date: Sun Mar 23 18:21:00 2008 +0000
draw: fix some unsigned vs ushort confusion
Middle-end elements are ushort, but prior to that have to treat all
elements as unsigned to avoid wrapping and/or overruns.
commit f40357e25c0520ef1d64ffab03501da4c8b93529
Author: Keith Whitwell <keith at tungstengraphics.com>
Date: Sun Mar 23 16:44:59 2008 +0000
gallium: beginnings of draw module vertex rework
Trying to put a structure in place that we can actually optimize.
Initially just implementing a passthrough mode, this will fairly soon
replace all the vertex_cache/prim_queue/shader_queue stuff that's so
hard to understand...
Split the vertex processing into a couple of distinct stages:
- Frontend
- Prepares two lists of elements (fetch and draw) to be processed
by the next stage. This stage doesn't fetch or draw vertices, but
makes the decision which to draw. Multiple implementations of this
will implement different strategies, currently just a vcache
implementation.
- MiddleEnd
- Takes the list of fetch elements, fetches them, runs the vertex
shader, cliptest, viewport transform on them to produce a
linear array of vertex_header vertices.
- Passes that list of vertices, plus the draw_elements (which index
into that list) onto the backend
- Backend
- Either the existing primitive/clipping pipeline, or the vbuf_render
hardware backend provided by the driver.
Currently, the middle-end is the old passthrough code, and it build hardware
vertices, not vertex_header vertices as above. It may be that passthrough
is a special case in this respect.
---------------------------------
More information about the mesa-commit
mailing list