A couple of questions about how OpenGL uses textures across vertex and fragment shaders. I've been working on a materials system, and I'm currently implementing a simple list of textures that are in use, to reduce the number of texture binds done if sequential materials use the same textures. If I'm understanding this correctly, I've found that the vertex shader and fragment shader have access to different numbers of texture slots, however the information here seems to be self-contradictory:
https://www.khronos.org/opengl/wiki/Vertex_Texture_Fetch
GPUs that support VTF use the same TIUs as the fragment shader. This means that you can bind a texture to TIU 1 and sample that same texture in the vertex shader and also the fragment shader.
If in your VS and FS, you access the same texture, that counts like accessing 2 TIUs.
I don't understand why this would be the case, or how to work with it. If I wanted to use a texture in the vertex, I'd have to bind it to one of the slots accessible by the vertex shader, but there's some additional cost to then accessing it in the fragment shader as well? I'm hoping someone can clarify this, as these two points seem to be at odds with each other.