1. 01 Jan, 2021 1 commit
  2. 30 Jul, 2020 2 commits
  3. 15 Jul, 2020 1 commit
  4. 12 Jun, 2020 1 commit
  5. 21 May, 2020 2 commits
  6. 20 May, 2020 1 commit
  7. 29 Apr, 2020 1 commit
  8. 11 Mar, 2020 1 commit
  9. 27 Feb, 2020 1 commit
  10. 22 Jan, 2020 1 commit
  11. 19 Dec, 2019 1 commit
    • Alyssa Rosenzweig's avatar
      pan/midgard: Add uniform/work heuristic · 57102500
      Alyssa Rosenzweig authored
      
      
      Uniform/work registers are partitioned on a shader-by-shader basis as
      determined by the compiler. We add a simple heuristic here running
      before scheduling that prioritizes mitigating spilling at all costs.
      
      A more sophisticated heuristic should run *after* scheduling, doing a
      dry run of the register allocator itself to determine spilling. Fitting
      this into our current scheduling model is difficult, so while this
      heuristic does hurt some shaders, overall the results are acceptable:
      
      total instructions in shared programs: 50065 -> 38747 (-22.61%)
      instructions in affected programs: 37187 -> 25869 (-30.44%)
      helped: 59
      HURT: 77
      helped stats (abs) min: 1 max: 757 x̄: 198.46 x̃: 151
      helped stats (rel) min: 0.48% max: 62.89% x̄: 32.95% x̃: 36.27%
      HURT stats (abs)   min: 1 max: 9 x̄: 5.08 x̃: 6
      HURT stats (rel)   min: 0.92% max: 14.29% x̄: 6.71% x̃: 4.60%
      95% mean confidence interval for instructions value: -111.15 -55.29
      95% mean confidence interval for instructions %-change: -14.33% -6.67%
      Instructions are helped.
      
      total bundles in shared programs: 30606 -> 19157 (-37.41%)
      bundles in affected programs: 23907 -> 12458 (-47.89%)
      helped: 58
      HURT: 74
      helped stats (abs) min: 6 max: 757 x̄: 203.09 x̃: 152
      helped stats (rel) min: 5.19% max: 77.00% x̄: 49.38% x̃: 53.79%
      HURT stats (abs)   min: 1 max: 9 x̄: 4.46 x̃: 5
      HURT stats (rel)   min: 1.85% max: 26.32% x̄: 11.70% x̃: 9.57%
      95% mean confidence interval for bundles value: -115.46 -58.01
      95% mean confidence interval for bundles %-change: -20.87% -9.41%
      Bundles are helped.
      
      total quadwords in shared programs: 31305 -> 32027 (2.31%)
      quadwords in affected programs: 20471 -> 21193 (3.53%)
      helped: 0
      HURT: 133
      HURT stats (abs)   min: 1 max: 9 x̄: 5.43 x̃: 5
      HURT stats (rel)   min: 0.76% max: 15.15% x̄: 5.47% x̃: 4.65%
      95% mean confidence interval for quadwords value: 5.00 5.86
      95% mean confidence interval for quadwords %-change: 4.85% 6.08%
      Quadwords are HURT.
      
      total registers in shared programs: 2256 -> 2545 (12.81%)
      registers in affected programs: 708 -> 997 (40.82%)
      helped: 0
      HURT: 95
      HURT stats (abs)   min: 1 max: 8 x̄: 3.04 x̃: 3
      HURT stats (rel)   min: 12.50% max: 100.00% x̄: 39.41% x̃: 37.50%
      95% mean confidence interval for registers value: 2.64 3.45
      95% mean confidence interval for registers %-change: 34.62% 44.19%
      Registers are HURT.
      
      total threads in shared programs: 1776 -> 1709 (-3.77%)
      threads in affected programs: 134 -> 67 (-50.00%)
      helped: 0
      HURT: 67
      HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
      HURT stats (rel)   min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
      95% mean confidence interval for threads value: -1.00 -1.00
      95% mean confidence interval for threads %-change: -50.00% -50.00%
      Threads are HURT.
      
      total spills in shared programs: 3868 -> 2 (-99.95%)
      spills in affected programs: 3868 -> 2 (-99.95%)
      helped: 60
      HURT: 0
      
      total fills in shared programs: 6456 -> 4 (-99.94%)
      fills in affected programs: 6456 -> 4 (-99.94%)
      helped: 60
      HURT: 0
      Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
      Tested-by: Marge Bot <mesa/mesa!3150>
      Part-of: <mesa/mesa!3150>
      57102500
  12. 18 Nov, 2019 2 commits
  13. 01 Nov, 2019 2 commits
  14. 16 Oct, 2019 1 commit
  15. 28 Aug, 2019 1 commit
  16. 26 Aug, 2019 1 commit
  17. 14 Aug, 2019 1 commit
  18. 12 Aug, 2019 1 commit
  19. 02 Aug, 2019 2 commits
    • Alyssa Rosenzweig's avatar
      pan/midgard: Promote all 16 uniforms · ad864a0b
      Alyssa Rosenzweig authored
      
      
      Now that register spilling is in place, this is reasonable. It turns out
      for some shaders, it's actually better to cap at 8 work registers and
      extra >8 uniform reigsters and tolerate the spilling, since the extra
      resulting threads make up for the spillage. So incidentally, the shader
      that spills here is in -bterrain, which jumps from 19fps to 21fps as a
      result of this change.
      
      total instructions in shared programs: 3513 -> 3448 (-1.85%)
      instructions in affected programs: 776 -> 711 (-8.38%)
      helped: 20
      HURT: 0
      helped stats (abs) min: 1 max: 8 x̄: 3.25 x̃: 2
      helped stats (rel) min: 3.57% max: 16.00% x̄: 8.37% x̃: 7.19%
      95% mean confidence interval for instructions value: -4.28 -2.22
      95% mean confidence interval for instructions %-change: -10.02% -6.73%
      Instructions are helped.
      
      total bundles in shared programs: 2067 -> 2024 (-2.08%)
      bundles in affected programs: 515 -> 472 (-8.35%)
      helped: 19
      HURT: 1
      helped stats (abs) min: 1 max: 6 x̄: 2.37 x̃: 2
      helped stats (rel) min: 2.13% max: 17.86% x̄: 10.19% x̃: 11.11%
      HURT stats (abs)   min: 2 max: 2 x̄: 2.00 x̃: 2
      HURT stats (rel)   min: 3.23% max: 3.23% x̄: 3.23% x̃: 3.23%
      95% mean confidence interval for bundles value: -3.01 -1.29
      95% mean confidence interval for bundles %-change: -12.13% -6.91%
      Bundles are helped.
      
      total quadwords in shared programs: 3468 -> 3426 (-1.21%)
      quadwords in affected programs: 764 -> 722 (-5.50%)
      helped: 19
      HURT: 1
      helped stats (abs) min: 1 max: 5 x̄: 2.26 x̃: 2
      helped stats (rel) min: 1.41% max: 12.50% x̄: 6.76% x̃: 7.14%
      HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
      HURT stats (rel)   min: 1.08% max: 1.08% x̄: 1.08% x̃: 1.08%
      95% mean confidence interval for quadwords value: -2.83 -1.37
      95% mean confidence interval for quadwords %-change: -8.08% -4.65%
      Quadwords are helped.
      
      total registers in shared programs: 383 -> 360 (-6.01%)
      registers in affected programs: 112 -> 89 (-20.54%)
      helped: 19
      HURT: 0
      helped stats (abs) min: 1 max: 3 x̄: 1.21 x̃: 1
      helped stats (rel) min: 12.50% max: 27.27% x̄: 20.63% x̃: 20.00%
      95% mean confidence interval for registers value: -1.47 -0.95
      95% mean confidence interval for registers %-change: -22.39% -18.87%
      Registers are helped.
      
      total threads in shared programs: 432 -> 451 (4.40%)
      threads in affected programs: 19 -> 38 (100.00%)
      helped: 11
      HURT: 0
      helped stats (abs) min: 1 max: 2 x̄: 1.73 x̃: 2
      helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
      95% mean confidence interval for threads value: 1.41 2.04
      95% mean confidence interval for threads %-change: 100.00% 100.00%
      Threads are [helped].
      
      total loops in shared programs: 4 -> 4 (0.00%)
      loops in affected programs: 0 -> 0
      helped: 0
      HURT: 0
      
      total spills in shared programs: 0 -> 4
      spills in affected programs: 0 -> 4
      helped: 0
      HURT: 2
      
      total fills in shared programs: 0 -> 7
      fills in affected programs: 0 -> 7
      helped: 0
      HURT: 2
      Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
      ad864a0b
    • Alyssa Rosenzweig's avatar
      pan/midgard: Split ld/st unknown to arg_1/arg_2 fields · c908772e
      Alyssa Rosenzweig authored
      
      
      The 16-bit field can be decomposed to two independent 8-bit fields, each
      representing a single (additional) argument to the load/store op,
      generally used for encoding registers. Addressable registers here are
      substantially limited compared to the main register in a load/store op.
      Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
      c908772e
  20. 26 Jul, 2019 1 commit
  21. 25 Jul, 2019 1 commit
  22. 22 Jul, 2019 2 commits