GeForce 2 GTS Texture Units

Hi @ll!

I have got a question, NVIDIA says that GTS has got 4 texture pipelines with 2 texture units each. But when I question the OpenGL driver via:
glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &NumTMUs);

I allways get 2, this means that under OpenGL, currently only 2 texture pipelines are active / can be used.

Is this a driver problem, or has NVIDIA not implemented support for all texture pipelines? Or what´s wrong with that?

Diapolo

Nothing wrong with the driver.
The result gives you the maximum number of textures which can be applied in one step, in other words the number of allowed GL_TEXTURE?_ARB defines, here 0 and 1.
The four pipelines in the chip are working with the two textures simultaneously giving you four dual-textured pixels per step in the best case.

I dont know if I got that right, I allways thought with:

glActiveTextureARB(GL_TEXTURE0_ARB);
glEnable(GL_TEXTURE_2D);

I would enable a texture pipeline / unit, or?

Now the number of 2 I get tells me, that only
GL_TEXTURE0_ARB and GL_TEXTURE1_ARB are useable. But with GeForce and GeForce2 GTS I have got 4 pipelines with 2 units each, why can´t I use GL_TEXTURE3_ARB and GL_TEXTURE4_ARB?

Perhaps you can try to make it really clear :-)!

Diapolo

What I was trying to say is, that the number of pipelines in the chip are not exposed to the OpenGL interface, only the number of texture units.
So it is not of your choice how many or which specific pipelines in the chip are used at any moment in time. The only thing necessary to know is how many textures you can apply in a single step and that is two in your case.
Be happy with a massive fillrate of 4 pixels per clock with two textures applied in one clock

Oh, I see … now it´s clear!
Thanks ;-))!

GTS RULEZ g!

Diapolo