Intel has released few says ago a new beta version of the HD graphics driver for HD Graphics 2000/3000 (Sandy Bridge) and HD Graphics 4000/2500 GPUs (Ivy Bridge). This driver provides full support for Windows Display Driver Model version 1.2 (WDDM v1.2) features including native stereoscopic 3D support, optimized screen rotation detection and integrated DirectX 11 video playback and adds several bug fixes and improvements for video encode and transcode usages.
You can download the 32 and 64-bit versions from these links:
The complete release notes are available HERE.
v2770 is an OpenGL 4 driver (GL_VERSION: 4.0.0 – Build 9.17.10.2770) and exposes 146 OpenGL extensions (GL=130 and WGL=16). Compared to v2729, v2770 adds 3 new OpenGL extensions:
- GL_ARB_texture_gather
- GL_ARB_transform_feedback2
- GL_INTEL_map_texture
Does anyone know the purpose of GL_INTEL_map_texture?
Here is the complete list of all 146 OpenGL extensions exposed for the HD Graphics 4000 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_SUN_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_ARB_occlusion_query2
- 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_texture_gather
- GL_ARB_sync
- GL_ARB_framebuffer_sRGB
- GL_EXT_packed_depth_stencil
- GL_ARB_depth_buffer_float
- GL_EXT_transform_feedback
- GL_ARB_transform_feedback2
- 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_ARB_blend_func_extended
- 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_shader_bit_encoding
- GL_ARB_draw_buffers_blend
- GL_ARB_geometry_shader4
- GL_ARB_texture_query_lod
- GL_ARB_explicit_attrib_location
- GL_ARB_draw_elements_base_vertex
- GL_ARB_instanced_arrays
- GL_ARB_fragment_coord_conventions
- GL_EXT_gpu_program_parameters
- GL_ARB_texture_buffer_object_rgb32
- GL_ARB_compatibility
- GL_ARB_texture_rgb10_a2ui
- GL_ARB_texture_multisample
- GL_ARB_vertex_type_2_10_10_10_rev
- GL_ARB_timer_query
- GL_INTEL_map_texture
- GL_ARB_tessellation_shader
- GL_ARB_vertex_array_object
- GL_ARB_provoking_vertex
- GL_ARB_sample_shading
- GL_ARB_texture_cube_map_array
- GL_EXT_gpu_shader4
- GL_ARB_gpu_shader5
- GL_ARB_gpu_shader_fp64
- GL_ARB_shader_subroutine
- GL_ARB_transform_feedback3
- GL_ARB_get_program_binary
- 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_EXT_swap_control_tear
- WGL_ARB_multisample
- WGL_ARB_pixel_format_float
- WGL_ARB_framebuffer_sRGB
- WGL_ARB_create_context
- WGL_ARB_create_context_profile
- WGL_EXT_pixel_format_packed_float
- WGL_EXT_create_context_es2_profile
Here is the OpenCL report from GPU Caps Viewer:
- Num OpenCL platforms: 1 - CL_PLATFORM_NAME: Intel(R) OpenCL - CL_PLATFORM_VENDOR: Intel(R) Corporation - CL_PLATFORM_VERSION: OpenCL 1.1 - CL_PLATFORM_PROFILE: FULL_PROFILE - Num devices: 2 - CL_DEVICE_NAME: Genuine Intel(R) CPU @ 2.20GHz - CL_DEVICE_VENDOR: Intel(R) Corporation - CL_DRIVER_VERSION: 1.1 - CL_DEVICE_PROFILE: FULL_PROFILE - CL_DEVICE_VERSION: OpenCL 1.1 (Build 35614.35644) - CL_DEVICE_TYPE: CPU - CL_DEVICE_VENDOR_ID: 0x8086 - CL_DEVICE_MAX_COMPUTE_UNITS: 8 - CL_DEVICE_MAX_CLOCK_FREQUENCY: 2200MHz - CL_DEVICE_ADDRESS_BITS: 32 - CL_DEVICE_MAX_MEM_ALLOC_SIZE: 524256KB - CL_DEVICE_GLOBAL_MEM_SIZE: 2047MB - CL_DEVICE_MAX_PARAMETER_SIZE: 3840 - CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 64 Bytes - CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 256KB - CL_DEVICE_ERROR_CORRECTION_SUPPORT: NO - CL_DEVICE_LOCAL_MEM_TYPE: Global - CL_DEVICE_LOCAL_MEM_SIZE: 32KB - CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 128KB - CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3 - CL_DEVICE_MAX_WORK_ITEM_SIZES: [1024 ; 1024 ; 1024] - CL_DEVICE_MAX_WORK_GROUP_SIZE: 1024 - CL_EXEC_NATIVE_KERNEL: 4060728 - CL_DEVICE_IMAGE_SUPPORT: YES - CL_DEVICE_MAX_READ_IMAGE_ARGS: 480 - CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 480 - CL_DEVICE_IMAGE2D_MAX_WIDTH: 8192 - CL_DEVICE_IMAGE2D_MAX_HEIGHT: 8192 - CL_DEVICE_IMAGE3D_MAX_WIDTH: 2048 - CL_DEVICE_IMAGE3D_MAX_HEIGHT: 2048 - CL_DEVICE_IMAGE3D_MAX_DEPTH: 2048 - CL_DEVICE_MAX_SAMPLERS: 480 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR: 16 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT: 8 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 4 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 2 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 4 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 2 - CL_DEVICE_EXTENSIONS: 11 - Extensions: - cl_khr_fp64 - cl_khr_icd - cl_khr_global_int32_base_atomics - cl_khr_global_int32_extended_atomics - cl_khr_local_int32_base_atomics - cl_khr_local_int32_extended_atomics - cl_khr_byte_addressable_store - cl_intel_printf - cl_ext_device_fission - cl_intel_exec_by_local_thread - cl_khr_gl_sharing - CL_DEVICE_NAME: Intel(R) HD Graphics 4000 - CL_DEVICE_VENDOR: Intel(R) Corporation - CL_DRIVER_VERSION: 9.17.10.2770 - CL_DEVICE_PROFILE: FULL_PROFILE - CL_DEVICE_VERSION: OpenCL 1.1 - CL_DEVICE_TYPE: GPU - CL_DEVICE_VENDOR_ID: 0x8086 - CL_DEVICE_MAX_COMPUTE_UNITS: 16 - CL_DEVICE_MAX_CLOCK_FREQUENCY: 400MHz - CL_DEVICE_ADDRESS_BITS: 64 - CL_DEVICE_MAX_MEM_ALLOC_SIZE: 415744KB - CL_DEVICE_GLOBAL_MEM_SIZE: 1624MB - CL_DEVICE_MAX_PARAMETER_SIZE: 1024 - CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 64 Bytes - CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 2048KB - CL_DEVICE_ERROR_CORRECTION_SUPPORT: NO - CL_DEVICE_LOCAL_MEM_TYPE: Local (scratchpad) - CL_DEVICE_LOCAL_MEM_SIZE: 64KB - CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64KB - CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3 - CL_DEVICE_MAX_WORK_ITEM_SIZES: [512 ; 512 ; 512] - CL_DEVICE_MAX_WORK_GROUP_SIZE: 512 - CL_EXEC_NATIVE_KERNEL: 4060724 - CL_DEVICE_IMAGE_SUPPORT: YES - CL_DEVICE_MAX_READ_IMAGE_ARGS: 128 - CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 8 - CL_DEVICE_IMAGE2D_MAX_WIDTH: 16384 - CL_DEVICE_IMAGE2D_MAX_HEIGHT: 16384 - CL_DEVICE_IMAGE3D_MAX_WIDTH: 2048 - CL_DEVICE_IMAGE3D_MAX_HEIGHT: 2048 - CL_DEVICE_IMAGE3D_MAX_DEPTH: 2048 - CL_DEVICE_MAX_SAMPLERS: 16 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR: 1 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT: 1 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 1 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 1 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 1 - CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 0 - CL_DEVICE_EXTENSIONS: 10 - Extensions: - cl_khr_icd - cl_khr_global_int32_base_atomics - cl_khr_global_int32_extended_atomics - cl_khr_local_int32_base_atomics - cl_khr_local_int32_extended_atomics - cl_khr_gl_sharing - cl_khr_d3d10_sharing - cl_intel_dx9_media_sharing - cl_khr_3d_image_writes - cl_khr_byte_addressable_store
Source: Geeks3D forum
GL_INTEL_map_texture sounds like it allows to change texture data while having a client-side pointer mapped to it. Carmack mentioned that they got something like that from Intel in a tweet, while AMD and NV allow similar by other means.
Cool, the more transparent the whole CPU mem vs GPU mem texture storage becomes the better.
Intel has released new 9.17.10.2792 drivers.
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3498&DwnldID=21235
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3498&DwnldID=21180