A buffer texture is not a GL_TEXTURE_1D texture. It is a buffer texture. It has its own special texture type (GL_TEXTURE_BUFFER), so it also has its own sampler type (samplerBuffer).
He was actually talking about the textlFetch() function, not texelFetchBuffer()
No such thing. OK, there is if you use EXT_gpu_shader4, but why would you want to do that?
In version 1.50 (and 1.40. And 1.30. Basically, the last two+ years), the texture functions no longer redundantly state what sampler they use. There is no “texelFetchBuffer” in core GLSL 1.50. There is only “texelFetch” which can take just about any sampler type.
This was the bit that I was basically missing, that older GLSL with the proper extension enabled the use of texelFetchXXXX() while more recent versions only accept texelFetch().
Not in front of my development computer right now but I believe nvidia drivers still tolerate texelFetchXXXX function names while AMD drivers do not.
As this way the first time I was looking at this, this confused me. AMD’s GLSL compiler has had and still has very serious bugs, so I sometimes question its behavior even when it is correct (and I know it sometimes sticks to the specs more than the nvidia compiler).