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