Intel GMA HD and OpenGL

Unbelievable thing just happened. Intel upgraded their GMA drivers and it seems most OpenGL apps work more or less fine. Bravo!

Please, could you provide us with the list of GL extensions supported by the latest Intel’s drivers?

Here’s the latest release notes but they didn’t provide much information on extensions:
http://downloadmirror.intel.com/20391/eng/relnotes_gfx_2509.pdf

OpenGL driver enhanced with combination of one new extension, performance optimizations, and fixes to enable and/or improve user experience. The following applications benefit from these enhancements:

btw, OpenGl Extensions Viewer still doesn’t work fine

Would you execute this application, press Save button and post the results?

Intel claims GL 3.0 is supported. I would really like to see the extension list.

Thank you!

here you go:

OpenGL version: 2.1.0 - Build 8.15.10.2509
Vendor: Intel
Renderer: Intel(R) HD Graphics
DLL:
Device:

OpenGL 1.2: [ 100% - 8/8 ]
OpenGL 1.3: [ 88% - 8/9 ]
OpenGL 1.4: [ 93% - 14/15 ]
OpenGL 1.5: [ 100% - 3/3 ]
OpenGL 2.0: [ 100% - 9/9 ]
OpenGL 2.1: [ 100% - 2/2 ]
OpenGL 3.0: [ 66% - 14/21 ]
OpenGL 3.1: [ 85% - 6/7 ]
OpenGL 3.2: [ 55% - 5/9 ]
OpenGL 3.3: [ 10% - 1/10 ]
OpenGL 4.0: [ 0% - 0/13 ]
OpenGL 4.1: [ 0% - 0/11 ]
OpenGL 4.2: [ 0% - 0/11 ]
Spec score: [ 62% - 70/113 ]
Func score: [ 111/491 ]

Not implemented extensions in OpenGL 1.2:


Not implemented extensions in OpenGL 1.3:

GL_ARB_multisample


Not implemented extensions in OpenGL 1.4:

GL_ARB_texture_mirrored_repeat


Not implemented extensions in OpenGL 1.5:


Not implemented extensions in OpenGL 2.0:


Not implemented extensions in OpenGL 2.1:


Not implemented extensions in OpenGL 3.0:

GL_EXT_gpu_shader4

GL_NV_depth_buffer_float

GL_NV_half_float

GL_EXT_framebuffer_multisample

GL_EXT_texture_integer

GL_EXT_texture_compression_rgtc

GL_EXT_framebuffer_sRGB


Not implemented extensions in OpenGL 3.1:

GL_ARB_texture_buffer_object


Not implemented extensions in OpenGL 3.2:

GL_ARB_fragment_coord_conventions

GL_ARB_provoking_vertex

GL_ARB_texture_multisample

GL_ARB_geometry_shader4


Not implemented extensions in OpenGL 3.3:

GL_ARB_shading_language_include

GL_ARB_blend_func_extended

GL_ARB_explicit_attrib_location

GL_ARB_occlusion_query2

GL_ARB_shader_bit_encoding

GL_ARB_texture_rgb10_a2ui

GL_ARB_texture_swizzle

GL_ARB_timer_query

GL_ARB_vertex_type_2_10_10_10_rev


Not implemented extensions in OpenGL 4.0:

GL_ARB_draw_buffers_blend

GL_ARB_sample_shading

GL_ARB_texture_cube_map_array

GL_ARB_texture_gather

GL_ARB_texture_query_lod

GL_ARB_draw_indirect

GL_ARB_gpu_shader5

GL_ARB_gpu_shader_fp64

GL_ARB_shader_subroutine

GL_ARB_tessellation_shader

GL_ARB_texture_buffer_object_rgb32

GL_ARB_transform_feedback2

GL_ARB_transform_feedback3


Not implemented extensions in OpenGL 4.1:

GL_ARB_ES2_compatibility

GL_ARB_get_program_binary

GL_ARB_separate_shader_objects

GL_ARB_shader_precision

GL_ARB_vertex_attrib_64bit

GL_ARB_viewport_array

WGL_ARB_create_context_robustness

GL_ARB_cl_event

GL_ARB_debug_output

GL_ARB_robustness

GL_ARB_shader_stencil_export


Not implemented extensions in OpenGL 4.2:

GL_ARB_base_instance

GL_ARB_shading_language_420pack

GL_ARB_transform_feedback_instanced

GL_ARB_compressed_texture_pixel_storage

GL_ARB_conservative_depth

GL_ARB_internalformat_query

GL_ARB_map_buffer_alignment

GL_ARB_shader_atomic_counters

GL_ARB_shader_image_load_store

GL_ARB_shading_language_packing

GL_ARB_texture_storage


EXT:

GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_blend_color
GL_EXT_abgr
GL_EXT_texture3D
GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array
GL_SGIS_texture_edge_clamp
GL_SGIS_generate_mipmap
GL_EXT_draw_range_elements
GL_SGIS_texture_lod
GL_EXT_rescale_normal
GL_EXT_packed_pixels
GL_EXT_texture_edge_clamp
GL_EXT_separate_specular_color
GL_ARB_multitexture
GL_EXT_texture_env_combine
GL_EXT_bgra
GL_EXT_blend_func_separate
GL_EXT_secondary_color
GL_EXT_fog_coord
GL_EXT_texture_env_add
GL_ARB_texture_cube_map
GL_ARB_transpose_matrix
GL_ARB_texture_env_add
GL_IBM_texture_mirrored_repeat
GL_EXT_multi_draw_arrays
GL_NV_blend_square
GL_ARB_texture_compression
GL_3DFX_texture_compression_FXT1
GL_EXT_texture_filter_anisotropic
GL_ARB_texture_border_clamp
GL_ARB_point_parameters
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_texture_env_crossbar
GL_EXT_texture_compression_s3tc
GL_ARB_shadow
GL_ARB_window_pos
GL_EXT_shadow_funcs
GL_EXT_stencil_wrap
GL_ARB_vertex_program
GL_EXT_texture_rectangle
GL_ARB_fragment_program
GL_EXT_stencil_two_side
GL_ATI_separate_stencil
GL_ARB_vertex_buffer_object
GL_EXT_texture_lod_bias
GL_ARB_occlusion_query
GL_ARB_fragment_shader
GL_ARB_shader_objects
GL_ARB_shading_language_100
GL_ARB_texture_non_power_of_two
GL_ARB_vertex_shader
GL_NV_texgen_reflection
GL_ARB_point_sprite
GL_ARB_fragment_program_shadow
GL_EXT_blend_equation_separate
GL_ARB_depth_texture
GL_ARB_texture_rectangle
GL_ARB_draw_buffers
GL_ARB_color_buffer_float
GL_ARB_half_float_pixel
GL_ARB_texture_float
GL_ARB_pixel_buffer_object
GL_EXT_framebuffer_object
GL_ARB_draw_instanced
GL_ARB_half_float_vertex
GL_EXT_draw_buffers2
GL_WIN_swap_hint
GL_EXT_texture_sRGB
GL_EXT_packed_float
GL_EXT_texture_shared_exponent
GL_ARB_texture_rg
GL_ARB_texture_compression_rgtc
GL_NV_conditional_render
GL_EXT_texture_swizzle
GL_ARB_sync
GL_ARB_framebuffer_sRGB
GL_EXT_packed_depth_stencil
GL_ARB_depth_buffer_float
GL_EXT_transform_feedback
GL_EXT_framebuffer_blit
GL_ARB_framebuffer_object
GL_EXT_texture_array
GL_ARB_map_buffer_range
GL_EXT_texture_snorm
GL_INTEL_performance_queries
GL_ARB_copy_buffer
GL_ARB_sampler_objects
GL_NV_primitive_restart
GL_ARB_seamless_cube_map
GL_ARB_uniform_buffer_object
GL_ARB_depth_clamp
GL_ARB_vertex_array_bgra
GL_ARB_draw_elements_base_vertex
GL_EXT_gpu_program_parameters
GL_ARB_compatibility
GL_ARB_vertex_array_object

WGL:

WGL_EXT_depth_float
WGL_ARB_buffer_region
WGL_ARB_extensions_string
WGL_ARB_make_current_read
WGL_ARB_pixel_format
WGL_ARB_pbuffer
WGL_EXT_extensions_string
WGL_EXT_swap_control
WGL_ARB_pixel_format_float
WGL_ARB_framebuffer_sRGB
WGL_ARB_create_context
WGL_EXT_pixel_format_packed_float

Thank you, maru00!

It is strange that you don’t have support for multisampling.
Five extensions are missing (compared to Geeks3D’s report):

  • GL_ARB_multisample
  • GL_EXT_framebuffer_multisample
  • GL_EXT_texture_integer
  • GL_ARB_fragment_coord_conventions
  • WGL_ARB_multisample

All in all, Intel’s support for OpenGL is much better now, but still many extensions even from 3.0 are not supported. It is great that ARB_sync is supported, but pity ARB_timer_query is not.

Hello. I read through this thread after trying to run an openGL application which failed to launch because it required the extension GL_EXT_bindable_uniform.

I have installed the latest Intel drivers, and openGL Extension Viewer lists more or less the same extensions that were posted above - obviously missing GL_EXT_bindable_uniform.

I attempted to research this particular extension, and found out that it interacts with GL_EXT_geometry_shader4 (also not listed in Extension Viewer). Someone on the Intel forums said that the Intel HD graphics supports Shader Model 4 (which I assume the geometry_shader4 extension refers to), so I’m a little confused.

My question is, is this EXT_bindable_uniform something that is possible to get with Intel HD graphics? Is it likely to ever show up with future drivers, or is the hardware incapable? I’d appreciate any clarification. Thanks for your time.

EXT_geometry_shader4 and EXT_bindable_uniform are early versions of the geometry shader and uniform buffer functionality supported by OpenGL 3.2 and exposed as ARB_geometry_shader4 and ARB_uniform_buffer_object.

The features in core OpenGL, the ARB and the EXT extensions are not functionally the same but expose the same hardware.

Actually supporting the EXT versions of the features is not a must thus I think it is unlikely it is supported by Intel.

What application are you trying to use? It should be some old one, considering it uses the “ancient” EXT extensions.

Wow, incredibly fast reply - thank you.

It’s actually not an old application at all, but a brand new one: The Foundry’s Mari 1.4: http://www.thefoundry.co.uk/products/mari/

Now, I completely understand that trying to run a production graphics application that is meant to run on Fermi Quadros and the like on an integrated Intel graphics chip is kind of stupid, but I was hoping to be able to install this on my laptop for times when I am away from my workstation. Considering that the Intel HD 3000 is openGL 3.0 compliant and can use up to 1.7GB of RAM (confirmed by my graphics driver’s properties window) gave me slight hopes that this would be possible.

OpenGL Extension Viewer also doesn’t list ARB_geometry_shader4 or ARB_uniform_buffer_object. Not sure if that is important or what you meant at all, as I don’t completely grasp all this extension stuff (obviously). Is there anything I can do? Is there any point in checking future drivers for these extensions?

Thank you for your help and quick response. Would really love to get this software running. Cheers.

EDIT: I’d also be happy to provide the list of extensions that the viewer lists if you think it might help at all. Thanks, again.

Unfortunately, if your driver does not support those extensions then it is very unlikely you will be able to run the application.

What I wanted to point out with the extensions mentioned is that there is more standard way to use those hardware features than the EXT extensions and even if Intel will have OpenGL 3.2 support they may decide that they don’t want to implement the EXT extensions as they are not part of the standard and as such it is very unlikely that the application will run on Intel even with a new driver that finally adds better support for OpenGL 3.x.

Ah, I understand now. Thank you very much for explaining it to me. Strange that one of the leaders in visual effects software creation (it comes from Weta Digital - you know, Lord of the Rings, Avatar, etc.) would stray from the standards. It was a long shot, anyway. I appreciate your time and help. Cheers.

No offence but WETA probably have better PCs than you. :wink:

Another point for Intel: VRay RT (real time preview of a rendered image with gi, raytracing and other effects) works fine. It’s a little slow and overheats my cpu/gpu but it does work.

Oh, of course. Like I said, the software is really designed to be run on higher level Quadro cards - I was just hoping that it would at least launch on my laptop.

The fact that it ran with VrayRT and other GPU renderers just served to make me get my hopes up. Alas, I’ll just have to run it on a machine whose graphics card alone cost more than my laptop. Thanks for the input.

On the Mari Systems requirement page, it notes that only Nvidia cards are supported. This suggests that it uses CUDA, leaving AMD and Intel out in the cold.

I must admin that now with latest drivers and latest version of OpenGL extension viewer all tests are passed, even OpenGL 2.1. Cool.