NVIDIA GeForce 397.31 Graphics Driver Released (OpenGL 4.6, Vulkan 1.1, RTX, CUDA 9.2)


NVIDIA logo


Update (2018.05.04): NVIDIA has released a hotfix driver that fixes some bugs of 397.31:


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

 
GeForce 397.31 Notebook Downloads

 


NVIDIA GeForce 391.35 + GPU Caps Viewer + GTX 1080

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

5 thoughts on “NVIDIA GeForce 397.31 Graphics Driver Released (OpenGL 4.6, Vulkan 1.1, RTX, CUDA 9.2)”

  1. NV

    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

  2. NV

    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.

Comments are closed.