[Mesa-dev] Query GL extensions (“GL_OES_EGL_image_external” ) RE: Create texture2D from NV12

Zong, Wei wei.zong at intel.com
Wed Apr 18 03:15:17 UTC 2018


Marek & Palli, I parsed the returned GL extensions string, it sure contains " GL_OES_EGL_image_external ". I made a mistake by looking up log manually before, the string must be truncated by log length limitation.

Thank you very much!

Zong Wei

-----Original Message-----
From: Palli, Tapani 
Sent: Tuesday, April 17, 2018 11:55 PM
To: Zong, Wei <wei.zong at intel.com>; 'Marek Ol?ák' <maraeo at gmail.com>; mesa-dev at lists.freedesktop.org
Subject: Re: [Mesa-dev] Query GL extensions (“GL_OES_EGL_image_external” ) RE: Create texture2D from NV12

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:maraeo at gmail.com]
> *Sent:* Tuesday, March 20, 2018 9:42 AM
> *To:* Zong, Wei <wei.zong at intel.com>
> *Cc:* mesa-dev at 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.zong at intel.com 
> <mailto:wei.zong at 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 at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
> 
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list