Mesa (master): 41 new commits

Eric Anholt anholt at kemper.freedesktop.org
Sat Jan 13 05:59:14 UTC 2018


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5bc0b63799dd23c7c1d150e83770d79bdca00a62
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 12 15:35:04 2018 -0800

    broadcom/vc5: Use MSF to ignore discards/non-dispatched channels in loops.
    
    Prevents potential infinite loops when a non-dispatched or discarded
    channel never triggers the loop break condition.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=762dd52951e3c23666b5c6d7c7836555a7a13bd1
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 12 15:38:04 2018 -0800

    broadcom/vc5: Use XOR instead of SUB for execute flags comparisons.
    
    I think this should be equivalent other than power, and it's the kind of
    comparison we use for nir_op_ieq.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e4cba9d92fff72899390f62285c4f90c289bdc2
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 12 15:34:22 2018 -0800

    broadcom/vc5: Also check the update flags for avoiding DCE.
    
    I was trying to do a NULL-destination UF, and it got removed.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff77ca8a3b67f6209af5d70711004cd1937bd711
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 12 13:20:38 2018 -0800

    broadcom/vc5: Fix up channel swizzling for textures on 4.x.
    
    I had 3.x putting swizzling in the texture state only for 16-bit texture
    returns, and in the shader for 32-bit.  This may be due to having mixed up
    the return channel setup on 3.x back before I had moved it into the
    compiler.  On 4.x, the non-border-color texwrap tests are passing nicely
    with both 16 and 32-bit returns with swizzling in the texture state.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e41e33fdb8737a92c008f8e165cf755bf7ecc78d
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 12 12:31:14 2018 -0800

    broadcom/vc5: Port the draw-time state emission to V3D 4.1.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa77a9cf5a4821100eb0dbc9a47bcff410a3a73f
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 12 12:24:36 2018 -0800

    broadcom/vc5: Rename V3D 3.x Flat Shade Action to match v4.x naming.
    
    Now that the actions are reused for centroid and nonperspective, give them
    a more generic name.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e4c705515c14128e05ccb3bd18aa7aa15232716
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 12 12:02:17 2018 -0800

    broadcom/vc5: Update pixel center setup for V3D 4.x.
    
    The fxcd/fycd instructions now return half-integer pixel centers when not
    doing sample-rate shading.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=95873a184e735b37e39ad1ba5ce05391f27b52e2
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 11 17:22:58 2018 -0800

    broadcom/vc5: Print the buffer name in simulator overflow checks.
    
    Revealed that I was writing past the TSDA, not the Z buffer as I expected.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=368bab43fd63ec395a2e178ce067f41bae7a1ea0
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 11 11:53:13 2018 -0800

    broadcom/vc5: Add support for loading varyings in V3D 4.1.
    
    The LDVARY signal now writes an arbitrary register, so I took out the
    magic src register file and replaced it with an instruction with LDVARY
    set so we have somewhere to hang a QFILE_TEMP destination for register
    allocation.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=af9753e246c2a4371a289b44064483ece8d1ad5d
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 10 15:49:47 2018 -0800

    broadcom/vc5: Update state setup for V3D 4.1.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5aaea3c4a0bb34dabe365cd968e0bbb3c474defd
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 10 12:51:08 2018 -0800

    broadcom/vc5: Add compiler support for V3D 4.x texturing.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=028f6b327c4a0504bfbf99eb80b253aa765e2992
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 10 13:56:11 2018 -0800

    broadcom/vc5: Add the new TMU write addresses for V3D 4.x (and r5rep).
    
    The V3D 3.x series of TMU writes with meaning depending on the texture
    type is replaced with writes to specific registers for each texture
    argument semantic.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=42a35da96d69524dee262315bfcab3803f58bbff
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 10 12:48:05 2018 -0800

    broadcom/vc5: Move V3D 3.3 texturing to a separate file.
    
    V3D 4.x texturing changes enough that #ifdefs would just make a mess of
    it.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=acf30e4916457476c46ebee6977bf66e1512387b
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 10 12:22:38 2018 -0800

    broadcom/vc5: Move V3D 3.3 VPM write setup to a separate file.
    
    For V4.1 texturing, I need the V4.1 XML, so the main compiler needs to
    stop including V3.3 XML.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=725d73981a338e967a2c83499e98081e95097fb3
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 9 16:02:44 2018 -0800

    broadcom/vc5: Set up depth formats for V3D 4.x.
    
    We no longer have the small depth-specific output format enum, and instead
    depth is just at the end of the output image format enum.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=66f2f3ed97c4225e4d290f4b4401e74ccd33313c
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 9 16:09:10 2018 -0800

    broadcom/vc5: Always use the RGBA8 formats for RGBX8.
    
    The RGBX8 formats were dropped from V3D 4.x, but we don't really need them
    anyway (we already handle other non-alpha formats by forcing A to 1).

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=469bbd8387d11bbac2aae4c49765c748c2a9fd04
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 9 15:46:34 2018 -0800

    broadcom/vc5: Move the formats table to per-V3D-version compile.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=34898c8c45a5cbb84a027d74854efb1486d65bc4
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 9 15:23:21 2018 -0800

    broadcom/vc5: Add support for V3D 4.1 CLIF dumping.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=409696b76eec160e2f70c30bdca50a1a236d0149
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 9 15:13:27 2018 -0800

    broadcom/vc5: Move the body of CLIF dumping to a per-version file.
    
    I want the library's entrypoints to still be unversioned, but the actual
    packet dumping needs to be per-version.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=90269ba353333be13e54549ecff3adb8803661db
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jan 8 11:55:31 2018 -0800

    broadcom/vc5: Use THRSW to enable multi-threaded shaders.
    
    This is a major performance boost on all of V3D, but is required on V3D
    4.x where shaders are always either 2- or 4-threaded.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86a12b4d5a49c68f4613513d2846c5eb8e56a677
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 9 09:40:57 2018 -0800

    broadcom/vc5: Properly schedule the thread-end THRSW.
    
    This fills in the delay slots of thread end as much as we can (other than
    being cautious about potential TLBZ writes).
    
    In the process, I moved the thread end THRSW instruction creation to the
    scheduler.  Once we start emitting THRSWs in the shader, we need to
    schedule the thread-end one differently from other THRSWs, so having it in
    there makes that easy.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a075bb67262bd48c882f0c8fcc18e0e642c76b86
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 5 17:23:13 2018 -0800

    broadcom/vc5: Implement GFXH-1684 workaround.
    
    Apparently the VPM writes need to be flushed out before we end the shader.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=57965755e2c8089e5b52897fa86305e595f6792f
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 23:19:08 2018 -0800

    broadcom/vc5: Port drawing commands to V3D 4.x.
    
    This required extending the CL submit ioctl, because the tile alloc/state
    buffer setup has moved from the BCL to register writes.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f50d39ab4936d99051648e1669b428f4ef0f2afd
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 16:01:19 2018 -0800

    broadcom/vc5: Add a test for .ifb in ADD ops.
    
    I had a .ifb being decoded weird in sampid, so this is to check that .ifb
    is fine.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=267f13dbee38bad8e9386f355942e18a75925820
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 15:41:11 2018 -0800

    broadcom/vc5: Add the new tesselation opcodes in V3D 4.1.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=edbd817c30e27ad98b584ba0718b54d393e673f2
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 5 14:34:51 2018 -0800

    broadcom/vc5: Use a physical-reg-only register class for LDVPM.
    
    This is needed for LDVPM on V3D 4.x, but will also be needed for keeping
    values out of the accumulators across THRSW.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=22a02f3e344d6bc47e3e30949a36d00a9eae84a9
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 15:35:28 2018 -0800

    broadcom/vc5: Use the new LDVPM/STVPM opcodes on V3D 4.1.
    
    Now, instead of a magic write register for VPM stores we have an
    instruction to do them (which means no packing of other ALU ops into it),
    with the ability to reorder the VPM stores due to the offset being baked
    into the instruction.
    
    VPM loads also gain the ability to be reordered by packing the row into
    the A argument.  They also no longer write to the r3 accumulator, and
    instead must be stored to a physical register.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=55f8a01acae7c4171ccfef301e48dc3cc67f5836
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 11 10:46:09 2018 -0800

    broadcom/vc5: Drop dead VC5_QPU_* defines from qpu_instr.c.
    
    I had all the packing code in this file at one point, but these defines
    now live in qpu_pack.c.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bd378647bebd41338baf9c6a9297a3a72c84e84
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 22:47:54 2018 -0800

    broadcom/vc5: Add support for QPU pack/unpack/disasm of small immediates.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f227ac2104e08ad434c78a472ef9ac21ebdfe73
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 11:33:16 2018 -0800

    broadcom/vc5: Enable the driver on V3D 4.1

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=39ce1ab7baa6e8db1afceeee875f04190147b5d6
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 11:32:46 2018 -0800

    broadcom/vc5: Port the simulator to support V3D 4.1
    
    This required moving the register accesses to a separate v3dx file, since
    the register definitions for each V3D version collide.  It seems that
    initializing the v3d_hw from a file dictating 3.3
    (v3d_simulator_wrapper.cpp) is safe, though.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c81cc767e4eef7a03dfeda2ed01565f3906b6f24
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 11:21:33 2018 -0800

    broadcom/vc5: Drop signal bit #defines.
    
    Signals are more complicated than that, and tables ended up being better.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfee62eed3cacbf77ca3168143be6577849c998d
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 3 21:42:33 2018 -0800

    broadcom/vc5: Add support for V3Dv4 signal bits.
    
    The WRTMUC replaces the implicit uniform loads in the first two texture
    instructions.  LDVPM disappears in favor of an ALU op.  LDVARY, LDTMU,
    LDTLB, and LDUNIF*RF now write to arbitrary registers, which required
    passing the devinfo through to a few more functions.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=81ec2ba22975595b4f07c3e8307a8f0a4ec18773
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jan 4 10:34:36 2018 -0800

    broadcom/vc5: Fix pack/unpack of vfmul input unpack flags.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=954a704da3052028da4129cc7757f5f224ee1ffc
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 28 14:00:15 2017 -0800

    broadcom/vc5: Port the RCL setup to V3D4.1.
    
    The TLB load/store path is rebuilt in this version.  There is no longer a
    single-byte resolved store or the 3-byte extended store.  Instead, you get
    to always use general loads/stores (which, honestly, was tempting even in
    previous versions).

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=80c84241af9fbb1e23fe630c5d4fd6d266a74060
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jan 9 14:59:19 2018 -0800

    broadcom/vc5: Fix per-tile extra clear packet.
    
    I accidentally emitted this into the RCL instead of the per-tile generic
    list, so we wouldn't get tiles after the first cleared.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f13fe510d1d5d68b63f90ce63a7153220a25e138
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 3 11:08:53 2018 -0800

    broadcom/vc5: Move the TLB loads and stores to helper functions.
    
    This is going to get more complicated with V3D 4.1 support, which redoes
    all the TLB packets.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c48ce74f7b8ac9a2a47f6f8db7fe9b1639e3755
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 3 12:42:13 2018 -0800

    broadcom/vc5: Convert vc5_cl.h to use the V3DX() macros.
    
    To conditionally compile cl_emit() macros per V3D version, we need it to
    expand to whatever V3D we're building for.  This required emitting #define
    V3D_VERSION 33 in all our currently 3.3-only code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb4face86ad9f58ea0410c3633fda211836b7df5
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Oct 10 13:25:45 2017 -0700

    broadcom/vc5: Introduce v3dx_macros.h and v3dx_pack.h headers.
    
    This will be used by vc5 for prefixing functions and including the pack
    header in v3d-version-dependent code, following the model of anv.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dedfd9660779c11110aaffdf2a7a85da628ac52
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Dec 28 13:51:36 2017 -0800

    broadcom/cle: Fix error path of missing a "type" in the XML.
    
    We try to emit a #error and continue so that you can debug the missing
    type at C compile time, but were missing a couple of definitions in that
    path (sigh, python).

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d8ad5037054a18ca3b169de20874e8919cca1fa
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Dec 27 16:18:02 2017 -0800

    broadcom/vc5: Add XML for V3D v4.1 (BCM7278)




More information about the mesa-commit mailing list