Mesa (master): 45 new commits

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Fri Jul 3 16:54:23 UTC 2009


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=862488075c5537b0613753b0d14c267527fc6199
Merge: 060c7f2321f72503c14f9f3f7bb27d59d8a90224 94e1117c9ba259665cd8e790369dcd4c789a2f93
Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Fri Jul 3 18:53:58 2009 +0200

    Merge branch 'mesa_7_5_branch'
    
    Conflicts:
    	src/mesa/main/dlist.c
    	src/mesa/vbo/vbo_save_api.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94e1117c9ba259665cd8e790369dcd4c789a2f93
Author: Michel Dänzer <daenzer at vmware.com>
Date:   Fri Jul 3 17:50:15 2009 +0200

    intel: Also update stencil bits in intel_update_wrapper().
    
    Fixes assertion failure when binding depth/stencil texture to FBO stencil
    attachment.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f580494bef54bb53a34f2798de15f0227f512b76
Author: Keith Whitwell <keithw at vmware.com>
Date:   Fri Jul 3 16:40:03 2009 +0100

    progs: revert damage to progs/SConscript from recent compressed texture commit

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b928d18398330d862ab162f687e224b93932824c
Author: Keith Whitwell <keithw at vmware.com>
Date:   Fri Jul 3 14:26:26 2009 +0100

    mesa/shaders: fix gl_NormalMatrix state parameters
    
    gl_NormalMatrix is the inverse transpose of the modelview matrix, but
    as every matrix here needs to be transposed, we end up with
    {MODELVIEW_MATRIX, INVERSE}.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa98575ebb97bc38cf40acd3d78b72ee49f7b86b
Author: Keith Whitwell <keithw at vmware.com>
Date:   Fri Jul 3 10:37:14 2009 +0100

    st/wgl: don't advertise WGL_EXT_swap_interval string
    
    This is a tweak to a previous fix -- it's not necessary to actually
    advertise this extension to prevent these games from crashing -- they
    ignore the extension string anyway. It's sufficient to just have
    GetProcAddress return some dummy function addresses for SwapInterval.
    
    Given we don't really implement this funcitonality, this is a better
    fix.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cffe7c8bd0397f8d54e2da16a21c7db4345766b8
Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Jul 3 14:21:55 2009 +0100

    wgl: Lookup framebuffers by HWND whenever possible.
    
    Some applications create several HDCs for the same window, so spite the WGL
    API is geared towards HDCs it is not reliable searching by HDC.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a2236606fd6ae473a2f4db6ef6d3d5030261316
Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Jul 2 17:24:25 2009 +0100

    mesa: Assume depth textures have a single level unless told otherwise.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=588c8625714c744047dd1d710d87b1dfcec48db7
Author: Keith Whitwell <keithw at vmware.com>
Date:   Thu Jul 2 14:43:16 2009 +0100

    mesa: s/TRUE/GL_TRUE
    
    Fix compile breakage on Linux.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=798cd2a98d66a1b841930e121676ae1a8f9fb244
Author: Keith Whitwell <keithw at vmware.com>
Date:   Thu Jul 2 13:28:20 2009 +0100

    glapi: ensure _mesa_lookup_prim_by_nr() is not clobbered on regeneration
    
    Propogate changes to enums.c back up to the python source.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1668a679c4aadb37f5af0d6126c414fb9fbbf748
Merge: b3e8e1cd4c1584f735e35914861ae2e8ae5b6b2b 1fa4cde757cc94c0afa40d855309911247974e98
Author: Keith Whitwell <keithw at vmware.com>
Date:   Thu Jul 2 13:29:46 2009 +0100

    Merge commit 'origin/dlist-statechange-shortcircuit' into mesa_7_5_branch
    
    Conflicts:
    	progs/trivial/Makefile
    
    Pull in a minimal version of statechange shortcircuiting in display
    list compilation.  This affects only glMaterial and glShadeModel state,
    and includes quite a few tests to exercise various tricky cases.
    
    If this goes well, will consider extending to all state in the future.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3e8e1cd4c1584f735e35914861ae2e8ae5b6b2b
Author: Keith Whitwell <keithw at vmware.com>
Date:   Thu Jul 2 11:28:56 2009 +0100

    mesa: ensure UsesFogFragCoord value is set for non-glsl shaders
    
    With recent changes to support frontfacing in glsl, it is necessary
    to ensure that the UsesFogFragCoord value is accurate in all shaders.
    We were previously not setting it for fixed-function and ARB_fs shaders.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1fa4cde757cc94c0afa40d855309911247974e98
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 19:52:44 2009 +0100

    mesa/vbo: fix compile and replay of nodes ending in a FALLBACK
    
    Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in
    the case of a recursive CallList which is itself within a Begin/End pair,
    there two problems:
    1) The display list node's primitive information was incorrect, stating
    the cut-off prim had zero vertices
    2) On replay, we would get confused by a primitive that started in a
    node, but was terminated by individual opcodes.
    
    This change fixes the first problem by correctly terminating the last
    primitive on fallback, and the second by forcing the display list to
    use the Loopback path, converting all nodes into immediate-mode rendering.
    
    The loopback fix is a performance hit, but avoiding this would require
    a fairly large rework of this code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=70ae7ba818e9d8a5485653b258e76f06c988654c
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 18:40:20 2009 +0100

    mesa/dlist: fixes and improvements for material caching
    
    Only short-circuit material call if *all* statechanges from this call
    are cached.  Some material calls (eg with FRONT_AND_BACK) change more
    than one piece of state -- need to check all of them before returning.
    
    Also, Material calls are legal inside begin/end pairs, so don't need
    to be as careful about begin/end state as with regular statechanges
    (like ShadeModel) when caching.  Take advantage of this and do better
    caching.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c48c01c9e7d6d0a43883b7b3333ad42208ea9d44
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 18:35:17 2009 +0100

    progs/trivial: add dlist-mat-tri.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ca836f0de7ac23a3d66e109eeda3c2e29b9b17c
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 18:17:39 2009 +0100

    progs/trivial: add test case for short-circuiting material changes
    
    Similar to dlist-tri-flat-tri, but using glMaterial calls, which
    have the extra property of being legal within Begin/End calls.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6c2347d79c50ac18eab96378d79d989f3ffd0b7
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 17:10:56 2009 +0100

    mesa/dlist: don't cache state which may not be replayed on CallList
    
    Statechanges which occur before the first End in a display list may
    not be replayed when the list is called, in particular if it is called
    from within a begin/end pair.
    
    Recognize vulnerable statechanges and do not use them to fill in the
    state cache.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09a3a28fc8f1ed931304bf27a56fe72768d7861e
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 17:06:50 2009 +0100

    progs/trivial: add dlist-flat-tri.c
    
    State-change functions which precede the first call to glEnd() in
    a compiled list are vulnerable to not being executed when that list
    is called.
    
    In particular this can happen if a list is invoked from within a
    begin/end pair, as in this example.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e91d035b9ef65adda39c8b164afa363477d7893
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 17:04:11 2009 +0100

    mesa/dlist: invalidate cached dlist compile state after CallList
    
    When compiling a display list containing a CallList, it is necessary to
    invalidate any assumption about the GL state after the recursive call
    completes.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e570be85211f603b820dd2c5e9aa2f29a51fc66
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 17:02:16 2009 +0100

    progs/trivial: add dlist-recursive-call
    
    When one display list calls another display list, it is possible
    that the calling display list makes state-changes or other actions which
    invalidate any attempt at caching or state-change elimination in the
    calling list.
    
    This test exercises one such case, where the called list consists of just
    a single glShadeModel() call.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1730eaa2a2454018b4907df2f2bda3c4455137ca
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 16:57:21 2009 +0100

    dlist-tri-flat-tri: make tri render differently if flatshade not enabled
    
    When testing flat-shading, it helps to specify per-vertex colors so
    that you can distinguish between flat & smooth shading.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4147bb24d49a10498e00039fc1dc9aa5f1316777
Merge: 53f8dccd0c9ab0b55e24dd5d624bbaaf0c8c284b 6af783bea0e171582f86c8456ca521ac242abc39
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 16:28:37 2009 +0100

    Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuit
    
    Need this to pick up fixes for per-vertex materials.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6af783bea0e171582f86c8456ca521ac242abc39
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 16:19:23 2009 +0100

    progs/trivial: add test case for lighting plus per-vertex materials
    
    Exercise material-within-begin/end case.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9ae89d104161c1052beda7e3dcb21b8b7af5ba3
Author: Keith Whitwell <keithw at vmware.com>
Date:   Sun May 31 19:07:21 2009 -0700

    progs/isosurf: add materials mode for glVertex + TRISTRIP

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6dfb89e4a09a269cbd5c4dc725881fbd42eaa18a
Author: Keith Whitwell <keithw at vmware.com>
Date:   Sun May 31 19:04:06 2009 -0700

    mesa: remove whitespace

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cea259f0392766e8a2e4749c6d5277d866abbc3b
Author: Keith Whitwell <keithw at vmware.com>
Date:   Sun May 31 19:03:46 2009 -0700

    mesa: remove dead constant pointsize code from ffvertex_prog.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=79047cc1ddf0332e5b64c9f05a19885cc36c76ae
Author: Keith Whitwell <keithw at vmware.com>
Date:   Sun May 31 19:03:02 2009 -0700

    mesa: remove dead vertex fog code from ffvertex_prog.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6c8ca06f649ae1367f61eca6fb7635862bd5584
Author: Keith Whitwell <keithw at vmware.com>
Date:   Sun May 31 19:01:55 2009 -0700

    mesa: fix material inputs in ffvertex_prog.c
    
    Varying material inputs were not being picked up from the same slots
    where the VBO code is currently placing them (GENERIC0 and above).
    Most often they were just being ignored.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=578230dbbffbf5317d6002d1023dcd62b57186f5
Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Tue Jun 30 13:59:45 2009 +0200

    st/gl: Add stubs for CompressedTexSubImage[1D|3D]

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4fd94a54a75a3418462c30f1240ab50b5f24090
Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Tue Jun 30 07:33:54 2009 +0200

    st/gl: Add support for glCompressedTexSubImage

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba7f45ac0ca3debb2a250d5e945a2d70b2b72d08
Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Tue Jun 30 13:34:55 2009 +0200

    progs/tests: Add tests for glCompressedTexSubImage

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2de2d5f376a868f68a053257f7d6dfcdee6c8ae
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Jul 1 19:09:44 2009 +0100

    util: Increase OutputDebugStringA to 4k.
    
    According to http://unixwiz.net/techtips/outputdebugstring.html that's
    how big the buffer is.
    
    The 512bytes limitation is in kernel mode.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2a8ef4430e153589a9d1a284c8f2005a4a98410
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Jul 1 19:06:54 2009 +0100

    mesa: Unbind depth/stencil surface from pipe_framebuffer when none is attached.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c913411d39fd68eee1c1eeee7b6e81db9785fd1
Author: Keith Whitwell <keithw at vmware.com>
Date:   Wed Jul 1 17:34:38 2009 +0100

    st/wgl: dummy implementation of wgl swapinterval extension
    
    Required as some applications
    retrieve and call these functions regardless of the fact that we
    don't advertise the extension and further more the results of
    wglGetProcAddress are NULL.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c04731b8721850b6abb12a43a3eec616b850e86
Author: Zack Rusin <zack at kde.org>
Date:   Wed Jul 1 10:42:58 2009 -0400

    gallium: fix the front face semantics
    
    mesa allocates both frontface and pointcoord registers within the fog
    coordinate register, by using swizzling. to make it cleaner and easier
    for drivers we want each of them in its own register. so when doing
    compilation from the mesa IR to tgsi allocate new registers for both
    and add new semantics to the respective declarations.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8c4663c11cfbb80ed23b1581cf1f3ccaef28bce
Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Jul 1 10:03:59 2009 +0100

    wgl: Optimize wglGetProcAddress.
    
    Do linear search only if prefix matches.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c72261f2a886e1f53025c2cf4b38b33ccfd62857
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jun 29 18:48:27 2009 -0700

    i915: Fix assertion failure on remapping a non-BO-backed VBO.
    
    Failure to set the obj->Pointer back to null tripped up the assertion.
    Bug #22428.
    (cherry picked from commit 57a06d3a48c9af1067ec05e3ad96c58f4b9b99be)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=57955451f80c64f70e369508705ae95a515d18d8
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date:   Sun Jun 21 11:58:25 2009 +0100

    xdemos: Fix xdemos which default to using display :0.0 to default to $DISPLAY
    
    Fix xdemos which default to using display :0.0 to default to $DISPLAY,
    this is kind of irritating when testing on a display other than :0.0
    
    Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5cb11addad31f698dc8261e7f96d5e3af4a85d6
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 19:52:44 2009 +0100

    mesa/vbo: fix compile and replay of nodes ending in a FALLBACK
    
    Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in
    the case of a recursive CallList which is itself within a Begin/End pair,
    there two problems:
    1) The display list node's primitive information was incorrect, stating
    the cut-off prim had zero vertices
    2) On replay, we would get confused by a primitive that started in a
    node, but was terminated by individual opcodes.
    
    This change fixes the first problem by correctly terminating the last
    primitive on fallback, and the second by forcing the display list to
    use the Loopback path, converting all nodes into immediate-mode rendering.
    
    The loopback fix is a performance hit, but avoiding this would require
    a fairly large rework of this code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=53f8dccd0c9ab0b55e24dd5d624bbaaf0c8c284b
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 12:20:24 2009 +0100

    progs/trivial: test case for dlist statechange elimination
    
    Creates a display list with redundant call to glShadeModel.
    
    View dlist contents with MESA_VERBOSE=list

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=00438bb94a9ee03f8a4d5472d7ae598fcbdb1572
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 12:19:11 2009 +0100

    mesa/dlist: restore missing SAVE_FLUSH_VERTICES in save_ShadeModel
    
    Reorganization of ShadeModel to avoid flushing vertices too often
    ended up never flushing vertices due to omitted line of code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0846c88ec3a63ac5e4096aedcdc107cbe71f306b
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 12:16:41 2009 +0100

    mesa/vbo: use _lookup_prim_by_nr for debugging
    
    Switch over to specialized enum lookup for primitives

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa688d1579776494640475f4a5b93f3d7fae4fcd
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 12:13:50 2009 +0100

    mesa: add debug printer for primitive name
    
    Add a simple version of _mesa_lookup_enum_by_nr() which expects a primitive
    enum (GL_POINTS..GL_POLYGON).  This avoids some annoying duplicates
    when looking up primitives, such as the GL_FALSE/GL_POINTS clash.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d24160a404b946e5eb21329117c7f128d93a4e2
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jun 29 10:32:04 2009 -0600

    progs/glsl: link with GLEW library
    (cherry picked from commit b1f2f92d9b2d190d39fb1b5c919c59c9539a025a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=47173cf67f0ed55012b0820397f6d620d8ad4473
Author: Keith Whitwell <keithw at vmware.com>
Date:   Tue Jun 30 09:55:33 2009 +0100

    mesa/dlist: shortcircuit some redundant statechanges at compile time
    
    Currently, state-changes in mesa display lists are more or less
    a verbatim recording of the GL calls made during compilation.
    
    This change introduces a minor optimization to recognize and eliminate
    cases where the application emits redundant state changes, eg:
    
      glShadeModel( GL_FLAT );
      glBegin( prim )
      ...
      glEnd()
      glShadeModel( GL_FLAT );
      glBegin( prim )
      ...
      glEnd()
    
    The big win is when we can eliminate all the statechanges between two
    primitive blocks and combine them into a single VBO node.
    
    This commit implements state-change elimination for Material and ShadeModel
    only.  This is enough to make a start on debugging, etc.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9014f475ff6720b694ba28906ebfe7e77795b173
Author: Keith Whitwell <keithw at vmware.com>
Date:   Mon Jun 29 16:07:14 2009 +0100

    progs/util: make sure function pointers are initialized
    
    Call Init() from CompileShaderFile, was previously only called for the
    Text version of this function.




More information about the mesa-commit mailing list