1. 13 Feb, 2020 1 commit
    • Lionel Landwerlin's avatar
      i965: enable INTEL_blackhole_render · 5d7e9edb
      Lionel Landwerlin authored
      
      
      v2: condition the extension on context isolation support from the
          kernel (Chris)
      
      v3: (Lionel)
      
          The initial version of this change used a feature of the Gen7+
          command parser to turn the primitive instructions into no-ops.
          Unfortunately this doesn't play well with how we're using the
          hardware outside of the user submitted commands. For example
          resolves are implicit operations which should not be turned into
          no-ops as part of the previously submitted commands (before
          blackhole_render is enabled) might not be disabled. For example
          this sequence :
      
             glClear();
             glEnable(GL_BLACKHOLE_RENDER_INTEL);
             glDrawArrays(...);
             glReadPixels(...);
             glDisable(GL_BLACKHOLE_RENDER_INTEL);
      
          While clear has been emitted outside the blackhole render, it
          should still be resolved properly in the read pixels. Hence we
          need to be more selective and only disable user submitted
          commands.
      
          This v3 manually turns primitives into MI_NOOP if blackhole render
          is enabled. This lets us enable this feature on any platform.
      
      v4: Limit support to gen7.5+ (Lionel)
      
      v5: Enable Gen7.5 support again, requires a kernel update of the
          command parser (Lionel)
      
      v6: Disable Gen7.5 again... Kernel devs want these patches landed
          before they accept the kernel patches to whitelist INSTPM (Lionel)
      
      v7: Simplify change by never holding noop (there was a shortcoming in the test not considering fast clears)
          Only program register using MI_LRI (Lionel)
      
      v8: Switch to software managed blackhole (BDW hangs on compute batches...)
      
      v9: Simplify the noop state tracking (Lionel)
      
      v10: Don't modify flush function (Ken)
      Signed-off-by: Lionel Landwerlin's avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v8)
      Part-of: <mesa/mesa!2964>
      5d7e9edb
  2. 23 Jan, 2020 1 commit
  3. 13 Jan, 2020 1 commit
  4. 12 Dec, 2019 1 commit
  5. 30 Sep, 2019 1 commit
  6. 21 Aug, 2019 2 commits
  7. 30 Jul, 2019 1 commit
  8. 09 Apr, 2019 1 commit
  9. 14 Mar, 2019 1 commit
  10. 27 Feb, 2019 1 commit
  11. 18 Feb, 2019 1 commit
  12. 15 Feb, 2019 1 commit
  13. 01 Feb, 2019 1 commit
  14. 28 Jan, 2019 1 commit
  15. 10 Jan, 2019 1 commit
  16. 03 Dec, 2018 1 commit
  17. 19 Nov, 2018 1 commit
  18. 28 Aug, 2018 2 commits
  19. 23 Aug, 2018 2 commits
  20. 13 Aug, 2018 1 commit
  21. 27 Jul, 2018 2 commits
  22. 21 Jun, 2018 1 commit
  23. 01 Jun, 2018 1 commit
  24. 30 May, 2018 3 commits
  25. 24 May, 2018 1 commit
  26. 09 May, 2018 1 commit
  27. 04 May, 2018 1 commit
  28. 28 Feb, 2018 1 commit
  29. 24 Feb, 2018 1 commit
  30. 23 Feb, 2018 1 commit
  31. 15 Dec, 2017 1 commit
  32. 09 Nov, 2017 1 commit
  33. 10 Oct, 2017 1 commit
  34. 03 Oct, 2017 1 commit