summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/gallivm
diff options
context:
space:
mode:
authorJordan Justen <[email protected]>2015-10-19 23:13:09 -0700
committerJordan Justen <[email protected]>2015-10-22 00:36:37 -0700
commit627c15cde46a76e9bce4425646c5caba11788ec4 (patch)
tree7a9d7820ae9182160b4c78e380c6728f2317cb30 /src/gallium/auxiliary/gallivm
parent13a5805b646b19fd9c155d5c586ad1967d7d9e00 (diff)
i965/fs: Disable CSE optimization for untyped & typed surface reads
An untyped surface read is volatile because it might be affected by a write. In the ES31-CTS.compute_shader.resources-max test, two back to back read/modify/writes of an SSBO variable looked something like this: r1 = untyped_surface_read(ssbo_float) r2 = r1 + 1 untyped_surface_write(ssbo_float, r2) r3 = untyped_surface_read(ssbo_float) r4 = r3 + 1 untyped_surface_write(ssbo_float, r4) And after CSE, we had: r1 = untyped_surface_read(ssbo_float) r2 = r1 + 1 untyped_surface_write(ssbo_float, r2) r4 = r1 + 1 untyped_surface_write(ssbo_float, r4) Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/gallivm')
0 files changed, 0 insertions, 0 deletions