The 14300 GLSL Top ignores your array type when you set an input array to Sampler Buffer. If I write: vec2 arrayVal = texelFetchBuffer(sBuffer,int(uResolution.b*gl_TexCoord[0].s)); I get error: implicit cast from “vec4” to “vec2”. but if I set arrayVal to vec4 it works fine. Not a major issue but it’s a little misleading.
All samplers always return a vec4. It’s just the way GLSL is defined. Even if you have a Red only channel sampler2D, it still returns a vec4 with (R, 0, 0, 1). The size parameter in the GLSL MAT/TOP controls how the data is filled in, but the return type of a samplerBuffer sampler can’t be changed. Sorry.