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

Mali 400 dumb questions

Dear ARM forum,

I am writing a OpenGLES2.0 based graphics application.

I am trying to find some quick answers to my questions.

1. what are all the compressed Texture formats Mali 400 support? (in  RGB and YUV )

2. what are all the uncompressed Texture formats Mali 400 support? (in  RGB and YUV )

3. What are all the frame-buffer output formats does Mali 400 support? (in  RGB and YUV)

Thanks,

Ravinder Are

  • Hi Ravinder,

    The Mali-400 GPU supports up to OpenGL ES 2.0.

    There are no compressed texture formats that are core in GLES2.0, however we do support ETC1 format for compressed textures.

    As for uncompressed, we support the formats described in the spec. Please look at the glTexImage2D man page for details.

    Regarding YUV support, this depends on the version of the DDK you have.

    Assuming Android...

    For input format support, using the GL_OES_EGL_image_external extension:

    r3p0:

    • HAL_PIXEL_FORMAT_YV12
    • HAL_PIXEL_FORMAT_YCrCb_420_SP

    r4p1-01rel0:

    • HAL_PIXEL_FORMAT_YCbCr_420_SP
    • HAL_PIXEL_FORMAT_YCbCr_420_P
    • HAL_PIXEL_FORMAT_YCbCr_422_I

    r7p0:

    • HAL_PIXEL_FORMAT_Y8
    • HAL_PIXEL_FORMAT_Y16

    For output format support:

    Render to texture, FBO - r7p0 - All of the above mentioned YUV formats.

    EGL recordable, Render to framebuffer:

    r3p0:

    • HAL_PIXEL_FORMAT_YV12

    r4p1-01rel0:

    • HAL_PIXEL_FORMAT_YCrCb_420_SP

    r5p1-01rel0:

    • HAL_PIXEL_FORMAT_YCbCr_420_SP

    r7p0:

    • HAL_PIXEL_FORMAT_YCbCr_420_P
    • HAL_PIXEL_FORMAT_YCbCr_422_I

    I hope that helped in answering your questions.

    Kind Regards,

    Michael McGeagh

  • Thanks Michael for your reply,

    I am using Linux OS, and  my Mali400 version is r5p1-01rel0.

    Could you please also list exactly for this.

    I am planning to do a VP only  PP only based stress test on my GPU, Could you suggest and share some test that are available freely. If I want to capture VP specific performance numbers  and PP specific performance numbers, what are all performance numbers do you suggest in interest.

    Thanks,

    Ravinder Are

  • Hi Ravinder,

    Specifically for Linux and r5p0, the list is:

    Input:

    • YV12 (YCrCb 4:2:0 Planar)
    • NV21 (YUV420, 2-plane)
    • NV12 (YUV420, 2-plane)
    • YV21 (YVU420, 3-plane)
    • YUY2 (YVU422, 1-plane)

    Output:

    Render to texture, FBO - Same as input

    EGL recordable, Render to framebuffer:

    • YV12 (YCrCb 4:2:0 Planar)
    • NV21 (YUV420, 2-plane)
    • NV12 (YUV420, 2-plane)

    Regarding stress testing, it sounds like you are wanting to create microbenchmarks. I am unfamiliar with public free microbenchmarks so have no suggestions to give.

    Hope that helps.

    Kind Regards,

    Michael McGeagh

  • Thanks Michael, for quick information.

    Could you please add the RGB formats as well.

    I see all you captured are YUV formats only.

  • All of the RGB formats are listed in the OpenGL ES 2.0 specification. There are lots of them, so not going to list them all here ...

    In additionwe support a few extra via extensions. See this list, particuarly GL_ARM_rgba8, GL_OES_rgb8_rgba8, GL_EXT_texture_format_BGRA8888:

    http://malideveloper.arm.com/learn-about-mali-hub/mali-utgard-architecture-extensions/

    HTH,
    Pete

  • Thanks Peter for the information.