Mesa (master): 33 new commits

Eric Anholt anholt at kemper.freedesktop.org
Sat Oct 29 19:28:48 UTC 2011


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=44c65d0e4e22bbfaba31de68fc4e48b7decf7c02
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 12:16:44 2011 -0700

    i965: Remove the prepare() hook from state atoms.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2649ff4d909fb4f1f1f4c06534170e0d3b4bcc73
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 12:16:05 2011 -0700

    i965: Remove the memcpy()ed atoms array now that everything is emit()-based.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=35c7e8cebeaae67c80254224cda46ee17f6d5868
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 12:11:27 2011 -0700

    i965: Merge brw_validate_state() and brw_upload_state() together.
    
    They were called back-to-back at this point.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=68c813e8eaf46594b1a3c4b0f49ff6edd9d60c75
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 12:02:37 2011 -0700

    i965: Remove state upload code for calling prepare() now that there are none.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26cfca825d7cdba753d138172285b5c2adf25c4b
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 12:03:36 2011 -0700

    i965: Remove some old texturing debug code.
    
    It caught one possible bug I recall in my time working on the driver,
    and we haven't been setting it for non-fixed-function since the new FS
    backend came along.  The bug it caught was likely a confusion about
    sampler mappings, which we have tests for these days.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd27c25ff9379454c92a65b9e6f4f1ee23e3665c
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:57:44 2011 -0700

    i965: Finally, move the global fallbacks check to emit() time.
    
    This was the last prepare() function, and it's the first state atom,
    so it must be ready to move.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c83bfeabc6af82f061d53b8b5923ee26f14efb58
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:54:32 2011 -0700

    i965: Move index buffer upload to emit() time.
    
    It's consumed by the brw_emit_index_buffer() code at emit() time.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=78a010127f3eb600fb7b145bc562b62a77af5a34
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:35:56 2011 -0700

    i965: Do a hack job of merging VB prepare()/emit() together.
    
    I don't really want to touch this impenetrable code in this series, so
    just call the one function from the other, since no other atom cares
    about them.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf11c9e4c1be307add4bb9355e6c0b5f4c44629f
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:34:49 2011 -0700

    i965: Move the WM input sizes calculation to emit() time.
    
    It's used for program compile.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc9a753f6687133d2d057597e5af86abcdc56781
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:33:54 2011 -0700

    i965: Move program compile to emit() time.
    
    Only 4 other prepare() functions are left, which don't rely on this.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0969568fce93bde927797ed4eeae0df6546806a3
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:32:05 2011 -0700

    i965/gen4: Move CURBE offset calculation to emit() time.
    
    This is consumed by the unit state.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=47c4d950cbc62f004ecdfe2eb197eb8a440cf1ae
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:21:51 2011 -0700

    i965/gen4: Fold push constant prepare()/emit() together.
    
    While other units need to know about our constant buffer offsets,
    nothing else cared about which particular BO other than the emit() half.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=752cad8f33ad1adc8950e5c0b5c9c4aa2ad046ec
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:18:56 2011 -0700

    i965/gen6: Move viewport state setup to emit() time.
    
    Only the emit() for the pointers into the batch later in this file
    cares.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f0a54e6ffab12f745eeccc5a98d6a243404fe67
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:25:15 2011 -0700

    i965/gen4: Move URB fence recalculate to emit() time.
    
    This is used by the unit state, which is at emit() time.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab8637b03fbf2594bd1ed9ea70982b166ef991be
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:17:27 2011 -0700

    i965: Fold the gen6/7 URB state prepare()/emit() together.
    
    No other unit cares about the prepare state, unlike gen4-5.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=395a8605fa80aeef48f6d9e90d9a7c38c259120d
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:14:02 2011 -0700

    i965: Move VS pull constant upload to emit() time.
    
    Only needed by the emit() for VS surfaces.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c933b33dc8e45c0ae01e901930842e615960677e
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:12:43 2011 -0700

    i965: Fold prepare() and emit() of VS surface state setup together.
    
    This rearranges the code a bit, and makes the upload of the binding
    table take only as many surfaces as there are in use.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b730c1f19ac1e15fa1b70c6cb3a3bd158e18ea1
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:07:40 2011 -0700

    i965: Move WM pull constant setup to emit() time.
    
    It's needed by the WM surface state setup, which is now emit().
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4de2cfc3a08819b869ac3326f171d0a9f0fecf65
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:07:00 2011 -0700

    i965/gen7: Fold WM surface state prepare()/emit() together.
    
    These produce BRW_NEW_SURFACES (used by binding table emit()) and
    BRW_NEW_NR_WM_SURFACES (used by WM unit emit()).  Fixes a bug where
    with no texturing and no color buffer, we wouldn't consider the null
    renderbuffer in nr_surfaces.  This was harmless because nr_surfaces is
    only used for the prefetch info in the unit state.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93cabff7d69a29b75e8f3143099edebf6e46bee7
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:01:40 2011 -0700

    i965/gen4: Fold WM surface state prepare()/emit() together.
    
    These produce BRW_NEW_SURFACES (used by binding table emit()) and
    BRW_NEW_NR_WM_SURFACES (used by WM unit emit()).  Fixes a bug where
    with no texturing and no color buffer, we wouldn't consider the null
    renderbuffer in nr_surfaces.  This was harmless because nr_surfaces is
    only used for the prefetch info in the unit state.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a5f8a98ed9eebec89f151d2b6df08c423b6ef34
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:23:59 2011 -0700

    i965: Move sampler state to emit() time.
    
    This is consumed by the WM unit, which is already at emit().
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4aaf85285fc9484e95e9cda89db9cc6923259f4
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 10:51:34 2011 -0700

    i965/gen4: Move unit state setup to emit() time.
    
    It is only needed in time for brw_psp_urb_cbs(), which is also an emit().
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0574d5a903df450b694c13018149cb2d9978ba5
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 10:53:18 2011 -0700

    i965/gen7: Fold prepare() and emit() of SF CLIP/VP state together.
    
    The prepare() only made state for its emit(), not anybody else.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a874d04a8410a2b778b29ba85797eaf45d96c84
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 10:48:26 2011 -0700

    i965/gen4: Move CC VP to emit() time, since it's only needed by CC's emit().
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9015969e6e9ce38d183e77a633f1d55117e07b26
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 10:43:05 2011 -0700

    i965: Move push constants setup to emit() time.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f84f3322b44e9828dcbee4791909025369c96f74
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 10:37:14 2011 -0700

    i965/gen6: Move setup of CC state batches to emit time.
    
    This is part of a series trying to eliminate the separate prepare()
    hook in state upload.  The prepare() hook existed to support the
    check_aperture in between calculating state updates and setting up the
    batch, but there should be no reason for that any more.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=78188bc53769384fdeb8d7618af882c86530a4d5
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 11:56:01 2011 -0700

    i965: Check Fallback again after upload.
    
    As we move state to emit() time from prepare() time, a couple of the
    places that flag fallbacks will move here.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eaf4d3e6e2493a6e0b20d1205a5fb33ce500c9c2
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 09:40:38 2011 -0700

    i965: Remove the validated BO list, now that it's unused.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d851ae48865ac6a20a615e6e06d913c2265cda5
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 09:37:57 2011 -0700

    i965: Use the batch save/reset code to avoid needing the BO validate step.
    
    We were doing the BO validate step in prepare() (brw_validate_state())
    hooks of atoms so that we could check_aperture before emitting the
    relocation trees during brw_upload_state() that would actually make
    the batchbuffer reference too much memory to be executed.  Now that
    all relocations occur in the batchbuffer, we can instead
    check_aperture after emitting our state into the batchbuffer, and
    easily roll back, flush, and retry if we happened to go over the
    limits.
    
    This will let us remove the whole prepare() vs emit() split in our
    state atoms, which is a source of tricky dependencies and duplicated
    code.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da8f052560120010b7f37a300f03c0847cca3aa5
Author: Eric Anholt <eric at anholt.net>
Date:   Sat Oct 22 10:33:24 2011 -0700

    intel: Return error value from intel_batchbuffer_flush().
    
    This will let the caller do something sensible on error, if it cares.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fff693828ed5398ae284fb01c129d0f8986a126e
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Oct 21 19:08:55 2011 -0700

    i965: Add a note about an unsafe-looking state check.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3faf56ffbdebef04345ebb1fa8e0d50b4beeedb2
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Oct 21 19:01:17 2011 -0700

    intel: Add an interface for saving/restoring the batchbuffer state.
    
    This will be used to avoid the prepare() step in the i965 driver's
    state setup.  Instead, we can just speculatively emit the primitive
    into the batchbuffer, then check if the batch is too big, rollback and
    flush, and replay the primitive.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=db364a8af0d19e4032ac44635834737017e1051c
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Oct 21 16:32:03 2011 -0700

    i915: Move the always_flush_cache code to triangle emit.
    
    This could have broken always_flush_cache on i965, since
    reserved_space doesn't reflect the size of the workaround flushes, and
    we might run out of space.  This should make always_flush_cache more
    useful on pre-i965, anyway (since the point is to flush around each
    draw call, even within a batchbuffer).
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Acked-by: Paul Berry <stereotype441 at gmail.com>




More information about the mesa-commit mailing list