
Update (2018.05.04): NVIDIA has released a hotfix driver that fixes some bugs of 397.31:
- GeForce 397.55 win10 64-bit for Desktop and Notebook @ Geeks3D
- GeForce 397.55 win7 / win8 64-bit for Desktop and Notebook @ Geeks3D
NVIDIA has released a new set of graphics drivers for all GeForce graphics cards. This driver is part of NVIDIA’s Release 396 family and comes with the support of Vulkan 1.1, NVIDIA RTX (see HERE and HERE) and CUDA 9.2.
And with family 396, NVIDIA stops the releasing of drivers for Windows 32-bit.
Release Highlights
– NVIDIA RTXTM Technology
Developer preview for NVIDIA RTX ray tracing technology for DirectX 12. NVIDIA RTX supports the Microsoft DirectX Raytracing (DXR) API on NVIDIA Volta GPUs. In order to get started with developing DirectX Raytracing applications accelerated by RTX, you’ll need the following:
– NVIDIA Volta GPU
– NVIDIA driver version 396 or higher
– Windows 10 RS4
– Microsoft’s DXR developer package, consisting of DXR-enabled D3D runtimes, HLSL compiler, and headers– Vulkan 1.1
This driver release provides full support for the new Vulkan 1.1 API and passes the Vulkan Conformance Test Suite (CTS) version 1.1.0.3.– HD Audio
This driver adds new sample rates 32 kHz, 88.2 kHz, and 176.4 kHz to the HDMI device for all GPUs.– Display Driver Standalone Installer
The standalone display driver installer now removes extracted files after installing the driver, leaving a smaller footprint on the hard drive.– Display Driver Libraries
Added new libraries (nvdlist.dll and nvdlistx.dll) to support Optimus and MSHybrid notebooks.– NVDECODE API
Added a new API that lets the client reconfigure the decoder resolution and other post processing parameters (such as the display resolution, cropping rectangle, and aspect ratio of the decoded frame) without having to destroy and recreate the decoder instance. This API is useful in scenarios where the decoder instance initialization time takes up a significant portion of the overall decode execution time; for example, in back-to-back decoding of multiple short clips of different resolutions. The new API will be included in Video Codec SDK 8.2, which is expected to release in late Q2 2018.
GeForce 397.31 Desktop Downloads
- win10 64-bit @ Geeks3D
- win7 / win8 64-bit @ Geeks3D
- win10 64-bit @ NVIDIA
- win7 / win8 64-bit @ NVIDIA
GeForce 397.31 Notebook Downloads

OpenGL API Support
The GeForce 397.31 is an OpenGL 4.6 driver and exposes 406 OpenGL extensions. Compared to previous drivers, 397.31 adds one new OpenGL extension:
GL_NV_feature_query
Here is the complete list of all OpenGL extensions exposed for a GeForce GTX 1080 on Win10 64-bit:
- GL_VENDOR: NVIDIA Corporation - GL_RENDERER: GeForce GTX 1080/PCIe/SSE2 - GL_VERSION: 4.6.0 NVIDIA 397.31 - OpenGL Extensions: 406 extensions (GL=375 and WGL=31) - GL_AMD_multi_draw_indirect - GL_AMD_seamless_cubemap_per_texture - GL_AMD_vertex_shader_viewport_index - GL_AMD_vertex_shader_layer - GL_ARB_arrays_of_arrays - GL_ARB_base_instance - GL_ARB_bindless_texture - GL_ARB_blend_func_extended - GL_ARB_buffer_storage - 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_conservative_depth - GL_ARB_compute_shader - GL_ARB_compute_variable_group_size - GL_ARB_conditional_render_inverted - GL_ARB_copy_buffer - GL_ARB_copy_image - GL_ARB_cull_distance - GL_ARB_debug_output - GL_ARB_depth_buffer_float - GL_ARB_depth_clamp - GL_ARB_depth_texture - GL_ARB_derivative_control - GL_ARB_direct_state_access - GL_ARB_draw_buffers - GL_ARB_draw_buffers_blend - GL_ARB_draw_indirect - GL_ARB_draw_elements_base_vertex - GL_ARB_draw_instanced - GL_ARB_enhanced_layouts - GL_ARB_ES2_compatibility - GL_ARB_ES3_compatibility - GL_ARB_ES3_1_compatibility - GL_ARB_ES3_2_compatibility - 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_get_texture_sub_image - GL_ARB_gl_spirv - GL_ARB_gpu_shader5 - GL_ARB_gpu_shader_fp64 - GL_ARB_gpu_shader_int64 - GL_ARB_half_float_pixel - GL_ARB_half_float_vertex - GL_ARB_imaging - 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_parallel_shader_compile - GL_ARB_pipeline_statistics_query - GL_ARB_pixel_buffer_object - GL_ARB_point_parameters - GL_ARB_point_sprite - GL_ARB_polygon_offset_clamp - 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_sample_locations - 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_counter_ops - GL_ARB_shader_atomic_counters - GL_ARB_shader_ballot - GL_ARB_shader_bit_encoding - GL_ARB_shader_clock - GL_ARB_shader_draw_parameters - GL_ARB_shader_group_vote - GL_ARB_shader_image_load_store - GL_ARB_shader_image_size - GL_ARB_shader_objects - GL_ARB_shader_precision - GL_ARB_shader_storage_buffer_object - GL_ARB_shader_subroutine - GL_ARB_shader_texture_image_samples - GL_ARB_shader_texture_lod - GL_ARB_shading_language_100 - GL_ARB_shader_viewport_layer_array - GL_ARB_shading_language_420pack - GL_ARB_shading_language_include - GL_ARB_shading_language_packing - GL_ARB_shadow - GL_ARB_sparse_buffer - GL_ARB_sparse_texture - GL_ARB_sparse_texture2 - GL_ARB_sparse_texture_clamp - GL_ARB_spirv_extensions - 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 - 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_filter_anisotropic - GL_ARB_texture_filter_minmax - 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_transform_feedback_overflow_query - 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_draw_buffers - GL_ATI_texture_float - GL_ATI_texture_mirror_once - GL_S3_s3tc - GL_EXT_texture_env_add - GL_EXT_abgr - GL_EXT_bgra - GL_EXT_bindable_uniform - GL_EXT_blend_color - GL_EXT_blend_equation_separate - GL_EXT_blend_func_separate - GL_EXT_blend_minmax - GL_EXT_blend_subtract - GL_EXT_compiled_vertex_array - GL_EXT_Cg_shader - GL_EXT_depth_bounds_test - GL_EXT_direct_state_access - GL_EXT_draw_buffers2 - GL_EXT_draw_instanced - GL_EXT_draw_range_elements - GL_EXT_fog_coord - GL_EXT_framebuffer_blit - GL_EXT_framebuffer_multisample - GL_EXTX_framebuffer_mixed_formats - GL_EXT_framebuffer_multisample_blit_scaled - GL_EXT_framebuffer_object - GL_EXT_framebuffer_sRGB - 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_pixel_buffer_object - GL_EXT_point_parameters - GL_EXT_polygon_offset_clamp - GL_EXT_post_depth_coverage - GL_EXT_provoking_vertex - GL_EXT_raster_multisample - GL_EXT_rescale_normal - GL_EXT_secondary_color - GL_EXT_separate_shader_objects - GL_EXT_separate_specular_color - GL_EXT_shader_image_load_formatted - GL_EXT_shader_image_load_store - GL_EXT_shader_integer_mix - GL_EXT_shadow_funcs - GL_EXT_sparse_texture2 - GL_EXT_stencil_two_side - GL_EXT_stencil_wrap - GL_EXT_texture3D - GL_EXT_texture_array - GL_EXT_texture_buffer_object - GL_EXT_texture_compression_dxt1 - GL_EXT_texture_compression_latc - GL_EXT_texture_compression_rgtc - GL_EXT_texture_compression_s3tc - GL_EXT_texture_cube_map - GL_EXT_texture_edge_clamp - GL_EXT_texture_env_combine - GL_EXT_texture_env_dot3 - GL_EXT_texture_filter_anisotropic - GL_EXT_texture_filter_minmax - GL_EXT_texture_integer - GL_EXT_texture_lod - GL_EXT_texture_lod_bias - GL_EXT_texture_mirror_clamp - GL_EXT_texture_object - GL_EXT_texture_shared_exponent - GL_EXT_texture_sRGB - GL_EXT_texture_sRGB_decode - GL_EXT_texture_storage - GL_EXT_texture_swizzle - GL_EXT_timer_query - GL_EXT_transform_feedback2 - GL_EXT_vertex_array - GL_EXT_vertex_array_bgra - GL_EXT_vertex_attrib_64bit - GL_EXT_window_rectangles - GL_EXT_import_sync_object - GL_IBM_rasterpos_clip - GL_IBM_texture_mirrored_repeat - GL_KHR_context_flush_control - GL_KHR_debug - GL_EXT_memory_object - GL_EXT_memory_object_win32 - GL_EXT_win32_keyed_mutex - GL_KHR_parallel_shader_compile - GL_KHR_no_error - GL_KHR_robust_buffer_access_behavior - GL_KHR_robustness - GL_EXT_semaphore - GL_EXT_semaphore_win32 - GL_KTX_buffer_region - GL_NV_alpha_to_coverage_dither_control - GL_NV_bindless_multi_draw_indirect - GL_NV_bindless_multi_draw_indirect_count - GL_NV_bindless_texture - GL_NV_blend_equation_advanced - GL_NV_blend_equation_advanced_coherent - GL_NVX_blend_equation_advanced_multi_draw_buffers - GL_NV_blend_minmax_factor - GL_NV_blend_square - GL_NV_clip_space_w_scaling - GL_NV_command_list - GL_NV_compute_program5 - GL_NV_conditional_render - GL_NV_conservative_raster - GL_NV_conservative_raster_dilate - GL_NV_conservative_raster_pre_snap_triangles - GL_NV_copy_depth_to_color - GL_NV_copy_image - GL_NV_depth_buffer_float - GL_NV_depth_clamp - GL_NV_draw_texture - GL_NV_draw_vulkan_image - GL_NV_ES1_1_compatibility - GL_NV_ES3_1_compatibility - GL_NV_explicit_multisample - GL_NV_feature_query - GL_NV_fence - GL_NV_fill_rectangle - GL_NV_float_buffer - GL_NV_fog_distance - GL_NV_fragment_coverage_to_color - GL_NV_fragment_program - GL_NV_fragment_program_option - GL_NV_fragment_program2 - GL_NV_fragment_shader_interlock - GL_NV_framebuffer_mixed_samples - GL_NV_framebuffer_multisample_coverage - GL_NV_geometry_shader4 - GL_NV_geometry_shader_passthrough - GL_NV_gpu_program4 - GL_NV_internalformat_sample_query - GL_NV_gpu_program4_1 - GL_NV_gpu_program5 - GL_NV_gpu_program5_mem_extended - GL_NV_gpu_program_fp64 - GL_NV_gpu_shader5 - GL_NV_half_float - GL_NV_light_max_exponent - GL_NV_multisample_coverage - GL_NV_multisample_filter_hint - GL_NV_occlusion_query - GL_NV_packed_depth_stencil - GL_NV_parameter_buffer_object - GL_NV_parameter_buffer_object2 - GL_NV_path_rendering - GL_NV_path_rendering_shared_edge - GL_NV_pixel_data_range - GL_NV_point_sprite - GL_NV_primitive_restart - GL_NV_query_resource - GL_NV_query_resource_tag - GL_NV_register_combiners - GL_NV_register_combiners2 - GL_NV_sample_locations - GL_NV_sample_mask_override_coverage - GL_NV_shader_atomic_counters - GL_NV_shader_atomic_float - GL_NV_shader_atomic_float64 - GL_NV_shader_atomic_fp16_vector - GL_NV_shader_atomic_int64 - GL_NV_shader_buffer_load - GL_NV_shader_storage_buffer_object - GL_NV_stereo_view_rendering - GL_NV_texgen_reflection - GL_NV_texture_barrier - GL_NV_texture_compression_vtc - GL_NV_texture_env_combine4 - GL_NV_texture_multisample - GL_NV_texture_rectangle - GL_NV_texture_rectangle_compressed - GL_NV_texture_shader - GL_NV_texture_shader2 - GL_NV_texture_shader3 - GL_NV_transform_feedback - GL_NV_transform_feedback2 - GL_NV_uniform_buffer_unified_memory - GL_NV_vertex_array_range - GL_NV_vertex_array_range2 - GL_NV_vertex_attrib_integer_64bit - GL_NV_vertex_buffer_unified_memory - GL_NV_vertex_program - GL_NV_vertex_program1_1 - GL_NV_vertex_program2 - GL_NV_vertex_program2_option - GL_NV_vertex_program3 - GL_NV_viewport_array2 - GL_NV_viewport_swizzle - GL_NVX_conditional_render - GL_NVX_gpu_memory_info - GL_NVX_multigpu_info - GL_NVX_nvenc_interop - GL_NV_shader_thread_group - GL_NV_shader_thread_shuffle - GL_KHR_blend_equation_advanced - GL_KHR_blend_equation_advanced_coherent - GL_SGIS_generate_mipmap - GL_SGIS_texture_lod - GL_SGIX_depth_texture - GL_SGIX_shadow - GL_SUN_slice_accum - GL_WIN_swap_hint - WGL_EXT_swap_control - WGL_ARB_buffer_region - WGL_ARB_create_context - WGL_ARB_create_context_no_error - WGL_ARB_create_context_profile - WGL_ARB_create_context_robustness - WGL_ARB_context_flush_control - WGL_ARB_extensions_string - WGL_ARB_make_current_read - WGL_ARB_multisample - WGL_ARB_pbuffer - WGL_ARB_pixel_format - WGL_ARB_pixel_format_float - WGL_ARB_render_texture - WGL_ATI_pixel_format_float - WGL_EXT_colorspace - WGL_EXT_create_context_es_profile - WGL_EXT_create_context_es2_profile - WGL_EXT_extensions_string - WGL_EXT_framebuffer_sRGB - WGL_EXT_pixel_format_packed_float - WGL_EXT_swap_control_tear - WGL_NVX_DX_interop - WGL_NV_DX_interop - WGL_NV_DX_interop2 - WGL_NV_copy_image - WGL_NV_delay_before_swap - WGL_NV_float_buffer - WGL_NV_multisample_coverage - WGL_NV_render_depth_texture - WGL_NV_render_texture_rectangle
This driver exposes 10 OpenGL SPIR-V extensions:
- SPV_KHR_post_depth_coverage - SPV_KHR_shader_atomic_counter_ops - SPV_KHR_shader_ballot - SPV_KHR_shader_draw_parameters - SPV_KHR_storage_buffer_storage_class - SPV_KHR_subgroup_vote - SPV_NV_geometry_shader_passthrough - SPV_NV_sample_mask_override_coverage - SPV_NV_stereo_view_rendering - SPV_NV_viewport_array2
Vulkan API Support
GeForce 397.31 exposes Vulkan 1.1.70 API:
- Instance extensions: 12 - VK_EXT_debug_report (version: 9) - VK_EXT_display_surface_counter (version: 1) - VK_KHR_get_physical_device_properties2 (version: 1) - VK_KHR_get_surface_capabilities2 (version: 1) - VK_KHR_surface (version: 25) - VK_KHR_win32_surface (version: 6) - VK_KHR_device_group_creation (version: 1) - VK_KHR_external_fence_capabilities (version: 1) - VK_KHR_external_memory_capabilities (version: 1) - VK_KHR_external_semaphore_capabilities (version: 1) - VK_NV_external_memory_capabilities (version: 1) - VK_EXT_debug_utils (version: 1) - Instance layers: 4 - VK_LAYER_NV_optimus (version: 1.1.70, impl: 1) - VK_LAYER_RENDERDOC_Capture (version: 1.0.0, impl: 91) - VK_LAYER_NV_nsight (version: 1.0.13, impl: 1) - VK_LAYER_LUNARG_standard_validation (version: 1.0.70, impl: 1) - Physical devices: 2 - [Vulkan device 0]: GeForce GTX 1080 ------------------ - API version: 1.1.70 - vendorID: 4318 - deviceID: 7040 - driver version: 1665646592 - NVIDIA driver version: 397.31 - memory heap count: 2 - heap1: 8079MB - heap2: 32706MB - memory type count: 4 - mem type 7 - heap index : 0 - property flag : 1 > mem property: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT - mem type 8 - heap index : 0 - property flag : 1 > mem property: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT - mem type 9 - heap index : 1 - property flag : 6 > mem property: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT > mem property: VK_MEMORY_PROPERTY_HOST_COHERENT_BIT - mem type 10 - heap index : 1 - property flag : 14 > mem property: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT > mem property: VK_MEMORY_PROPERTY_HOST_COHERENT_BIT > mem property: VK_MEMORY_PROPERTY_HOST_CACHED_BIT - extensions: 53 - VK_KHR_swapchain (version: 70) - VK_KHR_16bit_storage (version: 1) - VK_KHR_bind_memory2 (version: 1) - VK_KHR_dedicated_allocation (version: 3) - VK_KHR_descriptor_update_template (version: 1) - VK_KHR_device_group (version: 3) - VK_KHR_get_memory_requirements2 (version: 1) - VK_KHR_image_format_list (version: 1) - VK_KHR_maintenance1 (version: 1) - VK_KHR_maintenance2 (version: 1) - VK_KHR_maintenance3 (version: 1) - VK_KHR_multiview (version: 1) - VK_KHR_push_descriptor (version: 2) - VK_KHR_relaxed_block_layout (version: 1) - VK_KHR_sampler_mirror_clamp_to_edge (version: 1) - VK_KHR_sampler_ycbcr_conversion (version: 1) - VK_KHR_shader_draw_parameters (version: 1) - VK_KHR_storage_buffer_storage_class (version: 1) - VK_KHR_external_memory (version: 1) - VK_KHR_external_memory_win32 (version: 1) - VK_KHR_external_semaphore (version: 1) - VK_KHR_external_semaphore_win32 (version: 1) - VK_KHR_win32_keyed_mutex (version: 1) - VK_KHR_external_fence (version: 1) - VK_KHR_external_fence_win32 (version: 1) - VK_KHR_variable_pointers (version: 1) - VK_KHX_device_group (version: 2) - VK_KHX_multiview (version: 1) - VK_EXT_blend_operation_advanced (version: 2) - VK_EXT_conservative_rasterization (version: 1) - VK_EXT_depth_range_unrestricted (version: 1) - VK_EXT_discard_rectangles (version: 1) - VK_EXT_post_depth_coverage (version: 1) - VK_EXT_sample_locations (version: 1) - VK_EXT_sampler_filter_minmax (version: 1) - VK_EXT_shader_subgroup_ballot (version: 1) - VK_EXT_shader_subgroup_vote (version: 1) - VK_EXT_shader_viewport_index_layer (version: 1) - VK_NV_dedicated_allocation (version: 1) - VK_NV_external_memory (version: 1) - VK_NV_external_memory_win32 (version: 1) - VK_NV_fill_rectangle (version: 1) - VK_NV_fragment_coverage_to_color (version: 1) - VK_NV_framebuffer_mixed_samples (version: 1) - VK_NV_glsl_shader (version: 1) - VK_NV_win32_keyed_mutex (version: 1) - VK_NV_clip_space_w_scaling (version: 1) - VK_NV_sample_mask_override_coverage (version: 1) - VK_NV_viewport_array2 (version: 1) - VK_NV_viewport_swizzle (version: 1) - VK_NV_geometry_shader_passthrough (version: 1) - VK_NVX_device_generated_commands (version: 3) - VK_NVX_multiview_per_view_attributes (version: 1) - device layers: 1 - VK_LAYER_NV_optimus (version: 1.1.70, impl: 1) - device features: - robustBufferAccess: true - fullDrawIndexUint32: true - imageCubeArray: true - independentBlend: true - geometryShader: true - tessellationShader: true - sampleRateShading: true - dualSrcBlend: true - logicOp: true - multiDrawIndirect: true - drawIndirectFirstInstance: true - depthClamp: true - depthBiasClamp: true - fillModeNonSolid: true - depthBounds: true - wideLines: true - largePoints: true - alphaToOne: true - multiViewport: true - samplerAnisotropy: true - textureCompressionETC2: false - textureCompressionASTC_LDR: false - textureCompressionBC: true - occlusionQueryPrecise: true - pipelineStatisticsQuery: true - vertexPipelineStoresAndAtomics: true - fragmentStoresAndAtomics: true - shaderTessellationAndGeometryPointSize: true - shaderImageGatherExtended: true - shaderStorageImageExtendedFormats: true - shaderStorageImageMultisample: true - shaderStorageImageReadWithoutFormat: true - shaderStorageImageWriteWithoutFormat: true - shaderUniformBufferArrayDynamicIndexing: true - shaderSampledImageArrayDynamicIndexing: true - shaderStorageBufferArrayDynamicIndexing: true - shaderStorageImageArrayDynamicIndexing: true - shaderClipDistance: true - shaderCullDistance: true - shaderFloat64: true - shaderInt64: true - shaderInt16: true - shaderResourceResidency: true - shaderResourceMinLod: true - sparseBinding: true - sparseResidencyBuffer: true - sparseResidencyImage2D: true - sparseResidencyImage3D: true - sparseResidency2Samples: true - sparseResidency4Samples: true - sparseResidency8Samples: true - sparseResidency16Samples: true - sparseResidencyAliased: true - variableMultisampleRate: true - inheritedQueries: true - device limits - maxImageDimension1D: 32768 - maxImageDimension2D: 32768 - maxImageDimension3D: 16384 - maxImageDimensionCube: 32768 - maxImageArrayLayers: 2048 - maxTexelBufferElements: 134217728 - maxUniformBufferRange: 65536 - maxStorageBufferRange: 4294967295 - maxPushConstantsSize: 256 - maxMemoryAllocationCount: 4096 - maxSamplerAllocationCount: 4000 - bufferImageGranularity: 1024 - sparseAddressSpaceSize: 18446744073709551615 - maxBoundDescriptorSets: 8 - maxPerStageDescriptorSamplers: 4000 - maxPerStageDescriptorUniformBuffers: 12 - maxPerStageDescriptorSampledImages: 16384 - maxPerStageDescriptorStorageImages: 16384 - maxPerStageDescriptorInputAttachments: 8 - maxPerStageResources: 53268 - maxDescriptorSetSamplers: 4000 - maxDescriptorSetUniformBuffers: 72 - maxDescriptorSetUniformBuffersDynamic: 72 - maxDescriptorSetStorageBuffers: 4096 - maxDescriptorSetStorageBuffersDynamic: 16 - maxDescriptorSetSampledImages: 98304 - maxDescriptorSetStorageImages: 98304 - maxDescriptorSetInputAttachments: 8 - maxVertexInputAttributes: 32 - maxVertexInputBindings: 32 - maxVertexInputAttributeOffset: 2047 - maxVertexInputBindingStride: 2048 - maxVertexOutputComponents: 128 - maxTessellationGenerationLevel: 64 - maxTessellationPatchSize: 32 - maxTessellationControlPerVertexInputComponents: 128 - maxTessellationControlPerVertexOutputComponents: 128 - maxTessellationControlPerPatchOutputComponents: 120 - maxTessellationControlTotalOutputComponents: 4216 - maxTessellationEvaluationInputComponents: 128 - maxTessellationEvaluationOutputComponents: 128 - maxGeometryShaderInvocations: 32 - maxGeometryInputComponents: 128 - maxGeometryOutputComponents: 128 - maxGeometryOutputVertices: 1024 - maxGeometryTotalOutputComponents: 1024 - maxFragmentInputComponents: 128 - maxFragmentOutputAttachments: 8 - maxFragmentDualSrcAttachments: 1 - maxFragmentCombinedOutputResources: 16 - maxComputeSharedMemorySize: 49152 - maxComputeWorkGroupCount: [2147483647; 65535; 65535] - maxComputeWorkGroupInvocations: 1536 - maxComputeWorkGroupSize: [1536; 1024; 64] - subPixelPrecisionBits: 8 - subTexelPrecisionBits: 8 - mipmapPrecisionBits: 8 - maxDrawIndexedIndexValue: 4294967295 - maxDrawIndirectCount: 4294967295 - maxSamplerLodBias: 15.000000 - maxSamplerAnisotropy: 16.000000 - maxViewports: 16 - maxViewportDimensions: [32768; 32768] - viewportBoundsRange: [-65536.000000 ; 65536.000000] - viewportSubPixelBits: 8 - minMemoryMapAlignment: 64 - minTexelBufferOffsetAlignment: 16 - minUniformBufferOffsetAlignment: 256 - minStorageBufferOffsetAlignment: 32 - minTexelOffset: 4294967288 - maxTexelOffset: 7 - minTexelGatherOffset: 4294967264 - maxTexelGatherOffset: 31 - minInterpolationOffset: -0.500000 - maxInterpolationOffset: 0.437500 - subPixelInterpolationOffsetBits: 4 - maxFramebufferWidth: 32768 - maxFramebufferHeight: 32768 - maxFramebufferLayers: 2048 - framebufferColorSampleCounts: 15 - framebufferDepthSampleCounts: 15 - framebufferStencilSampleCounts: 31 - framebufferNoAttachmentsSampleCounts: 31 - maxColorAttachments: 8 - sampledImageColorSampleCounts: 15 - sampledImageIntegerSampleCounts: 15 - sampledImageDepthSampleCounts: 15 - sampledImageStencilSampleCounts: 31 - storageImageSampleCounts: 15 - maxSampleMaskWords: 1 - timestampComputeAndGraphics: 1 - timestampPeriod: 1.000000 - maxClipDistances: 8 - maxCullDistances: 8 - maxCombinedClipAndCullDistances: 8 - discreteQueuePriorities: 2 - pointSizeRange: [1.000000 ; 189.875000] - lineWidthRange: [0.500000 ; 10.000000] - pointSizeGranularity: 0.125000 - lineWidthGranularity: 0.125000 - strictLines: 1 - standardSampleLocations: 1 - optimalBufferCopyOffsetAlignment: 1 - optimalBufferCopyRowPitchAlignment: 1 - nonCoherentAtomSize: 64 - [Vulkan device 1]: GeForce GT 1030 ------------------ - API version: 1.1.70 - vendorID: 4318 - deviceID: 7425 - driver version: 1665646592 - NVIDIA driver version: 397.31 - memory heap count: 2 - heap1: 1982MB - heap2: 32706MB - memory type count: 4 - mem type 7 - heap index : 0 - property flag : 1 > mem property: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT - mem type 8 - heap index : 0 - property flag : 1 > mem property: VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT - mem type 9 - heap index : 1 - property flag : 6 > mem property: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT > mem property: VK_MEMORY_PROPERTY_HOST_COHERENT_BIT - mem type 10 - heap index : 1 - property flag : 14 > mem property: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT > mem property: VK_MEMORY_PROPERTY_HOST_COHERENT_BIT > mem property: VK_MEMORY_PROPERTY_HOST_CACHED_BIT - extensions: 53 - VK_KHR_swapchain (version: 70) - VK_KHR_16bit_storage (version: 1) - VK_KHR_bind_memory2 (version: 1) - VK_KHR_dedicated_allocation (version: 3) - VK_KHR_descriptor_update_template (version: 1) - VK_KHR_device_group (version: 3) - VK_KHR_get_memory_requirements2 (version: 1) - VK_KHR_image_format_list (version: 1) - VK_KHR_maintenance1 (version: 1) - VK_KHR_maintenance2 (version: 1) - VK_KHR_maintenance3 (version: 1) - VK_KHR_multiview (version: 1) - VK_KHR_push_descriptor (version: 2) - VK_KHR_relaxed_block_layout (version: 1) - VK_KHR_sampler_mirror_clamp_to_edge (version: 1) - VK_KHR_sampler_ycbcr_conversion (version: 1) - VK_KHR_shader_draw_parameters (version: 1) - VK_KHR_storage_buffer_storage_class (version: 1) - VK_KHR_external_memory (version: 1) - VK_KHR_external_memory_win32 (version: 1) - VK_KHR_external_semaphore (version: 1) - VK_KHR_external_semaphore_win32 (version: 1) - VK_KHR_win32_keyed_mutex (version: 1) - VK_KHR_external_fence (version: 1) - VK_KHR_external_fence_win32 (version: 1) - VK_KHR_variable_pointers (version: 1) - VK_KHX_device_group (version: 2) - VK_KHX_multiview (version: 1) - VK_EXT_blend_operation_advanced (version: 2) - VK_EXT_conservative_rasterization (version: 1) - VK_EXT_depth_range_unrestricted (version: 1) - VK_EXT_discard_rectangles (version: 1) - VK_EXT_post_depth_coverage (version: 1) - VK_EXT_sample_locations (version: 1) - VK_EXT_sampler_filter_minmax (version: 1) - VK_EXT_shader_subgroup_ballot (version: 1) - VK_EXT_shader_subgroup_vote (version: 1) - VK_EXT_shader_viewport_index_layer (version: 1) - VK_NV_dedicated_allocation (version: 1) - VK_NV_external_memory (version: 1) - VK_NV_external_memory_win32 (version: 1) - VK_NV_fill_rectangle (version: 1) - VK_NV_fragment_coverage_to_color (version: 1) - VK_NV_framebuffer_mixed_samples (version: 1) - VK_NV_glsl_shader (version: 1) - VK_NV_win32_keyed_mutex (version: 1) - VK_NV_clip_space_w_scaling (version: 1) - VK_NV_sample_mask_override_coverage (version: 1) - VK_NV_viewport_array2 (version: 1) - VK_NV_viewport_swizzle (version: 1) - VK_NV_geometry_shader_passthrough (version: 1) - VK_NVX_device_generated_commands (version: 3) - VK_NVX_multiview_per_view_attributes (version: 1) - device layers: 1 - VK_LAYER_NV_optimus (version: 1.1.70, impl: 1) - device features: - robustBufferAccess: true - fullDrawIndexUint32: true - imageCubeArray: true - independentBlend: true - geometryShader: true - tessellationShader: true - sampleRateShading: true - dualSrcBlend: true - logicOp: true - multiDrawIndirect: true - drawIndirectFirstInstance: true - depthClamp: true - depthBiasClamp: true - fillModeNonSolid: true - depthBounds: true - wideLines: true - largePoints: true - alphaToOne: true - multiViewport: true - samplerAnisotropy: true - textureCompressionETC2: false - textureCompressionASTC_LDR: false - textureCompressionBC: true - occlusionQueryPrecise: true - pipelineStatisticsQuery: true - vertexPipelineStoresAndAtomics: true - fragmentStoresAndAtomics: true - shaderTessellationAndGeometryPointSize: true - shaderImageGatherExtended: true - shaderStorageImageExtendedFormats: true - shaderStorageImageMultisample: true - shaderStorageImageReadWithoutFormat: true - shaderStorageImageWriteWithoutFormat: true - shaderUniformBufferArrayDynamicIndexing: true - shaderSampledImageArrayDynamicIndexing: true - shaderStorageBufferArrayDynamicIndexing: true - shaderStorageImageArrayDynamicIndexing: true - shaderClipDistance: true - shaderCullDistance: true - shaderFloat64: true - shaderInt64: true - shaderInt16: true - shaderResourceResidency: true - shaderResourceMinLod: true - sparseBinding: true - sparseResidencyBuffer: true - sparseResidencyImage2D: true - sparseResidencyImage3D: true - sparseResidency2Samples: true - sparseResidency4Samples: true - sparseResidency8Samples: true - sparseResidency16Samples: true - sparseResidencyAliased: true - variableMultisampleRate: true - inheritedQueries: true - device limits - maxImageDimension1D: 32768 - maxImageDimension2D: 32768 - maxImageDimension3D: 16384 - maxImageDimensionCube: 32768 - maxImageArrayLayers: 2048 - maxTexelBufferElements: 134217728 - maxUniformBufferRange: 65536 - maxStorageBufferRange: 4294967295 - maxPushConstantsSize: 256 - maxMemoryAllocationCount: 4096 - maxSamplerAllocationCount: 4000 - bufferImageGranularity: 1024 - sparseAddressSpaceSize: 18446744073709551615 - maxBoundDescriptorSets: 8 - maxPerStageDescriptorSamplers: 4000 - maxPerStageDescriptorUniformBuffers: 12 - maxPerStageDescriptorSampledImages: 16384 - maxPerStageDescriptorStorageImages: 16384 - maxPerStageDescriptorInputAttachments: 8 - maxPerStageResources: 53268 - maxDescriptorSetSamplers: 4000 - maxDescriptorSetUniformBuffers: 72 - maxDescriptorSetUniformBuffersDynamic: 72 - maxDescriptorSetStorageBuffers: 4096 - maxDescriptorSetStorageBuffersDynamic: 16 - maxDescriptorSetSampledImages: 98304 - maxDescriptorSetStorageImages: 98304 - maxDescriptorSetInputAttachments: 8 - maxVertexInputAttributes: 32 - maxVertexInputBindings: 32 - maxVertexInputAttributeOffset: 2047 - maxVertexInputBindingStride: 2048 - maxVertexOutputComponents: 128 - maxTessellationGenerationLevel: 64 - maxTessellationPatchSize: 32 - maxTessellationControlPerVertexInputComponents: 128 - maxTessellationControlPerVertexOutputComponents: 128 - maxTessellationControlPerPatchOutputComponents: 120 - maxTessellationControlTotalOutputComponents: 4216 - maxTessellationEvaluationInputComponents: 128 - maxTessellationEvaluationOutputComponents: 128 - maxGeometryShaderInvocations: 32 - maxGeometryInputComponents: 128 - maxGeometryOutputComponents: 128 - maxGeometryOutputVertices: 1024 - maxGeometryTotalOutputComponents: 1024 - maxFragmentInputComponents: 128 - maxFragmentOutputAttachments: 8 - maxFragmentDualSrcAttachments: 1 - maxFragmentCombinedOutputResources: 16 - maxComputeSharedMemorySize: 49152 - maxComputeWorkGroupCount: [2147483647; 65535; 65535] - maxComputeWorkGroupInvocations: 1536 - maxComputeWorkGroupSize: [1536; 1024; 64] - subPixelPrecisionBits: 8 - subTexelPrecisionBits: 8 - mipmapPrecisionBits: 8 - maxDrawIndexedIndexValue: 4294967295 - maxDrawIndirectCount: 4294967295 - maxSamplerLodBias: 15.000000 - maxSamplerAnisotropy: 16.000000 - maxViewports: 16 - maxViewportDimensions: [32768; 32768] - viewportBoundsRange: [-65536.000000 ; 65536.000000] - viewportSubPixelBits: 8 - minMemoryMapAlignment: 64 - minTexelBufferOffsetAlignment: 16 - minUniformBufferOffsetAlignment: 256 - minStorageBufferOffsetAlignment: 32 - minTexelOffset: 4294967288 - maxTexelOffset: 7 - minTexelGatherOffset: 4294967264 - maxTexelGatherOffset: 31 - minInterpolationOffset: -0.500000 - maxInterpolationOffset: 0.437500 - subPixelInterpolationOffsetBits: 4 - maxFramebufferWidth: 32768 - maxFramebufferHeight: 32768 - maxFramebufferLayers: 2048 - framebufferColorSampleCounts: 15 - framebufferDepthSampleCounts: 15 - framebufferStencilSampleCounts: 31 - framebufferNoAttachmentsSampleCounts: 31 - maxColorAttachments: 8 - sampledImageColorSampleCounts: 15 - sampledImageIntegerSampleCounts: 15 - sampledImageDepthSampleCounts: 15 - sampledImageStencilSampleCounts: 31 - storageImageSampleCounts: 15 - maxSampleMaskWords: 1 - timestampComputeAndGraphics: 1 - timestampPeriod: 1.000000 - maxClipDistances: 8 - maxCullDistances: 8 - maxCombinedClipAndCullDistances: 8 - discreteQueuePriorities: 2 - pointSizeRange: [1.000000 ; 189.875000] - lineWidthRange: [0.500000 ; 10.000000] - pointSizeGranularity: 0.125000 - lineWidthGranularity: 0.125000 - strictLines: 1 - standardSampleLocations: 1 - optimalBufferCopyOffsetAlignment: 1 - optimalBufferCopyRowPitchAlignment: 1 - nonCoherentAtomSize: 64
https://forums.guru3d.com/threads/geforce-397-31-whql-game-ready-download-discussion.420578/page-2#post-5540844
https://s6.postimg.cc/9hlblcqn5/dxdiuag.png
This driver also supports WDDM 2.4 on Windows 10 1803 RS4.
https://developer.nvidia.com/vulkan-driver
Nvidia 397.40 Windows developer beta driver.
April 25th, 2018 – Windows 397.40, Linux 396.18.05
Windows driver feature parity with Linux 396.18.02
Bug fixes
April 17th, 2018 – Linux 396.18.02
New Extensions
VK_EXT_descriptor_indexing
Increased several resource limits, notably:
maxPerStageDescriptorUniformBuffers: 12 -> 15
maxPerStageDescriptorSamplers: 4,000 -> 1,048,576
maxPerStageDescriptorSampledImages: 16,384 -> 1,048,576
maxPerStageDescriptorStorageBuffers: 4,096 -> 1,048,576
And many others
Shader performance improvements
https://www.geforce.com/whats-new/articles/destiny-2-warmind-pillars-of-eternity-2-game-ready-driver
Nvidia GeForce 397.64 WHQL driver.
https://us.download.nvidia.com/Windows/397.93/397.93-desktop-win10-64bit-international-whql.exe
http://us.download.nvidia.com/Windows/397.93/397.93-win10-win8-win7-desktop-release-notes.pdf
Nvidia GeForce 397.93 WHQL driver
https://developer.nvidia.com/vulkan-driver
July 12th, 2018 – Windows 398.58, Linux 396.24.10
New Extensions:
VK_KHR_8bit_storage
VK_KHR_create_renderpass2
VK_EXT_conditional_rendering
Bug fixes:
Fixed an intermittent hang of Vulkan applications running fullscreen when flipping is allowed on Linux
Various other driver and compiler fixes
Latest Nvidia Vulkan developer beta driver.