Intel GMA Driver 8.15.10.2509, OpenGL Extensions (Quick Test)

GIGABYTE H67 mainboard, Intel Core i5 / HD 2000 GPU

I took the time this morning to replug my GIGABYTE H67 mobo to test the latest Intel GMA (Graphics Media Accelerator) driver version 15.22.50.64.2509. You can download it here: Intel GMA for Win7/Vista 64-bit.

The CPU is a Sandy Bridge Core i5 2400 with a HD 2000 GPU.

The v8.15.10.2509 driver exposes OpenGL 3.1 API but partially: GL_ARB_draw_instanced, GL_ARB_copy_buffer, GL_NV_primitive_restart, GL_ARB_texture_rectangle and GL_ARB_uniform_buffer_object are exposed whereas GL_ARB_texture_buffer_object is not exposed.

Some OpenGL 3.3 features such as GL_ARB_sampler_objects (see this page for a tutorial) are present 😉

Currently, 116 OpenGL extensions (GL=103 and WGL=13) are exposed. See the end of the post for the complete list of OpenGL extensions. For comparison, latest NVIDIA R285.27 exposes 290 extensions and latest AMD Catalyst 11.8 Preview 2 exposes 231 extensions.

Intel Core i5 / HD 2000 GPU, GPU Caps Viewer, OpenGL support
GPU Caps Viewer (v1.14.1 not released yet)

Intel Core i5 / HD 2000 GPU, GPU Caps Viewer, OpenGL support

GPU Caps Viewer OpenGL 3 and OpenGL 2 demos run fine (slow but fine!) on the HD 2000 GPU.

Intel Core i5 / HD 2000 GPU, GPU Caps Viewer demos

I also tested MSI Kombustor D3D9 and D3D10 rendering and DX9 / DX10 support seem correct.

Intel Core i5 / HD 2000 GPU, GPU Caps Viewer demos

Here are the 116 OpenGL extensions exposed by Intel GMA 8.15.10.2509 driver (Win7 64-bit, HD 2000 GPU):

  • 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_ARB_multisample
  • 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_EXT_framebuffer_multisample
  • GL_ARB_framebuffer_object
  • GL_EXT_texture_array
  • GL_EXT_texture_integer
  • 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_ARB_fragment_coord_conventions
  • GL_EXT_gpu_program_parameters
  • GL_ARB_compatibility
  • GL_ARB_vertex_array_object
  • 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_multisample
  • WGL_ARB_pixel_format_float
  • WGL_ARB_framebuffer_sRGB
  • WGL_ARB_create_context
  • WGL_EXT_pixel_format_packed_float

Here are some caps reported by GPU Caps Viewer:

  • GL_MAX_LIST_NESTING: 64
  • GL_MAX_EVAL_ORDER: 32
  • GL_MAX_LIGHTS: 8
  • GL_MAX_CLIP_PLANES: 6
  • GL_MAX_TEXTURE_SIZE: 8192
  • GL_MAX_PIXEL_MAP_TABLE: 65536
  • GL_MAX_ATTRIB_STACK_DEPTH: 16
  • GL_MAX_MODELVIEW_STACK_DEPTH: 32
  • GL_MAX_NAME_STACK_DEPTH: 128
  • GL_MAX_PROJECTION_STACK_DEPTH: 4
  • GL_MAX_TEXTURE_STACK_DEPTH: 10
  • GL_MAX_VIEWPORT_DIMS: 8192
  • GL_MAX_CLIENT_ATTRIB_STACK_DEPTH: 16
  • GL_MAX_3D_TEXTURE_SIZE: 2048
  • GL_MAX_ELEMENTS_VERTICES: 1200
  • GL_MAX_ELEMENTS_INDICES: 1200
  • GL_MAX_TEXTURE_UNITS: 8
  • GL_MAX_CUBE_MAP_TEXTURE_SIZE: 8192
  • GL_MAX_TEXTURE_LOD_BIAS: 15
  • GL_MAX_DRAW_BUFFERS: 8
  • GL_MAX_VERTEX_ATTRIBS: 16
  • GL_MAX_TEXTURE_COORDS: 8
  • GL_MAX_TEXTURE_IMAGE_UNITS: 16
  • GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: 1024
  • GL_MAX_VERTEX_UNIFORM_COMPONENTS: 512
  • GL_MAX_VARYING_FLOATS: 41
  • GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 16
  • GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 16
  • GL_MAX_TEXTURE_COORDS: 8
  • GL_MAX_CLIP_DISTANCES: 6
  • GL_MAX_ARRAY_TEXTURE_LAYERS: 256
  • GL_MAX_VARYING_COMPONENTS: 41
  • GL_MIN_PROGRAM_TEXEL_OFFSET: 0
  • GL_MAX_PROGRAM_TEXEL_OFFSET: 0
  • GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: 4
  • GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: 64
  • GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: 4
  • GL_MAX_RENDERBUFFER_SIZE: 4096
  • GL_MAX_COLOR_ATTACHMENTS: 8
  • GL_MAX_SAMPLES: 4
  • GL_MAX_RECTANGLE_TEXTURE_SIZE: 8192
  • GL_MAX_TEXTURE_BUFFER_SIZE: 65536
  • GL_MAX_VERTEX_UNIFORM_BLOCKS: 12
  • GL_MAX_FRAGMENT_UNIFORM_BLOCKS: 12
  • GL_MAX_COMBINED_UNIFORM_BLOCKS: 24
  • GL_MAX_UNIFORM_BUFFER_BINDINGS: 24
  • GL_MAX_UNIFORM_BLOCK_SIZE: 16384
  • GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 1
  • GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 1
  • GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: 0
  • GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: 0
  • GL_MAX_GEOMETRY_OUTPUT_VERTICES: 0
  • GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: 0
  • GL_MAX_VERTEX_OUTPUT_COMPONENTS: 0
  • GL_MAX_GEOMETRY_INPUT_COMPONENTS: 0
  • GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: 0
  • GL_MAX_FRAGMENT_INPUT_COMPONENTS: 0
  • GL_MAX_VARYING_COMPONENTS: 41
  • GL_MAX_SERVER_WAIT_TIMEOUT: 0
  • GL_MAX_SAMPLE_MASK_WORDS: 1
  • GL_MAX_COLOR_TEXTURE_SAMPLES: 4
  • GL_MAX_DEPTH_TEXTURE_SAMPLES: 4
  • GL_MAX_INTEGER_SAMPLES: 4
  • GL_MAX_DUAL_SOURCE_DRAW_BUFFERS: 0
  • GL_MIN_SAMPLE_SHADING_VALUE: 0
  • GL_MAX_GEOMETRY_SHADER_INVOCATIONS: 0
  • GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: 0
  • GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: 0
  • GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: 0
  • GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: 0
  • GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS: 0
  • GL_MAX_VERTEX_STREAMS: 0
  • GL_MAX_SUBROUTINES: 0
  • GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS: 0
  • GL_MAX_PATCH_VERTICES: 0
  • GL_MAX_TESS_GEN_LEVEL: 0
  • GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: 0
  • GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: 0
  • GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: 0
  • GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: 0
  • GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: 0
  • GL_MAX_TESS_PATCH_COMPONENTS: 0
  • GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: 0
  • GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: 0
  • GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: 0
  • GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: 0
  • GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: 0
  • GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: 0
  • GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: 0
  • GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: 0
  • GL_MAX_TRANSFORM_FEEDBACK_BUFFERS: 0
  • GL_MAX_VERTEX_UNIFORM_VECTORS: 0
  • GL_MAX_VARYING_VECTORS: 0
  • GL_MAX_FRAGMENT_UNIFORM_VECTORS: 0
  • GL_MAX_VIEWPORTS: 0
  • GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: 0
  • GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: 0
  • GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: 0
  • GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: 0
  • GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: 0
  • GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: 0
  • GL_MAX_VERTEX_ATOMIC_COUNTERS: 0
  • GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: 0
  • GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: 0
  • GL_MAX_GEOMETRY_ATOMIC_COUNTERS: 0
  • GL_MAX_FRAGMENT_ATOMIC_COUNTERS: 0
  • GL_MAX_COMBINED_ATOMIC_COUNTERS: 0
  • GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: 0
  • GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: 0
  • GL_MAX_IMAGE_UNITS: 0
  • GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS: 0
  • GL_MAX_IMAGE_SAMPLES: 0
  • GL_MAX_VERTEX_IMAGE_UNIFORMS: 0
  • GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: 0
  • GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: 0
  • GL_MAX_GEOMETRY_IMAGE_UNIFORMS: 0
  • GL_MAX_FRAGMENT_IMAGE_UNIFORMS: 0
  • GL_MAX_COMBINED_IMAGE_UNIFORMS: 0
  • GL_MAX_TEXTURE_UNITS_ARB: 8
  • GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB: 16
  • GL_MAX_TEXTURE_IMAGE_UNITS_ARB: 16
  • GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: 8192
  • GL_NUM_COMPRESSED_TEXTURE_FORMATS: 6
  • GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: 16.000000
  • GL_MAX_VERTEX_UNIFORM_COMPONENTS: 512
  • GL_MAX_VARYING_FLOATS: 41
  • GL_MAX_VERTEX_ATTRIBS: 16
  • GL_MAX_TEXTURE_IMAGE_UNITS: 16
  • GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 16
  • GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 16
  • GL_MAX_TEXTURE_COORDS: 8
  • GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: 1024
  • GL_MAX_VERTEX_ATTRIBS_ARB: 16
  • GL_MAX_PROGRAM_MATRICES_ARB: 8
  • GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB: 2
  • GL_MAX_PROGRAM_MATRICES_ARB: 8
  • GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB: 2
  • GL_MAX_TEXTURE_COORDS_ARB: 8
  • GL_MAX_TEXTURE_IMAGE_UNITS_ARB: 16
  • GL_MAX_VERTEX_UNIFORM_COMPONENTS: 512
  • GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: 1024
  • GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT: 0
  • GL_MAX_VARYING_FLOATS: 41
  • GL_MAX_VERTEX_ATTRIBS: 16
  • GL_MAX_DRAW_BUFFERS_ARB: 8
  • GL_MAX_RECTANGLE_TEXTURE_SIZE: 8192
  • GL_MAX_COLOR_ATTACHMENTS: 8
  • GL_MAX_RENDERBUFFER_SIZE: 4096
  • GL_MAX_SAMPLES: 4
  • GL_MAX_VERTEX_UNIFORM_BLOCKS: 12
  • GL_MAX_GEOMETRY_UNIFORM_BLOCKS: 12
  • GL_MAX_FRAGMENT_UNIFORM_BLOCKS: 12
  • GL_MAX_COMBINED_UNIFORM_BLOCKS: 24
  • GL_MAX_UNIFORM_BUFFER_BINDINGS: 24
  • GL_MAX_UNIFORM_BLOCK_SIZE: 16384
  • GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: 1
  • GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: 1
  • GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: 1
  • GL_MAX_SERVER_WAIT_TIMEOUT: -1
  • GL_POINT_SIZE_MIN_ARB: 0.000000
  • GL_POINT_SIZE_MAX_ARB: 255.000000
  • GL_MAX_ARRAY_TEXTURE_LAYERS_EXT: 256

12 thoughts on “Intel GMA Driver 8.15.10.2509, OpenGL Extensions (Quick Test)”

  1. nap

    It’s very pity but Intel OpenGL drivers is nightmare for any complex application. Some bugs are existing in drivers for years. Descriptions of these bugs are published at intel forums, but I didn’t see any reaction from support.

    We were forced to make a lot of workarounds and disable some features in our OpenGL-based virtual world, because of Intel driver bugs.

  2. Arun

    @Jegx

    I think GL_ARB_uniform_buffer_object this extension is present as i can see it in the list that you have mentioned.Also for me it is showing 117 extensions not sure though which one is present. Will let you know for sure. Thanks a lot for the post.

  3. Christophe

    Interesting

    GL_ARB_texture_buffer_object isn’t exposed but GL_MAX_TEXTURE_BUFFER_SIZE = 65536. Did you try to query glTexBuffer?

    The extension string might be missing.

  4. Arun

    Weird!! openGL extension viewer shows 117 extensions and when i compared with the list here and in openGL extension viewer all the extensions are there .. not sure which is the 117th extension 🙁

  5. JeGX Post Author

    Shadow maps work fine on Intel, at least on HD 2000 / HD 3000 GPUs, check the OpenGL Soft shadows demo of GPU Caps Viewer.

Comments are closed.