Skip to content

v3d: Don't load/store if rasterizer discard is enabled

What does this MR do and why?

v3d: Don't load/store if rasterizer discard is enabled

This moves the job load/store logic to the new helper v3d_update_job_load store. Then an early return is included so if the rasterizer discard is enabled, no load/stores are emitted because of the draw call.

This helps in situations where transform feedback is used and there is only interest in the geometry results. We identified that some jobs were not rendering at all, but they were having the performance cost of doing several loads and stores.

This generates a huge performance improvement on manhattan benchmarks.

fps_avg  helped:  gl_gfxbench_manhattan.trace:     8.37 -> 11.54 (37.85%)
fps_avg  helped:  gl_gfxbench_manhattan31.trace:   6.02 ->  7.51 (24.62%)

total fps_avg in affected (through threshold) runs: 14.39 -> 19.04 (32.32%)

Merge request reports

Loading