Mesa (master): 33 new commits

Chris Wilson ickle at kemper.freedesktop.org
Mon Feb 21 13:06:04 UTC 2011


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c6793fb6bc89df16c23f727bcb072a157ab8d10
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Nov 25 15:41:37 2010 +0000

    i915: Emit a single relocation per vbo
    
    Reducing the number of relocations has lots of nice knock-on effects,
    not least including reducing batch buffer size, auxilliary array sizes
    (vmalloced and copied into the kernel), processing of uncached
    relocations etc.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=298ebb78de8a6b6edf0aa0fe8d784d00bbc2930e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Nov 26 11:18:50 2010 +0000

    i915: Suppress emission of redundant stencil updates
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c97e288fb6a105ea60c377aef4472cc33ca01bc
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Nov 26 10:57:06 2010 +0000

    i915: Separate BLEND from general context state.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f82585e279276e08c719d55218cd64a2c880a6b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Nov 26 10:25:23 2010 +0000

    i915: Only flag context changes if the actual state is changed
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b0cad38c57fbe59710cb4058866b2e68f6d471a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Nov 25 22:27:37 2010 +0000

    i915: suppress repeated sampler state emission
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87641cffd97f328e846604d314c21582f426a19a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Nov 25 21:39:21 2010 +0000

    i915: Eliminate redundant CONSTANTS updates
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41260a9bf63aa61f88f188053f1ed4dba3a852d2
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Feb 8 22:58:35 2011 +0000

    i965: Use compiler builtins when available
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ea6e98c7be6483514769b03ffa6c6f4f7b2e0be
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Feb 20 15:36:52 2011 +0000

    i965: Micro-optimise check_state
    
    Replace the intermediate tests due to the logical or with the bitwise
    or.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=50ade6ea697953bb17e3ca7210515fbd0411cd1e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Dec 30 21:47:39 2010 +0000

    intel: use throttle ioctl for throttling
    
    Rather than waiting on the first batch after the last swapbuffers to be
    retired, call into the kernel to wait upon the retirement of any request
    less than 20ms old. This has the twofold advantage of (a) not blocking
    any other clients from utilizing the device whilst we wait and (b) we
    attain higher throughput without overloading the system.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46131a824ffa3b658c822fd6cc543a5935773a6f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Feb 12 11:28:25 2011 +0000

    i965: Remove unused 'next_free_page' member
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=57ca0803b34587f1148b218a11d2193b0d4f4c97
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 11 00:03:48 2011 +0000

    intel: Skip the flush before read-pixels via blit
    
    As we will flush when reading the return values of the blit, we can forgo
    the earlier flush.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c625aa19cb53ed27f91bfd16fea6ea727e9a5bbd
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 18 10:37:43 2011 +0000

    intel: extend current vertex buffers
    
    If the next vertex arrays are a (discontiguous) continuation of the
    current arrays, such that the new vertices are simply offset from the
    start of the current vertex buffer definitions we can reuse those
    defintions and avoid the overhead of relocations and invalidations.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a07e4811794051dc65187d17b7f85e340e61854e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 18 12:30:37 2011 +0000

    intel: Use specified alignment for writes into the upload buffer
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9e591391d490c83ce301aa568a2e0afe4cc3c0a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 11 15:29:26 2011 +0000

    i965: Clean up brw_prepare_vertices()
    
    Use a temporary glarray variable to replace the numerous input->glarray.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3630d5b69afcecc3142d2c4897835175886f4bd8
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 11 19:40:08 2011 +0000

    intel: combine short memcpy using a temporary allocated buffer
    
    Using a temporary buffer for large discontiguous uploads into the common
    buffer and a single buffered upload is faster than performing the
    discontiguous copies through a mapping into the GTT.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfc6c96e5c470f6136cad26b753c024538fd09a0
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 11 14:14:18 2011 +0000

    i965: upload normal arrays as interleaved
    
    Upload the non-vbo arrays into a single interleaved buffer object, and
    so need to just emit a single vertex buffer relocation.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94d73d700e804ce78c214c58e84382c81dcb8280
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 11 14:45:19 2011 +0000

    i965: interleaved vbo
    
    If the user passed in several arrays interleaved in the same vbo, only
    emit a single vertex buffer and relocation.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=559435d9152acc7162e4e60aae6591c7c6c8274b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 11 14:45:10 2011 +0000

    i965: emit one vb packet per vbo
    
    Track reuse of the vertex buffer objects and so minimise the number of
    vertex buffers used by the hardware (and their relocations).
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=abb51097566c401344b22a7ee9d699f002a1977f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 11 00:18:21 2011 +0000

    i965: upload transient indices into the same discontiguous buffer
    
    As we now pack the indices into a common upload buffer, we can reuse a
    single CMD_INDEX_BUFFER packet and translate each invocation with a
    start vertex offset.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=60bb3e5614a533ff886bf1ddb6341ff34f75c886
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Feb 20 13:37:00 2011 +0000

    i965: suppress repeat-emission of identical vertex elements
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aac120977d1ead319141d48d65c9bba626ec03b8
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Feb 20 13:23:47 2011 +0000

    i965: Move repeat-instruction-suppression to batchbuffer core
    
    Move the tracking of the last emitted instructions into the core
    batchbuffer routines and take advantage of the shadow batch copy to
    avoid extra memory allocations and copies.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d68a90e225d831a395ba788e425cb717eec1f9a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Feb 10 20:25:51 2011 +0000

    intel: use pwrite for batch
    
    It's faster. Not only is the memcpy more efficiently performed in the
    kernel (making up for the system call overhead), but by not using mmap
    we remove the greater overhead of tracking the vma of every batch.
    
    And it means we can read back from the batch buffer without incurring
    the cost of a uncached read through the GTT.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f55683927278e57f3ef8a151d15f4cffdc060dc
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Feb 10 18:31:13 2011 +0000

    i965: drop state_bo references to batch_bo
    
    As we use state relocations and we know that all the state belongs to
    the same bo, we can drop the multiple references to the same bo.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1be3764dbe8d8ab2259c206a2158fe8f3c62c962
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Feb 10 18:14:40 2011 +0000

    i965: directly write wm state to batch
    
    As we write directly into the batch in system memory, we do not need to
    write first to the stack (as was to avoid read back through the GTT)
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df156549e7ce284f0cf887eec1bad9aa1392ebbf
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Feb 10 18:11:58 2011 +0000

    i965: write cc straight to batch
    
    As we write directly into the batch in system memory, we do not need to
    write first to the stack (as was to avoid read back through the GTT)
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f29606598e7703d830440a878673d98e7ce13218
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Feb 10 18:10:06 2011 +0000

    i965: switch gen6 to use its own cc state bo
    
    In preparation for a greater change, use the color_calc_state_bo already
    provisioned for this purpose.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a9e67b8df9836408270a4bc3660ec45b622ae56
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Feb 10 00:25:17 2011 +0000

    intel: Buffered upload
    
    Rather than performing lots of little writes to update the common bo
    upon each update, write those into a static buffer and flush that when
    full (or at the end of the batch). Doing so gives a dramatic performance
    improvement over and above using mmaped access.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40ee15407ab626f466a12c239fc39cb872bec804
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Feb 9 10:00:09 2011 +0000

    intel: Replace the bo for a complete update
    
    Rather than performing a blit to completely overwrite a busy bo, simply
    discard it and create a new one with the fresh data.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=abb37861d9f3310fe2d16194d893682092f41087
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Feb 8 22:22:36 2011 +0000

    i965: Combine vb upload buffer with the general upload buffer
    
    Reuse the new common upload buffer for uploading temporary indices and
    rebuilt vertex arrays.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e476e122207e6195a16a8c7d2cab90eeba227934
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Feb 8 20:01:10 2011 +0000

    intel: Pack dynamic draws together
    
    Dynamic arrays have the tendency to be small and so allocating a bo for
    each one is overkill and we can exploit many efficiency gains by packing
    them together.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0809d7b15ba58c05bb0b63128c9cf7042304cd2
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Feb 8 16:57:26 2011 +0000

    intel: Use system memory for DYNAMIC_DRAW source objects
    
    Dynamic draw buffers are used by clients for temporary arrays and for
    uploading normal vertex arrays. By keeping the data in memory, we can
    avoid reusing active buffer objects and reallocate them as they are
    changed. This is important for Sandybridge which can not issue blits
    within a batch and so ends up flushing the batch upon every update, that
    is each batch only contains a single draw operation (if using dynamic
    arrays or regular arrays from system memory).
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=45ba7afbd15b28ffd61548ee46334ff4527a7cde
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jan 29 14:01:50 2011 +0000

    i965: Trim the trailing NOOP from 3DSTATE_INDEX_BUFFER
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=13bab58f04c1ec6d0d52760eab490a0997d9abe2
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Feb 18 17:51:10 2011 +0000

    i965: Fallback on encountering a NULL render buffer
    
    Following a GPU hang, or other error, the render target is not likely to
    have an allocated BO and so we must fallback to avoid using it.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32534
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>




More information about the mesa-commit mailing list