st/glsl_to_tgsi: set memory access type on image intrinsics

This is required to preserve the image variable's coherent/restrict/volatile
qualifiers in TGSI.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle 2016-03-12 21:47:35 -05:00
parent dfcf420412
commit 1c0cee8764
1 changed files with 7 additions and 0 deletions

View File

@ -3616,6 +3616,13 @@ glsl_to_tgsi_visitor::visit_image_intrinsic(ir_call *ir)
inst->image_format = st_mesa_format_to_pipe_format(st_context(ctx),
_mesa_get_shader_image_format(imgvar->data.image_format));
if (imgvar->data.image_coherent)
inst->buffer_access |= TGSI_MEMORY_COHERENT;
if (imgvar->data.image_restrict)
inst->buffer_access |= TGSI_MEMORY_RESTRICT;
if (imgvar->data.image_volatile)
inst->buffer_access |= TGSI_MEMORY_VOLATILE;
}
void