summaryrefslogtreecommitdiffstats
path: root/src/glx/dri2_glx.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2019-03-07 15:01:37 -0600
committerJason Ekstrand <[email protected]>2019-03-12 15:34:06 +0000
commit6d5d89d25a0a4299dbfcbfeca71b6c7e65ef3d45 (patch)
tree47ae49a676ffc842f2fc0139a55720acf423a61e /src/glx/dri2_glx.c
parent5ef2b8f1f2ebcdb4ffe5c98b3f4f48e584cb4b22 (diff)
intel/nir: Vectorize all IO
The IO scalarization pass that we run to help with linking end up turning some shader I/O such as that for tessellation and geometry shaders into many scalar URB operations rather than one vector one. To alleviate this, we now vectorize the I/O once again. This fixes a 10% performance regression in the GfxBench tessellation test that was caused by scalarizing. Shader-db results on Kaby Lake: total instructions in shared programs: 15224023 -> 15220871 (-0.02%) instructions in affected programs: 342009 -> 338857 (-0.92%) helped: 1236 HURT: 443 total spills in shared programs: 23471 -> 23465 (-0.03%) spills in affected programs: 6 -> 0 helped: 1 HURT: 0 total fills in shared programs: 31770 -> 31766 (-0.01%) fills in affected programs: 4 -> 0 helped: 1 HURT: 0 Cycles was just a lot of churn do to moves being different places. Most of the pure churn in instructions was +/- one or two instructions in fragment shaders. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107510 Fixes: 4434591bf56a "intel/nir: Call nir_lower_io_to_scalar_early" Fixes: 8d8222461f9d "intel/nir: Enable nir_opt_find_array_copies" Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/glx/dri2_glx.c')
0 files changed, 0 insertions, 0 deletions