#version 450 uniform struct S { sampler2D s; } si; void foo(sampler2D t) { texture(t, vec2(0.5)); } void barc(const S p) { foo(p.s); } void bar(S p) { foo(p.s); } void main() { barc(si); bar(si); }