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

I 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?