Skip to content

Rework Iris cache tracking infrastructure (2).

Francisco Jerez requested to merge currojerez/mesa:iris-cache-tracker-2 into main

This MR builds upon the cache tracking infrastructure introduced by my previous !3875 (merged) in order to handle synchronization of additional data structures with a unified mechanism. In particular this gets VBOs, UBOs, SSBOs, QBOs, index buffers and others to take advantage of the same infrastructure for data synchronization which was introduced in my previous MR. The new infrastructure is more accurate at determining the minimal set of PIPE_CONTROLs required to order memory operations than the current history flush mechanism used for such buffer objects, since history flushing performs a number of flush and invalidation operations up front at the point that the buffer is written, for all caches that have previously accessed the buffer. The new mechanism OTOH is on-demand: It will consider the cache domains which actually access the buffer after the write, and will avoid repeated useless flushing and stalling in cases where a single flush would have been sufficient to guarantee that the contents of multiple buffers have landed in memory. At the end of this series the history flush mechanism is removed altogether.

A number of patches are marked OPTIONAL because they are CPU overhead micro-optimizations not strictly required for correctness, but they've proven to be useful in order to avoid statistically significant regressions in Piglit Draw Overhead. I haven't observed performance regressions in any graphics benchmarks. SynMark OglBatch6 and OglBatch7 seem to improve significantly by ~4%.

The net effect on Piglit Drawoverhead is largely positive as you can tell from my current results:

drawoverhead/63/DrawArrays ( 1 VBO| 0 UBO|  0    ) w/ no state change:                       XXX ±9.24% x65 -> XXX ±2.96% x66         d=22.51% ±7.00%       p=0.00%
drawoverhead/66/DrawArrays ( 1 VBO| 0 UBO| 16 Tex) w/ no state change:                       XXX ±8.63% x65 -> XXX ±3.01% x66         d=21.88% ±6.61%       p=0.00%
drawoverhead/67/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ no state change:                       XXX ±8.47% x65 -> XXX ±2.96% x66         d=21.57% ±6.49%       p=0.00%
drawoverhead/64/DrawArrays ( 4 VBO| 0 UBO|  0    ) w/ no state change:                       XXX ±9.20% x65 -> XXX ±4.54% x66         d=19.58% ±7.54%       p=0.00%
drawoverhead/96/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ no state change:                       XXX ±4.69% x65 -> XXX ±4.72% x66         d=15.21% ±5.08%       p=0.00%
drawoverhead/30/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ alpha-to-coverage enable change:     XXX ±7.13% x65 -> XXX ±4.14% x66         d=14.82% ±6.05%       p=0.00%
drawoverhead/113/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ primitive restart enable change:      XXX ±8.82% x65 -> XXX ±7.45% x66         d=13.60% ±8.64%       p=0.00%
drawoverhead/111/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ scissor change:                       XXX ±5.91% x65 -> XXX ±7.96% x66         d=13.51% ±7.64%       p=0.00%
drawoverhead/65/DrawArrays (16 VBO| 0 UBO|  0    ) w/ no state change:                       XXX ±3.71% x65 -> XXX ±4.01% x66         d=13.22% ±4.15%       p=0.00%
drawoverhead/82/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ scissor change:                        XXX ±6.42% x65 -> XXX ±7.63% x66         d=11.10% ±7.52%       p=0.00%
drawoverhead/29/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ sample mask enable change:           XXX ±5.09% x65 -> XXX ±4.44% x66         d=10.88% ±5.00%       p=0.00%
drawoverhead/59/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ alpha-to-coverage enable change:     XXX ±4.82% x65 -> XXX ±4.58% x66         d=10.80% ±4.95%       p=0.00%
drawoverhead/51/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ primitive restart enable change:     XXX ±6.54% x65 -> XXX ±6.85% x66         d=10.62% ±7.09%       p=0.00%
drawoverhead/120/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ sample mask enable change:            XXX ±9.24% x65 -> XXX±10.54% x66        d=10.62% ±10.53%       p=0.00%
drawoverhead/22/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ primitive restart enable change:     XXX ±5.94% x65 -> XXX ±5.64% x66          d=9.97% ±6.07%       p=0.00%
drawoverhead/121/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ alpha-to-coverage enable change:      XXX ±8.52% x65 -> XXX ±9.72% x66          d=9.22% ±9.63%       p=0.00%
drawoverhead/90/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ MSAA enable change:                    XXX ±3.79% x65 -> XXX ±3.95% x66          d=8.33% ±4.04%       p=0.00%
drawoverhead/122/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ sample shading enable change:         XXX ±6.95% x65 -> XXX ±8.27% x66          d=7.80% ±8.00%       p=0.00%
drawoverhead/112/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ viewport change:                      XXX ±6.22% x65 -> XXX ±5.80% x66          d=7.78% ±6.24%       p=0.00%
drawoverhead/8/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 1 texture change:                     XXX ±1.45% x65 -> XXX ±1.10% x66          d=7.59% ±1.32%       p=0.00%
drawoverhead/37/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ 1 texture change:                    XXX ±1.30% x65 -> XXX ±0.90% x66          d=7.46% ±1.14%       p=0.00%
drawoverhead/70/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ 1 texture change:                      XXX ±1.17% x65 -> XXX ±1.00% x66          d=7.44% ±1.12%       p=0.00%
drawoverhead/99/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ 1 texture change:                      XXX ±1.25% x65 -> XXX ±0.94% x66          d=7.36% ±1.13%       p=0.00%
drawoverhead/119/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ MSAA enable change:                   XXX ±5.51% x65 -> XXX ±7.18% x66          d=7.23% ±6.70%       p=0.00%
drawoverhead/49/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ scissor change:                      XXX ±7.87% x65 -> XXX ±7.23% x66          d=6.53% ±7.78%       p=0.00%
drawoverhead/39/DrawElements (16 VBO| 8 UBO|  8 TBO) w/ 1 TBO change:                        XXX ±1.85% x65 -> XXX ±0.38% x66          d=6.51% ±1.34%       p=0.00%
drawoverhead/91/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ sample mask enable change:             XXX ±8.71% x65 -> XXX ±9.61% x66          d=6.16% ±9.49%       p=0.03%
drawoverhead/123/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ cull face enable change:              XXX ±8.74% x65 -> XXX±10.02% x66          d=6.15% ±9.74%       p=0.04%
drawoverhead/10/DrawElements ( 1 VBO| 8 UBO|  8 TBO) w/ 1 TBO change:                        XXX ±1.44% x65 -> XXX ±0.46% x66          d=6.07% ±1.07%       p=0.00%
drawoverhead/57/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ MSAA enable change:                  XXX ±6.78% x65 -> XXX ±7.44% x66          d=6.02% ±7.36%       p=0.00%
drawoverhead/101/DrawArrays (16 VBO| 8 UBO|  8 TBO) w/ 1 TBO change:                         XXX ±1.82% x65 -> XXX ±0.86% x66          d=5.94% ±1.44%       p=0.00%
drawoverhead/72/DrawArrays ( 1 VBO| 8 UBO|  8 TBO) w/ 1 TBO change:                          XXX ±1.46% x65 -> XXX ±0.69% x66          d=5.74% ±1.15%       p=0.00%
drawoverhead/50/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ viewport change:                     XXX ±6.83% x65 -> XXX ±6.99% x66          d=5.49% ±7.11%       p=0.00%
drawoverhead/71/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ 8 textures change:                     XXX ±0.99% x65 -> XXX ±1.12% x66          d=5.39% ±1.09%       p=0.00%
drawoverhead/100/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ 8 textures change:                    XXX ±0.93% x65 -> XXX ±1.03% x66          d=5.39% ±1.01%       p=0.00%
drawoverhead/20/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ scissor change:                      XXX ±7.95% x65 -> XXX ±5.69% x66          d=5.12% ±7.03%       p=0.01%
drawoverhead/60/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ sample shading enable change:        XXX ±8.05% x65 -> XXX ±8.17% x66          d=5.09% ±8.32%       p=0.06%
drawoverhead/38/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ 8 textures change:                   XXX ±1.03% x65 -> XXX ±0.90% x66          d=5.02% ±0.99%       p=0.00%
drawoverhead/83/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ viewport change:                       XXX ±6.46% x65 -> XXX ±5.66% x66          d=4.98% ±6.21%       p=0.00%
drawoverhead/9/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 8 textures change:                    XXX ±1.14% x65 -> XXX ±0.75% x66          d=4.97% ±0.98%       p=0.00%
drawoverhead/84/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ primitive restart enable change:       XXX±10.81% x65 -> XXX±10.05% x66         d=4.73% ±10.67%       p=1.24%
drawoverhead/102/DrawArrays (16 VBO| 8 UBO|  8 TBO) w/ 8 TBOs change:                        XXX ±0.93% x65 -> XXX ±0.71% x66          d=4.56% ±0.84%       p=0.00%
drawoverhead/92/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ alpha-to-coverage enable change:       XXX ±8.02% x65 -> XXX ±9.31% x66          d=4.55% ±8.93%       p=0.42%
drawoverhead/73/DrawArrays ( 1 VBO| 8 UBO|  8 TBO) w/ 8 TBOs change:                         XXX ±0.83% x65 -> XXX ±0.75% x66          d=4.44% ±0.81%       p=0.00%
drawoverhead/40/DrawElements (16 VBO| 8 UBO|  8 TBO) w/ 8 TBOs change:                       XXX ±0.72% x65 -> XXX ±0.81% x66          d=4.40% ±0.79%       p=0.00%
drawoverhead/28/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ MSAA enable change:                  XXX ±6.80% x65 -> XXX ±7.03% x66          d=4.27% ±7.07%       p=0.08%
drawoverhead/105/DrawArrays (16 VBO| 8 UBO|  8 ImB) w/ 1 image buffer change:                XXX ±3.56% x65 -> XXX ±2.02% x66          d=4.27% ±2.92%       p=0.00%
drawoverhead/76/DrawArrays ( 1 VBO| 8 UBO|  8 ImB) w/ 1 image buffer change:                 XXX ±3.25% x65 -> XXX ±1.79% x66          d=4.26% ±2.64%       p=0.00%
drawoverhead/58/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ sample mask enable change:           XXX ±5.61% x65 -> XXX ±4.87% x66          d=3.99% ±5.34%       p=0.00%
drawoverhead/11/DrawElements ( 1 VBO| 8 UBO|  8 TBO) w/ 8 TBOs change:                       XXX ±0.74% x65 -> XXX ±1.03% x66          d=3.95% ±0.92%       p=0.00%
drawoverhead/43/DrawElements (16 VBO| 8 UBO|  8 ImB) w/ 1 image buffer change:               XXX ±3.02% x65 -> XXX ±1.89% x66          d=3.81% ±2.55%       p=0.00%
drawoverhead/14/DrawElements ( 1 VBO| 8 UBO|  8 ImB) w/ 1 image buffer change:               XXX ±3.00% x65 -> XXX ±2.02% x66          d=3.79% ±2.58%       p=0.00%
drawoverhead/124/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ clip distance enable change:          XXX ±7.22% x65 -> XXX ±9.25% x66          d=3.73% ±8.50%       p=1.32%
drawoverhead/21/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ viewport change:                     XXX ±7.05% x65 -> XXX ±5.53% x66          d=3.71% ±6.42%       p=0.12%
drawoverhead/69/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ vertex attrib change:                  XXX ±8.93% x65 -> XXX±10.18% x66          d=3.66% ±9.78%       p=3.41%
drawoverhead/77/DrawArrays ( 1 VBO| 8 UBO|  8 ImB) w/ 8 image buffers change:                XXX ±2.02% x65 -> XXX ±1.25% x66          d=3.42% ±1.69%       p=0.00%
drawoverhead/75/DrawArrays ( 1 VBO| 8 UBO|  8 Img) w/ 8 images change:                       XXX ±3.62% x65 -> XXX ±1.48% x66          d=3.41% ±2.77%       p=0.00%
drawoverhead/106/DrawArrays (16 VBO| 8 UBO|  8 ImB) w/ 8 image buffers change:               XXX ±2.17% x65 -> XXX ±1.38% x66          d=3.36% ±1.83%       p=0.00%
drawoverhead/104/DrawArrays (16 VBO| 8 UBO|  8 Img) w/ 8 images change:                      XXX ±3.60% x65 -> XXX ±1.91% x66          d=3.35% ±2.90%       p=0.00%
drawoverhead/54/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ depth clamp enable change:           XXX±10.06% x65 -> XXX±10.75% x66         d=3.32% ±10.60%       p=7.53%
drawoverhead/42/DrawElements (16 VBO| 8 UBO|  8 Img) w/ 8 images change:                     XXX ±3.33% x65 -> XXX ±1.74% x66          d=3.27% ±2.67%       p=0.00%
drawoverhead/74/DrawArrays ( 1 VBO| 8 UBO|  8 Img) w/ 1 image change:                        XXX ±3.45% x65 -> XXX ±1.84% x66          d=3.20% ±2.78%       p=0.00%
drawoverhead/31/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ sample shading enable change:        XXX ±8.17% x65 -> XXX ±8.00% x66          d=3.12% ±8.21%       p=3.15%
drawoverhead/7/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ vertex attrib change:                 XXX ±9.73% x65 -> XXX ±8.74% x66          d=3.08% ±9.37%       p=6.22%
drawoverhead/62/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ clip distance enable change:         XXX ±7.25% x65 -> XXX ±7.25% x66          d=3.06% ±7.36%       p=1.87%
drawoverhead/85/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ blend enable change:                   XXX ±3.80% x65 -> XXX ±4.07% x66          d=3.06% ±4.00%       p=0.00%
drawoverhead/15/DrawElements ( 1 VBO| 8 UBO|  8 ImB) w/ 8 image buffers change:              XXX ±1.97% x65 -> XXX ±1.09% x66          d=2.99% ±1.60%       p=0.00%
drawoverhead/56/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ scissor enable change:               XXX ±9.97% x65 -> XXX±10.46% x66         d=2.99% ±10.38%      p=10.14%
drawoverhead/103/DrawArrays (16 VBO| 8 UBO|  8 Img) w/ 1 image change:                       XXX ±3.33% x65 -> XXX ±1.67% x66          d=2.90% ±2.64%       p=0.00%
drawoverhead/44/DrawElements (16 VBO| 8 UBO|  8 ImB) w/ 8 image buffers change:              XXX ±2.05% x65 -> XXX ±1.13% x66          d=2.84% ±1.66%       p=0.00%
drawoverhead/93/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ sample shading enable change:          XXX ±6.01% x65 -> XXX ±7.97% x66          d=2.74% ±7.19%       p=3.14%
drawoverhead/114/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ blend enable change:                  XXX ±5.58% x65 -> XXX ±6.72% x66          d=2.65% ±6.28%       p=1.70%
drawoverhead/13/DrawElements ( 1 VBO| 8 UBO|  8 Img) w/ 8 images change:                     XXX ±3.17% x65 -> XXX ±2.02% x66          d=2.61% ±2.67%       p=0.00%
drawoverhead/116/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ depth clamp enable change:            XXX ±8.29% x65 -> XXX ±9.08% x66          d=2.55% ±8.82%      p=10.07%
drawoverhead/41/DrawElements (16 VBO| 8 UBO|  8 Img) w/ 1 image change:                      XXX ±3.02% x65 -> XXX ±1.65% x66          d=2.48% ±2.44%       p=0.00%
drawoverhead/55/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ stencil enable change:               XXX ±8.82% x65 -> XXX ±9.02% x66          d=2.47% ±9.04%      p=12.03%
drawoverhead/95/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ clip distance enable change:           XXX ±7.45% x65 -> XXX ±8.74% x66          d=2.46% ±8.24%       p=9.05%
drawoverhead/12/DrawElements ( 1 VBO| 8 UBO|  8 Img) w/ 1 image change:                      XXX ±3.07% x65 -> XXX ±1.84% x66          d=2.44% ±2.54%       p=0.00%
drawoverhead/61/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ cull face enable change:             XXX±10.16% x65 -> XXX±10.29% x66         d=2.38% ±10.35%      p=19.10%
drawoverhead/89/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ scissor enable change:                 XXX ±4.99% x65 -> XXX ±4.80% x66          d=2.20% ±4.95%       p=1.21%
drawoverhead/87/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ depth clamp enable change:             XXX ±5.10% x65 -> XXX ±5.11% x66          d=2.19% ±5.16%       p=1.64%
drawoverhead/53/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ depth enable change:                 XXX ±8.46% x65 -> XXX ±9.09% x66          d=2.16% ±8.88%      p=16.72%
drawoverhead/117/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ stencil enable change:                XXX ±7.33% x65 -> XXX ±8.11% x66          d=2.15% ±7.83%      p=11.82%
drawoverhead/88/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ stencil enable change:                 XXX ±4.57% x65 -> XXX ±4.20% x66          d=2.09% ±4.43%       p=0.79%
drawoverhead/118/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ scissor enable change:                XXX ±8.41% x65 -> XXX ±9.53% x66          d=2.01% ±9.10%      p=20.76%
drawoverhead/52/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ blend enable change:                 XXX ±5.99% x65 -> XXX ±7.05% x66          d=1.93% ±6.62%       p=9.79%
drawoverhead/86/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ depth enable change:                   XXX ±4.49% x65 -> XXX ±4.45% x66          d=1.80% ±4.51%       p=2.39%
drawoverhead/25/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ depth clamp enable change:           XXX ±9.84% x65 -> XXX ±9.24% x66          d=1.36% ±9.60%      p=41.87%
drawoverhead/27/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ scissor enable change:               XXX ±9.72% x65 -> XXX ±9.19% x66          d=1.21% ±9.52%      p=46.69%
drawoverhead/115/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ depth enable change:                  XXX ±6.85% x65 -> XXX ±8.14% x66          d=1.12% ±7.58%      p=40.06%
drawoverhead/68/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ shader program change:                 XXX ±1.77% x65 -> XXX ±1.68% x66          d=0.72% ±1.73%       p=1.93%
drawoverhead/26/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ stencil enable change:               XXX ±9.42% x65 -> XXX ±8.01% x66          d=0.70% ±8.76%      p=64.82%
drawoverhead/98/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ vertex attrib change:                  XXX±11.88% x65 -> XXX±12.04% x66         d=0.67% ±12.00%      p=74.87%
drawoverhead/32/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ cull face enable change:             XXX ±9.77% x65 -> XXX ±9.28% x66          d=0.66% ±9.55%      p=69.45%
drawoverhead/97/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ shader program change:                 XXX ±2.83% x65 -> XXX ±3.21% x66          d=0.57% ±3.03%      p=28.43%
drawoverhead/33/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ clip distance enable change:         XXX ±8.58% x65 -> XXX ±8.01% x66          d=0.49% ±8.32%      p=73.79%
drawoverhead/24/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ depth enable change:                 XXX ±8.51% x65 -> XXX ±8.14% x66          d=0.29% ±8.34%      p=84.33%
drawoverhead/6/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ shader program change:                XXX ±2.66% x65 -> XXX ±1.86% x66          d=0.25% ±2.29%      p=53.41%
drawoverhead/23/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ blend enable change:                 XXX ±6.42% x65 -> XXX ±6.32% x66          d=0.12% ±6.37%      p=91.78%
drawoverhead/94/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ cull face enable change:               XXX ±7.98% x65 -> XXX ±9.31% x66          d=0.05% ±8.68%      p=97.40%
drawoverhead/46/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ 8 UBOs change:                       XXX ±2.35% x65 -> XXX ±2.25% x66         d=-0.02% ±2.30%      p=96.23%
drawoverhead/35/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ shader program change:               XXX ±7.38% x65 -> XXX ±7.12% x66         d=-0.20% ±7.24%      p=87.77%
drawoverhead/45/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ 1 UBO change:                        XXX ±2.59% x65 -> XXX ±2.58% x66         d=-0.37% ±2.58%      p=41.72%
drawoverhead/16/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 1 UBO change:                        XXX ±2.79% x65 -> XXX ±2.72% x66         d=-0.44% ±2.75%      p=35.92%
drawoverhead/108/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ 8 UBOs change:                        XXX ±1.77% x65 -> XXX ±2.46% x66         d=-0.52% ±2.14%      p=16.94%
drawoverhead/79/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ 8 UBOs change:                         XXX ±1.65% x65 -> XXX ±1.70% x66         d=-0.67% ±1.67%       p=2.40%
drawoverhead/2/DrawElements ( 4 VBO| 0 UBO|  0    ) w/ no state change:                      XXX ±2.97% x65 -> XXX ±1.92% x66         d=-0.76% ±2.49%       p=8.34%
drawoverhead/5/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ no state change:                      XXX ±2.56% x65 -> XXX ±1.76% x66         d=-0.94% ±2.19%       p=1.55%
drawoverhead/47/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ few uniforms / 1 change:             XXX ±2.10% x65 -> XXX ±2.33% x66         d=-0.98% ±2.20%       p=1.24%
drawoverhead/1/DrawElements ( 1 VBO| 0 UBO|  0    ) w/ no state change:                      XXX ±3.22% x65 -> XXX ±1.98% x66         d=-1.00% ±2.66%       p=3.31%
drawoverhead/3/DrawElements (16 VBO| 0 UBO|  0    ) w/ no state change:                      XXX ±2.43% x65 -> XXX ±2.50% x66         d=-1.08% ±2.45%       p=1.31%
drawoverhead/34/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ no state change:                     XXX ±2.71% x65 -> XXX ±2.30% x66         d=-1.15% ±2.50%       p=0.98%
drawoverhead/81/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ many uniforms / 1 change:              XXX ±3.04% x65 -> XXX ±2.82% x66         d=-1.19% ±2.92%       p=2.13%
drawoverhead/48/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ many uniforms / 1 change:            XXX ±2.34% x65 -> XXX ±2.41% x66         d=-1.19% ±2.36%       p=0.47%
drawoverhead/17/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 8 UBOs change:                       XXX ±2.38% x65 -> XXX ±3.17% x66         d=-1.21% ±2.78%       p=1.44%
drawoverhead/107/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ 1 UBO change:                         XXX ±2.11% x65 -> XXX ±2.70% x66         d=-1.31% ±2.41%       p=0.23%
drawoverhead/18/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ few uniforms / 1 change:             XXX ±2.45% x65 -> XXX ±2.39% x66         d=-1.40% ±2.40%       p=0.12%
drawoverhead/4/DrawElements ( 1 VBO| 0 UBO| 16 Tex) w/ no state change:                      XXX ±2.78% x65 -> XXX ±1.98% x66         d=-1.49% ±2.40%       p=0.05%
drawoverhead/36/DrawElements (16 VBO| 8 UBO|  8 Tex) w/ vertex attrib change:                XXX±12.42% x65 -> XXX±13.03% x66        d=-1.58% ±12.63%      p=47.41%
drawoverhead/78/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ 1 UBO change:                          XXX ±1.93% x65 -> XXX ±2.66% x66         d=-1.73% ±2.30%       p=0.00%
drawoverhead/110/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ many uniforms / 1 change:             XXX ±3.02% x65 -> XXX ±2.28% x66         d=-1.81% ±2.66%       p=0.02%
drawoverhead/19/DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ many uniforms / 1 change:            XXX ±2.25% x65 -> XXX ±2.73% x66         d=-2.01% ±2.47%       p=0.00%
drawoverhead/109/DrawArrays (16 VBO| 8 UBO|  8 Tex) w/ few uniforms / 1 change:              XXX ±2.14% x65 -> XXX ±2.64% x66         d=-2.62% ±2.36%       p=0.00%
drawoverhead/80/DrawArrays ( 1 VBO| 8 UBO|  8 Tex) w/ few uniforms / 1 change:               XXX ±2.00% x65 -> XXX ±2.03% x66         d=-2.82% ±1.99%       p=0.00%

More detailed Piglit Drawoverhead results broken down by OPTIONAL micro-optimization coming up soon. [Edit: Done, see the individual commit messages for finer-grained performance results.]

Edited by Jordan Justen

Merge request reports