render to a texture with dimensions > the egl window surface

I have created an egl surface using eglCreateWindowSurface() and I am trying to render a OpenGL ES texture to a framebuffer object. If the desired rendered texture dimensions are larger than the window surface dimensions the rendered texture attached to the FBO is spatially compressed to fit the surface dimensions. I would like the rendered texture to be the dimensions I specified when it was attached to FBO. How do I accomplish this? The only way I have been able to get this to work is to create pBuffer surface using eglCreatePbufferSurface() with the attributes matching the desired size of the rendered texture. Is this my only solution? Thanks

You can retrieve the height and width of your window surface by call eglQuerySurface(EGL_WIDTH/EGL_HEIGHT);
and you can restrict texture size by glViewport() before drawing to non default FBO.