I am having some issues with cube map textures. Could you please help me in solving this out.

1) when I call glCopyTexSubImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i ,0,0,0,0,0,128,12, I am expecting half of each surface of cube texture replaces with the subtexture(from the framebuffer). where my originol texture array is 256x256 of size. If I call file_glCopyTexSubImage2D(GL_TEXTURE_CUBE_MAP_POSIT IVE_X + i ,0,0,0,0,0,256,256), the whole cube is replaced with the subtexture. I am not able to see old texture. which is correct behaviour I think.

Could you please tell me why it is like this? I am not ablr to change half of the cube map texture.

2) When I call glCompressedTexImage2D() or glcompressedtexsubimage2d for cubemap. I am expecting whole complete compressed Image data on each surface of cube. but It just using half of or part of compressed texture for rendering whole surface of cube.
I mean my compressed image is having scene with sky and trees, than on cube I am just getting sky only.... no trees.

Thanking you.