Thanks!!!
I looked at XCopyArea, it says both drawables to be of same root window, my drawable is window.
I did one thing now by creating a XcreatepixmapfromBitmap, then copying, but it looks it would be very costly. My code architecture is such that i can use window only as drawable. So looking out for some thing which can directly copy the data into this window.

I dug up a Green Book ("OpenGL Programming for the X Window System") and it describes rendering into XPixmaps (not what you want exactly, but potentially useful).

Basically, glXCreateContext, XCreatePixmap to create an XPixmap, pass that to glXCreateGLXPixmap to create a GLXPixmap wrapper around the XPixmap, and then glXMakeCurrent on the GLXPixmap to make it active for rendering.

You might be able to use this to copy window data off to a PBO or somewhere, switch to the GLXPixmap, and then copy the data back to it. Or possibly copy between contexts with sharing enabled.

Thanks!!!...
i am trying by making making current context to GLX ,at that time my process is giving a segmentation fault.
I also tried by creating a ximage and then putting that image into the pixmap and then doing a xcopy to the window, but my xcopy is giving a bad request.

Are you certain than the pmap and glxpmap returned values are valids ?
(the requested vi->depth can for example not to be handled by the XCreatePixmap and/or GLXCreateGLXPixmap funcs)
[I doubt that this can be this but in case of ...]