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%)