Mesa (master): 22 new commits

Brian Paul brianp at kemper.freedesktop.org
Fri May 1 15:41:44 UTC 2009


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9196c1fa39dd566c5d7ab340e353b77714edb5f
Merge: 3f25219c7bf0f090502489928f0f018e62c4f6cf dca190e9432d4ed122bdd534922d0c3d85791c6a
Author: Brian Paul <brianp at vmware.com>
Date:   Fri May 1 09:37:14 2009 -0600

    Merge branch 'const-buffer-changes'
    
    Conflicts:
    
    	src/mesa/drivers/dri/i965/brw_curbe.c
    	src/mesa/drivers/dri/i965/brw_vs_emit.c
    	src/mesa/drivers/dri/i965/brw_wm_glsl.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dca190e9432d4ed122bdd534922d0c3d85791c6a
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 29 11:52:06 2009 -0600

    mesa: added _mesa_check_soa_dependencies() function
    
    This function will check an instruction to see if there's data dependencies
    between the dst and src registers if executed in an SOA manner.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd4802176f7751e8c38c000687ff9cb9633649aa
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Apr 27 10:46:30 2009 -0600

    i965: #include prog_print.h to silence warning

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=777b9ff43e88e456d686208c83712f26aba2dd95
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Apr 27 10:45:41 2009 -0600

    i965: only upload constant buffer data when we actually need the const buffer
    
    Make the use_const_buffer field per-program and only call the code which
    updates the constant buffer's data if the flag is set.
    
    This should undo the perf regression from 20f3497e4b6756e330f7b3f54e8acaa1d6c92052
    
    (cherry picked from master, commit dc9705d12d162ba6d087eb762e315de9f97bc456)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b58b3a786aa38dcc9d72144c2cc691151e46e3d5
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 24 16:33:46 2009 -0600

    i965: rework GLSL/WM register allocation
    
    Use a bitvector of used/free flags.
    
    If we run out of temps, examine the live intervals of the temp regs in
    the program and free those which are no longer alive.
    
    Also, enable the new WM const buffer code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7da3f9403b235394a5c7e9456e34a0c9dad7dd15
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 24 16:28:36 2009 -0600

    mesa: refactor code and make _mesa_find_temp_intervals() public

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=027ed1b505a1bf6e3f5ad4412734d7edf337c08b
Author: Brian Paul <brianp at vmware.com>
Date:   Fri Apr 24 09:43:44 2009 -0600

    mesa: signal _NEW_PROGRAM_CONSTANTS instead of _NEW_PROGRAM
    
    Use _NEW_PROGRAM_CONSTANTS when changing constant/uniform buffer values.
    Binding a new program/shader sets both _NEW_PROGRAM and _NEW_PROGRAM_CONSTANTS.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebfbd8c4fef78e3cd9604660e5bb96e3c6df07e5
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 13:46:58 2009 -0600

    i965: disable debug printf

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac22178eb049126003db40b0a77a111498a12ab7
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 11:52:16 2009 -0600

    i965: enable VS constant buffers
    
    In the VS constants can now be handled in two different ways:
    1. If there's room in the GRF, put constants there.  They're preloaded from
       the CURBE prior to VS execution.  This is the historical approach.  The
       problem is the GRF may not have room for all the shader's constants and
       temps and misc registers.  Hence...
    2. Use a separate constant buffer which is read from using a READ message.
       This allows a very large number of constants and frees up GRF regs for
       shader temporaries.  This is the new approach.  May be a little slower
       than 1.
    
    1 vs. 2 is chosen according to how many constants and temps the shader needs.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c8fb6acc10662c9e71078c9f273db6c7808e9ff
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 11:47:59 2009 -0600

    i965: define BRW_MAX_GRF

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21a422d97e501f4ca68ab24ad3fe5f5eb1393349
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 11:29:49 2009 -0600

    i965: remove old code to init surface-related cache IDs
    
    These types are only found in the new surface state cache now.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0c58cf5cfc11b9256287871660cc16966e662ef
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 11:28:24 2009 -0600

    i965: comments, reformatting

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4843e54fc69daf379dea9899673b3df92b44049c
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 11:12:07 2009 -0600

    i965: actually use the new, second surface state cache

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9af97c7a5d81226a87d79baf8fb00231c96398d
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 11:08:46 2009 -0600

    i965: checkpoint commit: use two state caches instead of one
    
    The new, second cache will only be used for surface-related items.
    Since we can create many surfaces the original, single cache could get
    filled quickly.  When we cleared it, we had to regenerate shaders, etc.
    With two caches, we can avoid doing that.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a071a8d2e72e52e6a8906448b171756c8920ce96
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 10:44:36 2009 -0600

    i965: remove unused state atom entries

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f428255bde93a452a7cdd48fba21839c99beb6cb
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 09:23:15 2009 -0600

    i965: the brw_constant_buffer state atom is no longer dynamic
    
    No more dynamic atoms so we can simplify the state validation code a little.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5681fc176bc43bc6c7804bd1e8d8557cdcab345
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 09:16:21 2009 -0600

    i965: add _NEW_PROGRAM_CONSTANTS to mesa_bits[] list

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a36dd5d54e3de5662c694e764d1c49795ddb6814
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 09:14:53 2009 -0600

    i915: check the new _NEW_PROGRAM_CONSTANT flag

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1dbab84e21cad81e971265db3dbc8dc6c344b340
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 09:14:16 2009 -0600

    i965: use _NEW_PROGRAM_CONSTANTS and always create new const buffers
    
    When program constants change we create a new VS constant buffer
    instead of re-using the old one.  This allows us to have several
    const buffers in flight with vertex rendering.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b6a23c0f7e042d71764a2028f3d33b59076ac7c
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 09:07:46 2009 -0600

    i965: updates to some debug code

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=817dcdd280cd749c3186bd3f00c06f41270aa884
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 09:07:02 2009 -0600

    i965: use new _NEW_PROGRAM_CONSTANTS flag instead of dynamic flags

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f48473e42511f8d37a239a07f791bc0a87209e5b
Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr 22 08:59:47 2009 -0600

    r200/r300/r500: add _NEW_PROGRAM_CONSTANTS flag
    
    Make sure we detect constant buffer changes indicated by the new flag.
    Should be able to remove _NEW_PROGRAM (and _NEW_MODELVIEW, _NEW_LIGHT, etc)
    from several places (someday.




More information about the mesa-commit mailing list