In plain GLSL, sampler and image types can only be declared
uniform-qualified global variables or 'in' function parameters.
Setting the read_only flag seems quite useless because other
checks will prevent sampler/image variables to be assigned and
also because the flag is not set for atomic_uint types which are
opaque types.
This will also help for ARB_bindless_texture because samplers
and images can be assigned when they are considered bindless.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
var->data.memory_coherent |= qual->flags.q.coherent;
var->data.memory_volatile |= qual->flags.q._volatile;
var->data.memory_restrict |= qual->flags.q.restrict_flag;
- var->data.read_only = true;
if (qual->flags.q.explicit_image_format) {
if (var->data.mode == ir_var_function_in) {
this->data.fb_fetch_output = false;
if (type != NULL) {
- if (type->is_sampler())
- this->data.read_only = true;
-
if (type->is_interface())
this->init_interface_type(type);
else if (type->without_array()->is_interface())