1. 19 Oct, 2020 1 commit
    • Kenneth Graunke's avatar
      isl, anv, iris: Add a centralized helper to select MOCS based on usage · 02fe825a
      Kenneth Graunke authored
      
      
      On Gen12+, we can enable additional caches in certain usage situations.
      This routes that decision making to a central place in ISL, based on
      surface usage flags, and updates both drivers to use it.  (i965 doesn't
      need to change because it doesn't support Gen12.)
      
      We continue handling the "external" decision via an anv_mocs() wrapper
      for now, since we store that flag in anv_bo, which isl doesn't know
      about.  (We could introduce an ISL_SURF_USAGE_EXTERNAL, but I'm not
      actually sure that would be cleaner.)
      
      This patch should not have any functional nor performance effects, as
      we continue selecting the exact same MOCS values for now.
      Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      Part-of: <!7104>
      02fe825a
  2. 15 Oct, 2020 1 commit
  3. 08 Oct, 2020 1 commit
  4. 07 Oct, 2020 2 commits
  5. 06 Oct, 2020 1 commit
  6. 22 Sep, 2020 1 commit
  7. 08 Sep, 2020 1 commit
  8. 02 Sep, 2020 1 commit
  9. 21 Aug, 2020 1 commit
  10. 12 Aug, 2020 4 commits
  11. 29 Jul, 2020 4 commits
  12. 20 Jun, 2020 1 commit
  13. 11 Jun, 2020 1 commit
  14. 03 Jun, 2020 1 commit
    • Francisco Jerez's avatar
      iris: Extend iris_context dirty state flags to 128 bits. · 46183a99
      Francisco Jerez authored
      
      
      We're nearly out of dirty bits, and some patches pending review on
      GitLab no longer apply due to that.  Make room for them by splitting
      off shader stage-specific bits into a separate stage_dirty mask.
      
      An alternative would be to split compute-related bits into a separate
      mask, but that would prevent the '<< stage' indexing done in various
      parts of the driver from working.
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      Part-of: <!5279>
      46183a99
  15. 28 May, 2020 1 commit
  16. 13 May, 2020 1 commit
  17. 01 May, 2020 2 commits
  18. 29 Apr, 2020 1 commit
  19. 10 Apr, 2020 2 commits
  20. 07 Apr, 2020 1 commit
    • Caio Marcelo de Oliveira Filho's avatar
      intel/fs: Allow multiple slots for position · 395de69b
      Caio Marcelo de Oliveira Filho authored
      
      
      Change brw_compute_vue_map() to also take the number of pos slots.  If
      more than one slot is used, the VARYING_SLOT_POS is treated as an
      array.
      
      When using Primitive Replication, instead of a single position, the
      VUE must contain an array of positions.  Padding might be
      necessary (after clip distance) to ensure rest of attributes start
      aligned.
      
      v2: Add note about array in the commit message and assert that
          pos_slots >= 1 to make clear 0 is invalid. (Jason)
          Move padding to be after the clip distance.
      
      v3: Apply the correct offset when gathering the sources from outputs.
      
      Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> [v2]
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      Reviewed-by: Rafael Antognolli's avatarRafael Antognolli <rafael.antognolli@intel.com>
      Part-of: <!2313>
      395de69b
  21. 03 Apr, 2020 1 commit
  22. 16 Mar, 2020 1 commit
  23. 03 Mar, 2020 2 commits
  24. 22 Feb, 2020 1 commit
  25. 03 Jan, 2020 1 commit
  26. 23 Dec, 2019 2 commits
  27. 11 Dec, 2019 1 commit
    • Kenneth Graunke's avatar
      iris: Create smaller program keys without legacy features · 2e654db2
      Kenneth Graunke authored
      
      
      A lot of the brw_*_prog_key fields are for emulating features on legacy
      hardware that iris doesn't support.  In particular, all of the texture
      swizzle fields take up a lot of space.  These dead fields make hashing
      the shader keys more expensive than it ought to be.
      
      We introduce iris-specific keys with only the information we need, and
      translate them to brw keys when actually compiling new variants.  This
      way, key comparisons can use the small keys.  The size reductions are:
      
         VS:  328 bytes ->  8 bytes
         TCS: 312 bytes -> 24 bytes
         TES: 304 bytes -> 24 bytes
         GS:  284 bytes ->  8 bytes
         FS:  304 bytes -> 16 bytes
         CS:  280 bytes ->  4 bytes
      
      Scores for the Piglit drawoverhead microbenchmark case with a shader
      program change improve by roughly 30%.
      Reviewed-by: Emma Anholt's avatarEric Anholt <eric@anholt.net>
      2e654db2
  28. 04 Dec, 2019 1 commit
    • Jason Ekstrand's avatar
      iris: Stop setting up fake params · 0604768a
      Jason Ekstrand authored
      In d1c4e64a
      
      , we added a parameter to tell the back-end compiler to
      ignore the param array and just push however many constants you ask it
      to push.  Iris doesn't want to push anything so it gives a bogus number
      of parameters and trusts the back-end compiler to dead-code all of them.
      Now that we can tell the back-end compiler to stop re-arranging things,
      delete the hack and enable the new simpler code path.
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      0604768a
  29. 14 Nov, 2019 1 commit