Pixel Mapping

I have a problem with OpenGL glPixelMap
functions. I wrote a program with lines:

initial part:
float map[256]={0.0,0.0,…}
.
.
glPixelMapfv(GL_PIXEL_MAP_R_TO_R, 256, map);
glPixelMapfv(GL_PIXEL_MAP_G_TO_G, 256, map);
glPixelMapfv(GL_PIXEL_MAP_B_TO_B, 256, map);

.
.

rendering part:
.
.
glPixelTransferi(GL_MAP_COLOR,GL_TRUE);
glReadPixels(0, 0, image->sizeX, image->sizeX, GL_RGB, GL_UNSIGNED_BYTE, tmp);
glPixelTransferi(GL_MAP_COLOR,GL_FALSE);
.
.

I works well on old good Permedia2 (ELSA Gloria), but doesn’t on TNT, GeForce256, Intergraph’s Intense, and so on.

I have a problem with OpenGL glPixelMap
functions. I wrote a program with lines:
initial part:
float map[256]={0.0,0.0,…}
.
.
glPixelMapfv(GL_PIXEL_MAP_R_TO_R, 256, map);
glPixelMapfv(GL_PIXEL_MAP_G_TO_G, 256, map);
glPixelMapfv(GL_PIXEL_MAP_B_TO_B, 256, map);

.
.

rendering part:
.
.
glPixelTransferi(GL_MAP_COLOR,GL_TRUE);
glReadPixels(0, 0, image->sizeX, image->sizeX, GL_RGB, GL_UNSIGNED_BYTE, tmp);
glPixelTransferi(GL_MAP_COLOR,GL_FALSE);
.
.

I works well on old good Permedia2 (ELSA Gloria), but doesn’t on TNT, GeForce256, Intergraph’s Intense, and so on.
Where did I go wrong.