extension support: (ARB_instanced_arrays, GL_ARB_draw_instanced)

111 views
Skip to first unread message

Reza Roboubi

unread,
Jan 18, 2013, 10:07:01 AM1/18/13
to native-cli...@googlegroups.com
How well does Chrome support OpenGL extensions on various hardware?

In particular, how can we know on which hardware instancing extensions
like these are supported:
ARB_instanced_arrays
GL_ARB_draw_instanced

Thanks a lot.

Reza.

Christian Stefansen

unread,
Jan 20, 2013, 1:13:08 PM1/20/13
to native-cli...@googlegroups.com
Hi Reza,

You can do something like this

      char *extensionList = (char *) glGetString(GL_EXTENSIONS);

and then check that the name of the extension you intend to use is present in extensionList. As an example, on my system I get the results below [1]. The GL_ANGLE_instanced_arrays extension seems to be the closest to what you need. I'll let the 3D programmers lurking on the list speak to the difference between that and the extensions you listed.

If your app requires OpenGL ES to work, do include a "3D" section under "requirements" in the Chrome Web Store manifest (see http://developer.chrome.com/extensions/manifest.html#requirements). Also make sure the app fails gracefully if it cannot obtain a 3D context or if the necessary extensions are not present.

Thanks,
Christian

[1] On my MacBook in Chrome 26.0.1388.0 I get "GL_ANGLE_translated_shader_source GL_CHROMIUM_async_pixel_transfers GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_command_buffer_query GL_CHROMIUM_command_buffer_latency_query GL_CHROMIUM_copy_texture GL_CHROMIUM_discard_backbuffer GL_CHROMIUM_get_error_query GL_CHROMIUM_lose_context GL_CHROMIUM_pixel_transfer_buffer_object GL_CHROMIUM_rate_limit_offscreen_context GL_CHROMIUM_resize GL_CHROMIUM_resource_safe GL_CHROMIUM_set_visibility GL_CHROMIUM_strict_attribs GL_CHROMIUM_stream_texture GL_CHROMIUM_texture_mailbox GL_EXT_debug_marker GL_OES_vertex_array_object GL_CHROMIUM_gpu_memory_manager GL_EXT_texture_compression_dxt1 GL_CHROMIUM_texture_compression_dxt3 GL_CHROMIUM_texture_compression_dxt5 GL_EXT_texture_filter_anisotropic GL_CHROMIUM_depth_texture GL_GOOGLE_depth_texture GL_OES_packed_depth_stencil GL_OES_element_index_uint GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_rgb8_rgba8 GL_OES_texture_npot GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_depth24 GL_OES_standard_derivatives GL_ARB_texture_rectangle GL_CHROMIUM_iosurface GL_EXT_occlusion_query_boolean GL_ANGLE_instanced_arrays GL_CHROMIUM_swapbuffers_complete_callback GL_CHROMIUM_flipy GL_CHROMIUM_map_sub GL_CHROMIUM_shallow_flush GL_EXT_unpack_subimage"




Reza.

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To post to this group, send email to native-cli...@googlegroups.com.
To unsubscribe from this group, send email to native-client-di...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/native-client-discuss?hl=en.




--
Christian Stefansen

Reza Roboubi

unread,
Jan 21, 2013, 10:01:32 PM1/21/13
to native-cli...@googlegroups.com
Many thanks for the reply Christian.  I did eventually find the GL_ANGLE_instanced_arrays extension.  I must apologize for not reporting that to the list.  I suspect the ANGLE extensions are a platform independent way of doing the same thing, considering that Chrome might even be running on top of DirectX etc.

However, if there are important differences between the ANGLE and the original ARB extensions, I would be grateful to hear from the 3D experts.

Many thanks,
Reza.

Reza Roboubi

unread,
Jan 21, 2013, 10:11:47 PM1/21/13
to native-cli...@googlegroups.com
BTW, putting chrome://gpu into the address bar also lists the available extensions on the actual underlying system(which is probably different from the list that Chrome supports.)  On my Ubuntu/Nvidia/Fermi, this returns the GL_ARB_instanced_arrays extension.

Reza.

Christian Stefansen

unread,
Jan 22, 2013, 7:10:59 PM1/22/13
to native-cli...@googlegroups.com
Hi Reza,

Just to repeat what was mentioned on the list about a week ago: about:gpu shows what extensions are available at driver level. The set of extensions available to Native Client is a subset.

Thanks,
Christian

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To post to this group, send email to native-cli...@googlegroups.com.
To unsubscribe from this group, send email to native-client-di...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/native-client-discuss?hl=en.



--
Christian Stefansen

Gregg Tavares

unread,
Jan 22, 2013, 8:27:51 PM1/22/13
to native-cli...@googlegroups.com
On Mon, Jan 21, 2013 at 7:01 PM, Reza Roboubi <rez...@gmail.com> wrote:
Many thanks for the reply Christian.  I did eventually find the GL_ANGLE_instanced_arrays extension.  I must apologize for not reporting that to the list.  I suspect the ANGLE extensions are a platform independent way of doing the same thing, considering that Chrome might even be running on top of DirectX etc.

However, if there are important differences between the ANGLE and the original ARB extensions, I would be grateful to hear from the 3D experts.


I believe the only difference in ANGLE_instanced_arrays at least one attribute must have a 0 divisor.. That's arguably not an important difference AFAICT as such a situation doesn't seem very useful.
Reply all
Reply to author
Forward
0 new messages