No. CUDA has no direct access to anything inside an OpenGL context. Only PBOs can be mapped to linear memory CUDA buffers. So you need to copy the framebuffer to a PBO and map that one to a CUDA buffer. As CUDA and OpenGL live in different contexts, the mapping involves another copy.