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.z...@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: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> 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 > 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