st/glsl_to_tgsi: fix atomic counter addressing
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 13 Oct 2016 10:36:42 +0000 (12:36 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Mon, 17 Oct 2016 17:09:42 +0000 (19:09 +0200)
commit1dd99a15a4e0ffeabe0d50cbb402045e8e34d875
tree6cd88e54feb44fb9f17269eb43af32b2ec5e8842
parent9d6f82320c8a7f0df10f0b7868d966be907e6b21
st/glsl_to_tgsi: fix atomic counter addressing

When more than one atomic counter buffer is in use, UniformStorage[n].opaque
is set up to contain indices that are contiguous across all used buffers.

This appears to be used by i965 via NIR, but for TGSI we do not treat atomic
counter buffers as opaque, so using the data in the opaque array is incorrect.

Fixes GL45-CTS.compute_shader.resource-atomic-counter.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_glsl_to_tgsi.cpp