1. 21 Dec, 2020 2 commits
  2. 27 Nov, 2020 1 commit
  3. 26 Nov, 2020 1 commit
  4. 19 Nov, 2020 2 commits
    • Connor Abbott's avatar
      freedreno/a6xx: Implement private memory · ea3db9f5
      Connor Abbott authored
      Part-of: <!7386>
      ea3db9f5
    • Connor Abbott's avatar
      freedreno/a6xx: Document private memory registers · 92fe6fa0
      Connor Abbott authored
      They seem to be broadly similar to the a3xx ones, albeit with some
      things shuffled around and with different units, and the extra layout
      mode bits.
      
      We also document the FIRST_EXEC_OFFSET registers, so that we can start
      properly setting them all to 0 in freedreno and turnip in later commits.
      I discovered the compute one when playing with function support in the
      blob CL driver, and added the other registers via analogy (the blob
      Vulkan driver sets FIRST_EXEC_OFFSET and the shader VA together in one
      packet for all stages, so it seems to really be in the same place for
      all stages).
      
      Part-of: <!7386>
      92fe6fa0
  5. 18 Nov, 2020 1 commit
  6. 05 Nov, 2020 1 commit
  7. 03 Nov, 2020 1 commit
  8. 23 Oct, 2020 1 commit
  9. 01 Sep, 2020 1 commit
  10. 20 Aug, 2020 1 commit
  11. 19 Aug, 2020 1 commit
    • Rob Clark's avatar
      freedreno/a6xx: only generate streamout for draw pass shader · 5550bc04
      Rob Clark authored
      
      
      Previously we were doing this both for draw and binning pass.. resulting
      that the stateobj contained first the incorrect state (based on binning
      pass shader with varyings DCEd) followed by the correct state.
      
      Also, in the streamout case we should link binning pass VS against the
      real FS, rather than the dummy FS, so that OUTLOC's match (since same
      streamout stateobj is used for both draw and binning pass).
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      Part-of: <!6376>
      5550bc04
  12. 05 Aug, 2020 1 commit
  13. 27 Jul, 2020 1 commit
  14. 14 Jul, 2020 3 commits
  15. 01 Jul, 2020 2 commits
  16. 26 Jun, 2020 2 commits
  17. 24 Jun, 2020 2 commits
  18. 19 Jun, 2020 2 commits
  19. 18 Jun, 2020 1 commit
  20. 16 Jun, 2020 1 commit
  21. 15 Jun, 2020 1 commit
  22. 08 Jun, 2020 1 commit
  23. 04 Jun, 2020 4 commits
    • Kristian H. Kristensen's avatar
      freedreno/a6xx: Fix VFD_CONTROL emit · de8be1de
      Kristian H. Kristensen authored
      The FETCH_CNT field isn't actually the FETCH count. We don't have a
      lot of data where it's different from DECODE_CNT, so there's not much
      to go by. It could be number of VFD_DEST_CNTL or maybe DECODE_CNT for
      binning.  For now, setting both to number of DEST_CNTL gets Google
      Earth working again.
      
      Part-of: <!5324>
      de8be1de
    • Rob Clark's avatar
      freedreno/a6xx: add early-lrz-late-z mode · 1e3731e7
      Rob Clark authored
      
      
      Now that we are doing a better job of managing LRZ, add support for the
      EARLY_LRZ_LATE_Z mode.  Since we properly disable LRZ write in cases
      where we don't know a fragment's z value during the binning pass (or
      when blend is enabled in a later draw, meaning we will need the earlier
      fragment's color), we can enable a mode that keeps the early-lrz test
      when the frag shader has kill/discard.  This will only discard geometry
      that is definitely not visible.
      
      This is a pretty big win for games/benchmarks that have a lot of frag
      shaders with kill/discard.  More than 10% gain for gfxbench trex/mh and
      40% gain for mh31.
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      Part-of: <!5298>
      1e3731e7
    • Rob Clark's avatar
      freedreno/a6xx: update depth-plane control regs · 27e501bc
      Rob Clark authored
      
      
      And document the early-lrz-late-z mode.
      
      Initially I thought this would be two bits to control early-lrz vs
      early-z.  But having early-z without early-lrz does not make sense,
      and the way the values line up makes an enum fit better.
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      Part-of: <!5298>
      27e501bc
    • Rob Clark's avatar
      freedreno/ir3: split kill from no_earlyz · ebcf3545
      Rob Clark authored
      
      
      Unlike other conditions which prevent early-discard of fragments, kill
      does not prevent early LRZ test.  Split `has_kill` from `no_earlyz` so
      we can take advantage of this.
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      Part-of: <!5298>
      ebcf3545
  24. 29 May, 2020 1 commit
  25. 21 May, 2020 1 commit
  26. 14 May, 2020 1 commit
    • Emma Anholt's avatar
      freedreno/a6xx: Use LDC for UBO loads. · 112c6582
      Emma Anholt authored
      It saves addressing math, but may cause multiple loads to be done and
      bcseled due to NIR not giving us good address alignment information
      currently.  I don't have any workloads I know of using non-const-uploaded
      UBOs, so I don't have perf numbers for it
      
      This makes us match the GLES blob's behavior, and turnip (other than being
      bindful).
      
      Part-of: <!4858>
      112c6582
  27. 12 May, 2020 1 commit
  28. 08 May, 2020 1 commit
  29. 30 Apr, 2020 1 commit