1. 12 Sep, 2021 3 commits
  2. 09 Sep, 2021 1 commit
  3. 06 Aug, 2021 1 commit
    • Rob Clark's avatar
      freedreno: Reduce use of screen->gpu_id · f92877b7
      Rob Clark authored
      
      
      Newer GPU's are moving away from using gpu_id, including the code
      landing upstream for "7c Gen 3".  But most of the places in the gallium
      driver where we were looking at gpu_id, we only cared about the major
      generation.  So convert those to use screen->gen instead.
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      Part-of: <!12159>
      f92877b7
  4. 14 Jul, 2021 1 commit
  5. 30 Jun, 2021 4 commits
  6. 24 Jun, 2021 1 commit
    • Emma Anholt's avatar
      Revert "freedreno: Cooperate with tc to stop checking the BC for resource_busy()." · ea43465d
      Emma Anholt authored
      This reverts commit 5cb043cf.
      
      While the numbers were impressive for drawoverhead, it comes at the cost
      of additional flushes, which for gmem access (what we actually care about
      most!) would greatly increase the actual cost to render.  Also, gl_driver2
      overhead is increased, probably due to spending time in the kernel for the
      flushes.
      
      drawoverhead's win came from the increased flushing causing the GPU to
      start processing the buffers sooner on everything but test 1, which
      already had some incremental flushing happening.  That was certainly not
      intended by the change.
      
      Part-of: <mesa/mesa!11599>
      ea43465d
  7. 22 Jun, 2021 1 commit
    • Emma Anholt's avatar
      freedreno: Cooperate with tc to stop checking the BC for resource_busy(). · 5cb043cf
      Emma Anholt authored
      The resource_busy() hook was having to check the batch cache for usage of
      the resource, since TC didn't know how long our driver would.  By
      committing to calling the tc_driver_internal_flush_notify() hook on
      non-deferred flushes, TC keeps track of which buffers have been used but
      not flushed and considers them busy, saving us needing to look in the BC
      (which we won't be able to do once we move it to being per-context).
      
      drawoverhead test results (all numbers are throughput, n=5):
      
         1, DrawElements ( 1 VBO| 0 UBO|  0    ) w/ no state change:      -4.94214% +/- 2.45047%
         7, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ vertex attrib change: 48.3992% +/- 5.02827%
         8, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 1 texture change:     26.0974% +/- 1.14932%
         9, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 8 textures change:    12.6963% +/- 3.01077%
        17, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 8 UBOs change:        54.3846% +/- 35.0049%
      
      Part-of: <mesa/mesa!11513>
      5cb043cf
  8. 21 Jun, 2021 1 commit
  9. 17 Jun, 2021 6 commits
  10. 15 Jun, 2021 4 commits
  11. 14 Jun, 2021 1 commit
  12. 10 Jun, 2021 1 commit
  13. 21 May, 2021 3 commits
  14. 17 May, 2021 1 commit
  15. 01 May, 2021 1 commit
    • Rob Clark's avatar
      freedreno: Flush resources harder · bc3f6631
      Rob Clark authored
      pctx->flush_resource() has the same expectations that the resource can
      be shared with an external client as pctx->flush(), but without the
      convenience of a fence to know *when* the resource must be visible to
      that external client.  So we need to ensure the batch is flushed all the
      way to the kernel so that implicit-sync can do it's job.
      
      Fixes: e9a9ac6f
      
       ("freedreno/drm: Async submit support")
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      Part-of: <mesa/mesa!10530>
      bc3f6631
  16. 28 Apr, 2021 5 commits
  17. 14 Apr, 2021 2 commits
  18. 20 Mar, 2021 2 commits
  19. 11 Mar, 2021 1 commit