Hi;

On 17.04.2018 13:30, Zong, Wei wrote:
Hi Marek,

Thanks for your help. Now I can use GL extension“*GL_OES_EGL_image_external*” to load and render NV12 image, it works well on my platform (Broxton).

To ensure using this extension correctly on any platform, I checked for supported OpenGL extensions by glGetString() function, and printed out the list of supported extensions. Unfortunately, I did not find “*GL_OES_EGL_image_external*” in the list.

GL EXTENSIONS:

GL_EXT_debug_marker GL_ANDROID_extension_pack_es31a GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_texture_max_level GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_buffer_storage GL_EXT_clip_cull_distance GL_EXT_color_buffer_float GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_frag_depth GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_gpu_shader5 GL_EXT_map_buffer_range GL_EXT_multi_draw_arrays GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_io_blocks GL_EXT_shader_ samples_identical GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_EXT_texture_border_clamp

I also printed out the GL information of my platform I’m using:

GL_VENDOR: Intel Open Source Technology Center

GL_RENDERER: Mesa DRI Intel(R) HD Graphics 505 (Broxton)

GL_VERSION: OpenGL ES 3.2 Mesa 18.1.0-devel (git-d63719023b)

GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.20

Could you please give me a hint if I made something wrong to query the extension name string “*GL_OES_EGL_image_external*” from GL?

Are you somehow parsing the returned string? Maybe there is some issue with that part of the app code, try to just print string as it is or use strstr on that string directly. On my Kabylake I get a list of 111 supported extensions with ES 3.2 and the list contains GL_OES_EGL_image_external as well as GL_OES_EGL_image_external_essl3.


Thanks,

Zong Wei

*From:*Marek Olšák [mailto:mar...@gmail.com]
*Sent:* Tuesday, March 20, 2018 9:42 AM
*To:* Zong, Wei <wei.z...@intel.com>
*Cc:* mesa-dev@lists.freedesktop.org
*Subject:* Re: [Mesa-dev] Create texture2D from NV12

The only way is to use GL_OES_EGL_image_external to load an NV12 image. kmscube does that.

Marek

On Fri, Mar 16, 2018 at 4:10 AM, Zong, Wei <wei.z...@intel.com <mailto:wei.z...@intel.com>> wrote:

    Hello,

    May I ask a question? I got a NV12 image buffer and I want to render
    it with OpenGL. I know a method to do this is to bind Y/UV planes as
    two separate textures, then perform YUV to RGB conversion in
    fragment shader.

    But I want to know if Mesa provide APIs to create and bind a texture
    2D image with NV12 format directly?

    Thanks,

    Zong Wei


    _______________________________________________
    mesa-dev mailing list
    mesa-dev@lists.freedesktop.org <mailto:mesa-dev@lists.freedesktop.org>
    https://lists.freedesktop.org/mailman/listinfo/mesa-dev



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to