diff options
author | Eduardo Lima Mitev <[email protected]> | 2019-02-28 18:17:50 +0100 |
---|---|---|
committer | Eduardo Lima Mitev <[email protected]> | 2019-03-13 21:19:44 +0100 |
commit | 759ceda07e122e3b2cc7a5e44698f41accb5e92c (patch) | |
tree | b0e59baba2cd0cf7a710da914c090f806c27dd91 /src/gallium/drivers/iris | |
parent | 2e4525883f0744b0c8df9792ded597090a8ad987 (diff) |
ir3/lower_io_offsets: Try propagate SSBO's SHR into a previous shift instruction
While we lack value range tracking, this patch tries to 'manually' propogate
the division by 4 to calculate SSBO element-offset, into a possible previous
shift operation (shift left or right); checking that it is safe to do so.
This should help in cases like ie. when accessing a field in an array of
structs, where the offset is likely defined as base plus a multiplication
by a struct or array element size.
See dEQP test 'dEQP-GLES31.functional.ssbo.atomic.xor.highp_uint'
for an example of a shader that benefits from this.
Reviewed-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/iris')
0 files changed, 0 insertions, 0 deletions