This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

eglCreatePixmapSurface for Mali-400 under linux

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.

Parents Reply Children