URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cbd6e5f2e592a9834a03004a473537f25aea4336
Author: Rob Clark <[email protected]>
Date:   Wed Apr 28 08:37:59 2021 -0700

    freedreno/ci: Skip texsubmimage cube_map_array
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d19325483a58faccba9da2d8dc2e927f5c9540f
Author: Rob Clark <[email protected]>
Date:   Wed Apr 28 07:19:13 2021 -0700

    freedreno/ci: Disable counterstrike trace on a306 for now
    
    The combination of removing bottlenecks in userspace (userspace fences,
    etc) and slow GPU results in hitting full ringbuffer on a306.  Haven't
    figured out a reasonable way to work around that in userspace until a
    kernel fix is in place, so disable this one for now.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f92f31455a45e49354d083da088a8e17cef8bf11
Author: Rob Clark <[email protected]>
Date:   Tue Apr 20 08:57:54 2021 -0700

    freedreno/drm: Assume explicit fences if in_fence_fd
    
    If we ever see explicit fencing used, then we can disable implicit
    fencing, even for internal or unfenced batches.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9a9ac6f77fe876b84edfb638c3075d6a149c812
Author: Rob Clark <[email protected]>
Date:   Mon Apr 19 15:20:15 2021 -0700

    freedreno/drm: Async submit support
    
    Move the submit ioctl to it's own thread to unblock the driver thread
    and let it move on to the next frame.
    
    Note that I did experiment with doing the append_bo() parts
    synchronously on the theory that we should be more likely to hit the
    fast path if we did that part of submit merging before the bo was
    potentially re-used in the next batch/submit.  It helped some things
    by a couple percent, but hurt more things.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c9e8db28d3572db7aedf89dc693dd8987d357ab
Author: Rob Clark <[email protected]>
Date:   Thu Apr 22 16:17:17 2021 -0700

    freedreno/drm: pipe should hold reference to device
    
    A more direct solution would be for bo's to have a reference to the
    device.  But bo's are ref/unrefd more frequently.
    
    This avoids async submits unrefing a bo after the device handle-
    table is freed.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad9654a4c153c6dbe93ce9b8459837a9c008a138
Author: Rob Clark <[email protected]>
Date:   Thu Apr 22 08:02:49 2021 -0700

    freedreno/drm: fd_submit should hold ref to fd_pipe
    
    Also, move this into the base class, no reason for it to be in backend.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=55eb75d3e6d70f6ebbe973679867aa7001479e83
Author: Rob Clark <[email protected]>
Date:   Sat Apr 17 12:56:58 2021 -0700

    freedreno: Avoid flushing deferred submits for u_trace
    
    This is a bit ugly, but with userspace fences and deferred submits it is
    better to poll until the timestamp buffer is ready.  Otherwise we could
    be triggering deferred submits to flush sooner than they normally would,
    changing the behavior of what we are trying to measure.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cccdc513e3ee58b4119e9686c3086b606500d6a9
Author: Rob Clark <[email protected]>
Date:   Sat Apr 17 12:51:02 2021 -0700

    freedreno/drm/sp: Implement deferred submit merging
    
    For submits flushed with (a) no required fence, and (b) no externally
    visible effects (ie. imported/exported bo), we can defer flushing the
    submit and merge it into a later submit.
    
    This is a bit more work in userspace, but it cuts down the number of
    submit ioctls.  And a common case is that later submits overlap in the
    bo's used (for example, blit upload to a buffer, which is then used in
    the following draw pass), so it reduces the net amount of work needed
    to be done in the kernel to handle the submit ioctl.
    
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/19
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7dc5cf3cb3b9f4c73d51f234e3c09dc4eca22a5
Author: Rob Clark <[email protected]>
Date:   Sat Apr 17 12:09:42 2021 -0700

    freedreno/drm/sp: Split submit prep and finish
    
    For deferred submits, we still need to do the prep steps immediately,
    but the ioctl construction can be deferred.. prepare for that by
    splitting the prep out.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=62a6773d804977ff9d4589d075838eedfba87413
Author: Rob Clark <[email protected]>
Date:   Sat Apr 17 11:37:06 2021 -0700

    freedreno/drm: Add pipe tracking for deferred submits
    
    Now that we have some bo state tracking for userspace fences, we can
    build on this to add a way for the pipe implementation to defer a submit
    flush in order to merge submits into a single ioctl.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=aafcd8aacb8feda179017ba9064272ff6573a78e
Author: Rob Clark <[email protected]>
Date:   Mon Apr 19 13:03:21 2021 -0700

    freedreno: Re-work fd_submit fence interface
    
    Move everything into a struct assocated with the pipe_fence_handle, so
    that the drm layer can fill in the seqn/fd fences directly.
    
    This will give us a comvenient place to insert a util_queue_fence in the
    next commit.
    
    While we're at it, extract the uint32_t fence (previously called
    'timestamp' in place, a kgsl legacy) into a struct that encapsulates
    both the kernel fence and the userspace fence.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d531c8d22a52fa08209069c70dbaf6650682a24e
Author: Rob Clark <[email protected]>
Date:   Sat Apr 17 11:23:27 2021 -0700

    freedreno/drm: Reference count submits
    
    To merge submits, we'll need drm to internally hold an extra reference
    to the submit.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9cb264f966cecbe4aa1e9373c9104dd374475db5
Author: Rob Clark <[email protected]>
Date:   Wed Apr 21 13:45:57 2021 -0700

    freedreno: Drop unused create_fence() arg
    
    It was always zero.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f4b85c7cfdd089128e75ef31ca38ae26fed2517
Author: Rob Clark <[email protected]>
Date:   Mon Apr 19 11:43:02 2021 -0700

    freedreno: Move fence struct to header
    
    Just a bit of code-motion to prep for later patches.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3f4835b99cfb6bb1fa677a6a86debbaeb590101
Author: Rob Clark <[email protected]>
Date:   Sun Apr 18 15:29:32 2021 -0700

    freedreno: last_fence optimization for TC async flushes
    
    Without deferred flushes, we would track the last_fence any time when
    there had be no rendering/etc since the last flush, to avoid creating
    empty batches simply for the purpose of getting a fence.  We can do the
    same thing with deferred flushes, where the fence is created from the
    frontend thread before we know what will be flushed, by repopulating
    the pre-created fence.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=807bfa6be8915b44032d77c8ea74fe3ca9a658dc
Author: Rob Clark <[email protected]>
Date:   Sat Apr 17 11:15:50 2021 -0700

    freedreno/batch: Don't create fences for every batch
    
    We only need fences for batches flushed via pctx->flush().  This will
    serve as a useful signal about submits that can be merged.
    
    v2. disable this optimization pre-a6xx until I can debug issues that
        submit merging exposes
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=49852ace2a734dde8f157769a841f15892361b11
Author: Rob Clark <[email protected]>
Date:   Mon Apr 26 13:39:04 2021 -0700

    freedreno/drm: Inline the fence-table
    
    In the common case, a bo will have no more than a single fence attached.
    We can inline the storage to avoid a separate allocation in this case.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dabd62464982e545a094f22d9ca23a77730c536
Author: Rob Clark <[email protected]>
Date:   Wed Apr 21 09:37:05 2021 -0700

    freedreno/drm: Userspace fences
    
    Add a per-fd_pipe fence "timeline" so we can detect cases where we don't
    need to call into the kernel to determine if a fd_bo is still busy.
    
    This reuses table_lock, rather than introducing a per-bo lock to protect
    fence state updates because (a) the common / hotpath pattern is to
    update fences on a lot of objects, but checking the fence state of a
    single object is less common, and (b) because we already hold the table
    lock in common spots where we need to check the bo's fence state (ie.
    allocations from the bo-cache).
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=df78934cdf98c399b217d58f73c1d8d876f1585b
Author: Rob Clark <[email protected]>
Date:   Thu Apr 22 13:30:35 2021 -0700

    freedreno/drm: Add locked version fd_{bo,pipe}_del()
    
    This will be needed in the next patch, so we can reuse the bo table_lock
    for fence related locking.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f5c89350f0b3becb1ae525b35e497559927c382
Author: Rob Clark <[email protected]>
Date:   Thu Apr 22 11:25:11 2021 -0700

    freedreno/drm: Move the growable array helper
    
    We'll need this to track userspace fences attached to a fd_bo.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c98ada6ad122e218136fa73f3fce9f3430d8a3c8
Author: Rob Clark <[email protected]>
Date:   Thu Apr 22 15:17:37 2021 -0700

    freedreno/drm: Add FD_BO_PREP_FLUSH
    
    There are a couple cases where we want to use _NOSYNC, but at the same
    time we want to ensure that rendering related to a bo is actually
    flushed.
    
    This doesn't do anything yet, but when we start deferring/merging
    submits we'll need a way to trigger anything deferred to flush.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ab227c3738b30357799130ebe4587222b8c91f7
Author: Rob Clark <[email protected]>
Date:   Thu Apr 22 15:11:46 2021 -0700

    freedreno/drm: Cleanup bo cpu_prep flags
    
    Also add some STATIC_ASSERT()
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f0abd9048b6fbe54a500cbe89ebdf749877113c
Author: Rob Clark <[email protected]>
Date:   Thu Apr 22 11:09:56 2021 -0700

    freedreno/drm: Cleanup bo allocation flags
    
    Most of them were actually unused.  The memory type (KMEM vs SMI) only
    applied to very old a2xx era devices that had a small/fast stacked
    memory (SMI) vs normal memory (KMEM).  And the cache flags are ignored
    (ie. everything is writecombine), but we can add new cache flags later
    when they actually do something.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef0c5007f25786619f2fd20277419def613a7c25
Author: Rob Clark <[email protected]>
Date:   Wed Apr 21 09:22:14 2021 -0700

    freedreno/drm: Move submit->primary to base class
    
    Gets rid of a bit of duplication between the two current
    implementations, and will be needed in next patch.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c64bc095e715b744991621c4ae4ae1a379fcafde
Author: Rob Clark <[email protected]>
Date:   Mon Apr 19 11:07:15 2021 -0700

    freedreno: Allow resource shadowing for TC
    
    TC_TRANSFER_MAP_NO_INVALIDATE just means we can't invalidate.  It
    doesn't preclude the resource shadow path.
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ecd4793d6cb673ac44d9f959e9a150b72a7b993c
Author: Rob Clark <[email protected]>
Date:   Mon Apr 19 11:05:57 2021 -0700

    freedreno: Add a couple debug traces
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8d43028251100c750674a64c0f34e7d7761d159
Author: Rob Clark <[email protected]>
Date:   Wed Apr 21 19:28:31 2021 -0700

    freedreno: Make sure we actually flush if we need a fence
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb058a89223295db91382fffc1f1d4ae24f1c076
Author: Rob Clark <[email protected]>
Date:   Fri Apr 23 16:47:47 2021 -0700

    freedreno: Avoid staging blits with stencil on older gens
    
    This avoids infinite recursion with fallback to
    util_resource_copy_region()
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=224dbd77d5d3e8bce890a3906466b0e0790f3ae0
Author: Rob Clark <[email protected]>
Date:   Sat Apr 24 13:11:48 2021 -0700

    freedreno: Small indent fix
    
    Signed-off-by: Rob Clark <[email protected]>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10444>

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to