Intel Graphics Driver v4590 for Windows with Vulkan Support


Intel logo

Intel has released a graphics driver for Kaby Lake and Skylake processors. This new graphics driver (v21.20.16.4590) brings the support of Vulkan:

Intel announces that we are moving from beta support to full official support for the Vulkan API on Windows going forward.

Vulkan targets high performing real-time 3D graphics applications, like games, while giving low-overhead hardware control over GPU acceleration to developers. Vulkan* promises great performance and predictability, while paving the way to better equip games to handle virtual reality or 4k HDR.

You can download the Intel Graphics Driver v4590 from THIS PAGE

I tested v4590 on a Skylake CPU (Intel Core i5 6600K with a HD Graphics 530 GPU) and here is the Vulkan report from VK-Z

==========================================================
VK-Z 0.5.0
==========================================================
Vulkan capabilities and extensions viewer
(C)2016-2017 Geeks3D – http://www.geeks3d.com/vkz/

Instance extensions: 3
– 1/ VK_KHR_surface (spec version: 25)
– 2/ VK_KHR_win32_surface (spec version: 5)
– 3/ VK_EXT_debug_report (spec version: 4)

# Vulkan devices: 1

[ Device 1 ]————————————–
– Device name: Intel(R) HD Graphics 530
– DeviceID: 8086-1912
– Raw driver version: 65539
– Vulkan API version: 1.0.0
– Device type: VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
– Memory heap count: 2
heap 0 – size: 1818 MB
heap 1 – size: 1818 MB
– Device extensions: 2
1/ VK_KHR_swapchain (spec version: 68)
2/ VK_KHR_sampler_mirror_clamp_to_edge (spec version: 1)
– Device limits:
maxImageDimension1D: 16384
maxImageDimension2D: 16384
maxImageDimension3D: 2048
maxImageDimensionCube: 16384
maxImageArrayLayers: 2048
maxTexelBufferElements: 134217728
maxUniformBufferRange: 65536
maxStorageBufferRange: 134217728
maxPushConstantsSize: 256
maxMemoryAllocationCount: 930970
maxSamplerAllocationCount: 4000
bufferImageGranularity: 1
sparseAddressSpaceSize: 0
maxBoundDescriptorSets: 4
maxPerStageDescriptorSamplers: 16
maxPerStageDescriptorUniformBuffers: 200
maxPerStageDescriptorSampledImages: 200
maxPerStageDescriptorStorageImages: 16
maxPerStageDescriptorInputAttachments: 8
maxPerStageResources: 200
maxDescriptorSetSamplers: 96
maxDescriptorSetUniformBuffers: 1200
maxDescriptorSetUniformBuffersDynamic: 16
maxDescriptorSetStorageBuffers: 1200
maxDescriptorSetStorageBuffersDynamic: 16
maxDescriptorSetSampledImages: 1200
maxDescriptorSetStorageImages: 96
maxDescriptorSetInputAttachments: 8
maxVertexInputAttributes: 16
maxVertexInputBindings: 16
maxVertexInputAttributeOffset: 2047
maxVertexInputBindingStride: 4095
maxVertexOutputComponents: 128
maxTessellationGenerationLevel: 64
maxTessellationPatchSize: 32
maxTessellationControlPerVertexInputComponents: 128
maxTessellationControlPerVertexOutputComponents: 128
maxTessellationControlPerPatchOutputComponents: 120
maxTessellationControlTotalOutputComponents: 4096
maxTessellationEvaluationInputComponents: 128
maxTessellationEvaluationOutputComponents: 128
maxGeometryShaderInvocations: 32
maxGeometryInputComponents: 128
maxGeometryOutputComponents: 128
maxGeometryOutputVertices: 256
maxGeometryTotalOutputComponents: 1024
maxFragmentInputComponents: 128
maxFragmentOutputAttachments: 8
maxFragmentDualSrcAttachments: 1
maxFragmentCombinedOutputResources: 16
maxComputeSharedMemorySize: 32768
maxComputeWorkGroupCount: [65536; 65536; 65536]
maxComputeWorkGroupInvocations: 1024
maxComputeWorkGroupSize: [1024; 1024; 64]
subPixelPrecisionBits: 8
subTexelPrecisionBits: 8
mipmapPrecisionBits: 8
maxDrawIndexedIndexValue: 4294967295
maxDrawIndirectCount: 4294967295
maxSamplerLodBias: 16.000000
maxSamplerAnisotropy: 16.000000
maxViewports: 16
maxViewportDimensions: [32768; 32768]
viewportBoundsRange: [-65536.000000 ; 65535.000000]
viewportSubPixelBits: 8
minMemoryMapAlignment: 64
minTexelBufferOffsetAlignment: 16
minUniformBufferOffsetAlignment: 16
minStorageBufferOffsetAlignment: 16
minTexelOffset: 4294967288
maxTexelOffset: 7
minTexelGatherOffset: 4294967264
maxTexelGatherOffset: 31
minInterpolationOffset: -0.500000
maxInterpolationOffset: 0.437500
subPixelInterpolationOffsetBits: 4
maxFramebufferWidth: 16384
maxFramebufferHeight: 16384
maxFramebufferLayers: 2048
framebufferColorSampleCounts: 31
framebufferDepthSampleCounts: 31
framebufferStencilSampleCounts: 31
framebufferNoAttachmentsSampleCounts: 31
maxColorAttachments: 8
sampledImageColorSampleCounts: 31
sampledImageIntegerSampleCounts: 31
sampledImageDepthSampleCounts: 31
sampledImageStencilSampleCounts: 31
storageImageSampleCounts: 31
maxSampleMaskWords: 1
timestampComputeAndGraphics: 1
timestampPeriod: 83.000000
maxClipDistances: 16
maxCullDistances: 16
maxCombinedClipAndCullDistances: 16
discreteQueuePriorities: 2
pointSizeRange: [0.125000 ; 255.875000]
lineWidthRange: [0.000000 ; 7.992188]
pointSizeGranularity: 0.125000
lineWidthGranularity: 0.007813
strictLines: 0
standardSampleLocations: 1
optimalBufferCopyOffsetAlignment: 16
optimalBufferCopyRowPitchAlignment: 16
nonCoherentAtomSize: 1

v4590 exposes OpenGL 4.4 (4.4.0 – Build 21.20.16.4590) API with 231 OpenGL extensions (GL=211 and WGL=20) for the HD Graphics 530 on Windows 10 64-bit. Here is the list of all extensions:

– GL_3DFX_texture_compression_FXT1
– GL_AMD_depth_clamp_separate
– GL_AMD_vertex_shader_layer
– GL_AMD_vertex_shader_viewport_index
– GL_ARB_ES2_compatibility
– GL_ARB_ES3_compatibility
– GL_ARB_arrays_of_arrays
– GL_ARB_base_instance
– GL_ARB_blend_func_extended
– GL_ARB_buffer_storage
– GL_ARB_cl_event
– GL_ARB_clear_buffer_object
– GL_ARB_clear_texture
– GL_ARB_clip_control
– GL_ARB_color_buffer_float
– GL_ARB_compatibility
– GL_ARB_compressed_texture_pixel_storage
– GL_ARB_compute_shader
– GL_ARB_conservative_depth
– GL_ARB_copy_buffer
– GL_ARB_copy_image
– GL_ARB_debug_output
– GL_ARB_depth_buffer_float
– GL_ARB_depth_clamp
– GL_ARB_depth_texture
– GL_ARB_derivative_control
– GL_ARB_draw_buffers
– GL_ARB_draw_buffers_blend
– GL_ARB_draw_elements_base_vertex
– GL_ARB_draw_indirect
– GL_ARB_draw_instanced
– GL_ARB_enhanced_layouts
– GL_ARB_explicit_attrib_location
– GL_ARB_explicit_uniform_location
– GL_ARB_fragment_coord_conventions
– GL_ARB_fragment_layer_viewport
– GL_ARB_fragment_program
– GL_ARB_fragment_program_shadow
– GL_ARB_fragment_shader
– GL_ARB_fragment_shader_interlock
– GL_ARB_framebuffer_no_attachments
– GL_ARB_framebuffer_object
– GL_ARB_framebuffer_sRGB
– GL_ARB_geometry_shader4
– GL_ARB_get_program_binary
– GL_ARB_gpu_shader5
– GL_ARB_gpu_shader_fp64
– GL_ARB_half_float_pixel
– GL_ARB_half_float_vertex
– GL_ARB_indirect_parameters
– GL_ARB_instanced_arrays
– GL_ARB_internalformat_query
– GL_ARB_internalformat_query2
– GL_ARB_invalidate_subdata
– GL_ARB_map_buffer_alignment
– GL_ARB_map_buffer_range
– GL_ARB_multi_bind
– GL_ARB_multi_draw_indirect
– GL_ARB_multisample
– GL_ARB_multitexture
– GL_ARB_occlusion_query
– GL_ARB_occlusion_query2
– GL_ARB_pixel_buffer_object
– GL_ARB_point_parameters
– GL_ARB_point_sprite
– GL_ARB_post_depth_coverage
– GL_ARB_program_interface_query
– GL_ARB_provoking_vertex
– GL_ARB_query_buffer_object
– GL_ARB_robust_buffer_access_behavior
– GL_ARB_robustness
– GL_ARB_robustness_isolation
– GL_ARB_sample_shading
– GL_ARB_sampler_objects
– GL_ARB_seamless_cube_map
– GL_ARB_seamless_cubemap_per_texture
– GL_ARB_separate_shader_objects
– GL_ARB_shader_atomic_counters
– GL_ARB_shader_bit_encoding
– GL_ARB_shader_image_load_store
– GL_ARB_shader_image_size
– GL_ARB_shader_objects
– GL_ARB_shader_precision
– GL_ARB_shader_stencil_export
– GL_ARB_shader_storage_buffer_object
– GL_ARB_shader_subroutine
– GL_ARB_shading_language_100
– GL_ARB_shading_language_420pack
– GL_ARB_shading_language_packing
– GL_ARB_shadow
– GL_ARB_stencil_texturing
– GL_ARB_sync
– GL_ARB_tessellation_shader
– GL_ARB_texture_barrier
– GL_ARB_texture_border_clamp
– GL_ARB_texture_buffer_object_rgb32
– GL_ARB_texture_buffer_range
– GL_ARB_texture_compression
– GL_ARB_texture_compression_bptc
– GL_ARB_texture_compression_rgtc
– GL_ARB_texture_cube_map
– GL_ARB_texture_cube_map_array
– GL_ARB_texture_env_add
– GL_ARB_texture_env_combine
– GL_ARB_texture_env_crossbar
– GL_ARB_texture_env_dot3
– GL_ARB_texture_float
– GL_ARB_texture_gather
– GL_ARB_texture_mirror_clamp_to_edge
– GL_ARB_texture_mirrored_repeat
– GL_ARB_texture_multisample
– GL_ARB_texture_non_power_of_two
– GL_ARB_texture_query_levels
– GL_ARB_texture_query_lod
– GL_ARB_texture_rectangle
– GL_ARB_texture_rg
– GL_ARB_texture_rgb10_a2ui
– GL_ARB_texture_stencil8
– GL_ARB_texture_storage
– GL_ARB_texture_storage_multisample
– GL_ARB_texture_swizzle
– GL_ARB_texture_view
– GL_ARB_timer_query
– GL_ARB_transform_feedback2
– GL_ARB_transform_feedback3
– GL_ARB_transform_feedback_instanced
– GL_ARB_transpose_matrix
– GL_ARB_uniform_buffer_object
– GL_ARB_vertex_array_bgra
– GL_ARB_vertex_array_object
– GL_ARB_vertex_attrib_64bit
– GL_ARB_vertex_attrib_binding
– GL_ARB_vertex_buffer_object
– GL_ARB_vertex_program
– GL_ARB_vertex_shader
– GL_ARB_vertex_type_10f_11f_11f_rev
– GL_ARB_vertex_type_2_10_10_10_rev
– GL_ARB_viewport_array
– GL_ARB_window_pos
– GL_ATI_separate_stencil
– GL_EXT_abgr
– GL_EXT_bgra
– GL_EXT_blend_color
– GL_EXT_blend_equation_separate
– GL_EXT_blend_func_separate
– GL_EXT_blend_minmax
– GL_EXT_blend_subtract
– GL_EXT_clip_volume_hint
– GL_EXT_compiled_vertex_array
– GL_EXT_direct_state_access
– GL_EXT_draw_buffers2
– GL_EXT_draw_range_elements
– GL_EXT_fog_coord
– GL_EXT_framebuffer_blit
– GL_EXT_framebuffer_multisample
– GL_EXT_framebuffer_object
– GL_EXT_geometry_shader4
– GL_EXT_gpu_program_parameters
– GL_EXT_gpu_shader4
– GL_EXT_multi_draw_arrays
– GL_EXT_packed_depth_stencil
– GL_EXT_packed_float
– GL_EXT_packed_pixels
– GL_EXT_polygon_offset_clamp
– GL_EXT_rescale_normal
– GL_EXT_secondary_color
– GL_EXT_separate_specular_color
– GL_EXT_shader_framebuffer_fetch
– GL_EXT_shader_integer_mix
– GL_EXT_shadow_funcs
– GL_EXT_stencil_two_side
– GL_EXT_stencil_wrap
– GL_EXT_texture3D
– GL_EXT_texture_array
– GL_EXT_texture_compression_s3tc
– GL_EXT_texture_edge_clamp
– GL_EXT_texture_env_add
– GL_EXT_texture_env_combine
– GL_EXT_texture_filter_anisotropic
– GL_EXT_texture_integer
– GL_EXT_texture_lod_bias
– GL_EXT_texture_rectangle
– GL_EXT_texture_sRGB
– GL_EXT_texture_sRGB_decode
– GL_EXT_texture_shared_exponent
– GL_EXT_texture_snorm
– GL_EXT_texture_storage
– GL_EXT_texture_swizzle
– GL_EXT_timer_query
– GL_EXT_transform_feedback
– GL_IBM_texture_mirrored_repeat
– GL_INTEL_conservative_rasterization
– GL_INTEL_fragment_shader_ordering
– GL_INTEL_framebuffer_CMAA
– GL_INTEL_map_texture
– GL_INTEL_multi_rate_fragment_shader
– GL_INTEL_performance_query
– GL_KHR_blend_equation_advanced
– GL_KHR_blend_equation_advanced_coherent
– GL_KHR_debug
– GL_KHR_texture_compression_astc_hdr
– GL_KHR_texture_compression_astc_ldr
– GL_NV_blend_square
– GL_NV_conditional_render
– GL_NV_primitive_restart
– GL_NV_texgen_reflection
– GL_SGIS_generate_mipmap
– GL_SGIS_texture_edge_clamp
– GL_SGIS_texture_lod
– GL_SUN_multi_draw_arrays
– GL_WIN_swap_hint
– 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_ARB_create_context_profile
– WGL_EXT_pixel_format_packed_float
– WGL_EXT_create_context_es_profile
– WGL_EXT_create_context_es2_profile
– WGL_NV_DX_interop
– WGL_INTEL_cl_sharing
– WGL_NV_DX_interop2
– WGL_ARB_create_context_robustness

via