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

Rendering using OpenGL ES 2.0/3.0 in a zero copy mode on MALI T628

Hi

I am looking for example / articles on how to perform updates to an Open GL ES texture (without using low Performing glTexSubImage2D approach) in a zero copy approach.

I am currently focused on odroid XU3 with MALI  T628 running ubuntu.

I studied and tried eglcreateImageKHR approach without success (I cannot create an eglImage: error EGL_BAD_PARAMETER is returned when using EGL_NATIVE_PIXMAP_KHRas a target).

I read that MALI driver has support for UMP data transfer, but I still need a reference to the inner buffer in a openGL ES texture.

Any help needed

Andrea

Parents
  • I tried fbdev user space driver on xu3.

    Issues:

    1) There is a unacceptable tear-off effect, even  with a very simple texture.

    2) no way to create an an EGLImage

    fbdev_pixmap pm;
    pm.height = HEIGHT;
    pm.width = WIDTH;
    pm.bytes_per_pixel = 32;
    pm.red_size = 8;
    pm.green_size = 8;
    pm.blue_size = 8;
    pm.alpha_size = 8;
    pm.luminance_size = 0;
    pm.flags = FBDEV_PIXMAP_SUPPORTS_UMP;
    pm.data = (unsigned short*)TexData;
    const EGLint img_attribs[] = {
    EGL_IMAGE_PRESERVED_KHR, EGL_TRUE,
    EGL_NONE
    };
    static EGLImageKHR g_eglImage = 0;
    if (g_eglImage)
    eglDestroyImageKHR(g_sEGLDisplay, g_eglImage);
    g_eglImage = eglCreateImageKHR(g_sEGLDisplay, EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, (EGLClientBuffer)&pm, img_attribs);
    EGLint eglError = eglGetError();  ==> 0x300c
Reply
  • I tried fbdev user space driver on xu3.

    Issues:

    1) There is a unacceptable tear-off effect, even  with a very simple texture.

    2) no way to create an an EGLImage

    fbdev_pixmap pm;
    pm.height = HEIGHT;
    pm.width = WIDTH;
    pm.bytes_per_pixel = 32;
    pm.red_size = 8;
    pm.green_size = 8;
    pm.blue_size = 8;
    pm.alpha_size = 8;
    pm.luminance_size = 0;
    pm.flags = FBDEV_PIXMAP_SUPPORTS_UMP;
    pm.data = (unsigned short*)TexData;
    const EGLint img_attribs[] = {
    EGL_IMAGE_PRESERVED_KHR, EGL_TRUE,
    EGL_NONE
    };
    static EGLImageKHR g_eglImage = 0;
    if (g_eglImage)
    eglDestroyImageKHR(g_sEGLDisplay, g_eglImage);
    g_eglImage = eglCreateImageKHR(g_sEGLDisplay, EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, (EGLClientBuffer)&pm, img_attribs);
    EGLint eglError = eglGetError();  ==> 0x300c
Children
No data