Hello everybody.
I am working on Mali-400 under linux. I want to create pixmap surface, but it always return EGL_BAD_MATCH error.
Here attribut list wich i use for eglChooseConfig
EGLint EGLRuntime::configAttributes[] = { /* DO NOT MODIFY. */ /* These attributes are in a known order and may be re-written at initialization according to application requests. */ EGL_SAMPLES, 0, EGL_ALPHA_SIZE, 0, EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, EGL_BUFFER_SIZE, 32, EGL_STENCIL_SIZE, 0, EGL_RENDERABLE_TYPE, 0, EGL_SURFACE_TYPE, EGL_PIXMAP_BIT , EGL_DEPTH_SIZE, 24, EGL_NONE };
Here pixmap structure
typedef struct fbdev_pixmap { unsigned int height; unsigned int width; unsigned int bytes_per_pixel; unsigned char buffer_size; unsigned char red_size; unsigned char green_size; unsigned char blue_size; unsigned char alpha_size; unsigned char luminance_size; fbdev_pixmap_flags flags; unsigned short *data; } fbdev_pixmap; fbdev_pixmap tempPixMap; tempPixMap.height = windowH; tempPixMap.width = windowW; tempPixMap.buffer_size = 32; tempPixMap.red_size = 8; tempPixMap.green_size = 8; tempPixMap.blue_size = 8; tempPixMap.alpha_size = 0; tempPixMap.data = (unsigned short *)BitMapPtr; tempPixMap.flags = FBDEV_PIXMAP_SUPPORTS_UMP;
Here eglCreatePixmapSurface function call
surface = eglCreatePixmapSurface(display, config, (EGLNativePixmapType)(&tempPixMap), NULL);
What i am doing wrong?
Thanks.
Hi Ako6, could you read back the gpu result from pixmapHandle in this way?