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

Marek Olšák maraeo at gmail.com
Tue Apr 17 17:25:47 UTC 2018


Your extension string is too short. This is what I have:

    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
    GL_APPLE_texture_max_level, GL_EXT_base_instance,
    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_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_memory_object,
    GL_EXT_memory_object_fd, 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_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects,
    GL_EXT_shader_integer_mix, GL_EXT_shader_io_blocks,
    GL_EXT_tessellation_point_size, GL_EXT_tessellation_shader,
    GL_EXT_texture_border_clamp, GL_EXT_texture_buffer,
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_cube_map_array,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888,
    GL_EXT_texture_rg, GL_EXT_texture_sRGB_decode,
    GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_unpack_subimage,
    GL_KHR_blend_equation_advanced, GL_KHR_context_flush_control,
    GL_KHR_debug, GL_KHR_no_error, GL_KHR_robust_buffer_access_behavior,
    GL_KHR_robustness, GL_MESA_shader_integer_functions,
GL_NV_draw_buffers,
    GL_NV_fbo_color_attachments, GL_NV_image_formats, GL_NV_read_buffer,
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil,
    GL_OES_EGL_image, *GL_OES_EGL_image_external*,
    GL_OES_EGL_image_external_essl3, GL_OES_EGL_sync,
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_copy_image, GL_OES_depth24,
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
    GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex,
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
    GL_OES_geometry_point_size, GL_OES_geometry_shader,
    GL_OES_get_program_binary, GL_OES_gpu_shader5, GL_OES_mapbuffer,
    GL_OES_packed_depth_stencil, GL_OES_primitive_bounding_box,
    GL_OES_required_internalformat, GL_OES_rgb8_rgba8,
GL_OES_sample_shading,
    GL_OES_sample_variables, GL_OES_shader_image_atomic,
    GL_OES_shader_io_blocks, GL_OES_shader_multisample_interpolation,
    GL_OES_standard_derivatives, GL_OES_stencil8,
GL_OES_surfaceless_context,
    GL_OES_tessellation_point_size, GL_OES_tessellation_shader,
    GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_buffer,
    GL_OES_texture_cube_map_array, GL_OES_texture_float,
    GL_OES_texture_float_linear, GL_OES_texture_half_float,
    GL_OES_texture_half_float_linear, GL_OES_texture_npot,
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array,
    GL_OES_vertex_array_object, GL_OES_vertex_half_float,
    GL_OES_viewport_array

Marek

On Tue, Apr 17, 2018 at 6:30 AM, Zong, Wei <wei.zong at intel.com> 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?
>
>
>
>
>
> 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> 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
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180417/03dcbb0d/attachment.html>


More information about the mesa-dev mailing list