summaryrefslogtreecommitdiffstats
path: root/src/glx
diff options
context:
space:
mode:
authorGert Wollny <[email protected]>2018-06-05 22:26:36 +0200
committerGert Wollny <[email protected]>2018-08-11 12:32:42 +0200
commit568bda2f2d3a3c1bef172563941d36d35a91b5b7 (patch)
tree864c0e06221ce2c8139b4153d5633cdfe6c0060c /src/glx
parentb1cead3add3eb47be2505430051c51f5a7a803b8 (diff)
mesa/st/glsl_to_tgsi: Split arrays whose elements are only accessed directly
Array whose elements are only accessed directly are replaced by the according number of temporary registers. By doing so the otherwise reserved register range becomes subject to further optimizations like copy propagation and register merging. Thanks to the resulting reduced register pressure this patch makes the piglits spec/glsl-1.50/execution - variable-indexing/vs-output-array-vec3-index-wr-before-gs geometry/max-input-components pass on r600 (barts) where they would fail before with a "GPR limit exceeded" error (even with the spilling that was recently added). v2: * rename method dissolve_arrays to split_arrays * unify the tracking and remapping methods for src and dst registers * also track access to arrays via reladdr* v3: * enable this optimization only if the driver requests register merge v4: * Correct comments * Also update inst->resource if it is an array element (thanks: Benedikt Schemmer for testing the patches on radeonsi, which revealed that I was missing tracking this) Signed-off-by: Gert Wollny <[email protected]> Acked-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/glx')
0 files changed, 0 insertions, 0 deletions