Radeon9000 (mobility) internal texture precision is 8 or 12 bit?

I have tryed to do 12bit tresholding on Radeon9000 mobility. Im using 3Dtexture with internal format GL_LUMINANCE12 and GL_ATI_fragment_shader to lookup this 3Dtexture. As 12bit lookup table Im using 2D RGBA8 texture with width 2048 height 2.
On GF FX and 4TI (using GL_NV_texture_shader and GL_ARB_fragment_program ) it works
nice and correct. But on R9000 after change exactly about 16 of theshold value,I see change of result image.
So internal my 3D texture is not LUMINANCE12 but LUMINANCE8.
I read on forum that R8500/9000 should have 12bit internal precision should it be because of mobility or some of my mistake?

I posted this quastion on beginners forum when this one was not available but unsuccessful. perhaps someone here can help me :slight_smile: ?


The R2xx chips do have a 12bit fixed point internal precision, but it’s only part of the fragment processing pipeline, and isn’t available as a texture format (AFAIK).

NitroGL is right. ATI’s R2xx chip does not support texture maps with precision higher than 8 bit. Higher precision is supported in the ATI R3xx chips (LUMINANCE16, RGBA16, …).

NVIDIA’s NV2x and NV3x chips support HILO and LUMINANCE16 3D textures.

  • Klaus