I am fairly new to OpenGLES on managed Windows Mobile so please forgive me for any lame questions.

In my .NET Compact Framework application I have some OpenGL ES drawing. I am using OpenGL ES wrapper by http://www.koushikdutta.com/2008/08/net ... r-for.html. I am testing my applicaiton on HTC Touch HD (Blackstone). Everything works as expected when rendering on window (some Panel subclass). Since I have some additional drawing with GDI+ after OpenGLES rendering I wish to eliminate flicker by double buffering. OpenGLES is to render to backbuffer (pixmap surface), after that use GDI+ for some additional drawing on backbuffer and finaly draw backbuffer on screen.
I presumed I need to create pixmapsurface based on nativepixmap for backuffer OpenGLES rendering, but I have problems choosing configuration with EGL_PIXMAP_BIT set. I have iterated through all configs (20 of them) and there are indeed some of them with EGL_PIXMAP_BIT.

Here is my init code:

Code :
EGLConfig[] configs = new EGLConfig[50];
            int numConfig;
            int value = 0;
            bool retVal = egl.GetConfigs(myDisplay, configs, 50, out numConfig);
Returns 20 configs.
Code :
            Bitmap bmp = new Bitmap(256,256);
            int error = 0;
            for(int i=0 ; i<numConfig ; i++)
            {
                egl.GetConfigAttrib(myDisplay, configs[i], egl.EGL_SURFACE_TYPE, out value);
                if (value == egl.EGL_PIXMAP_BIT)
                {
Finds several surfaces with EGL_PIXMAP_BIT set.
Code :
                    mySurface = egl.CreatePixmapSurface(myDisplay, configs[i], new EGLNativePixmapType(bmp.GetHbitmap()), null);
Generates Not Supported Exception
Code :
                    error = egl.GetError();
                }
            }
            int[] attribList = new int[] 
            { 
                egl.EGL_RED_SIZE, 5, 
                egl.EGL_GREEN_SIZE, 6, 
                egl.EGL_BLUE_SIZE, 5, 
                egl.EGL_DEPTH_SIZE, 0 , 
                egl.EGL_SURFACE_TYPE, egl.EGL_PIXMAP_BIT,
                egl.EGL_STENCIL_SIZE, egl.EGL_DONT_CARE,
                egl.EGL_NONE, egl.EGL_NONE 
            };
 
 
 
            retVal = egl.ChooseConfig(myDisplay, attribList, configs, configs.Length, out numConfig);
Strangely returns 0 confirs in numConfig.
Code :
            if (!retVal || numConfig < 1)
                error = egl.GetError();
error is 12288, EGL_SUCCESS?
Code :
            error = egl.GetError();
 
            EGLConfig config = configs[0];