NVIDIA R346.16 for Linux, OpenGL 4.5 Support




NVIDIA R346.16 for Linux - GLSL Hacker

NVIDIA has released a set of graphics drivers for Unix/Linux systems. R346.16 brings new OpenGL features, improvements and bugfixes. This driver exposes OpenGL 4.5 API for capable hardware.

R346.16 DOWNLOADS:

R346.16 release notes:

  • Added support for the following GPUs:
    • GeForce GTX 970M
    • GeForce GTX 980M

  • Added support for the following EGL extensions:
    • EGL_EXT_device_base
    • EGL_EXT_platform_device
    • EGL_EXT_output_base

  • Fixed a bug that caused a blank screen when setting a mode requiring YUV 4:2:0 compression. These modes are not currently supported.
  • Fixed a bug that caused an incorrect DisplayPort link configuration to be displayed after a hotplug or unplug.
  • Added support for decoding VP8 video streams using the NVCUVID API on GPUs with VP8 hardware decode support.
  • Added the ability to increase the operating voltage on certain GeForce GPUs in the GeForce GTX 400 series and later. Voltage adjustments are done at the user’s own risk. See the documentation on the "CoolBits" X configuration option in the README for details.
  • Added support for NVENC on GeForce GPUs. For more details on the NVENC SDK, see:

    https://developer.nvidia.com/nvidia-video-codec-sdk

  • Removed a sanity check in nvidia-installer that tested the availability of POSIX shared memory. The NVIDIA GPU driver has not required POSIX shared memory since release 270.xx.
  • Removed the NVIDIA Unified Memory kernel module, nvidia-uvm.ko, from the driver package on 32-bit architectures.
  • Added accelerated support for r8g8b8a8, r8g8b8x8, b8g8r8a8 and b8g8r8x8 RENDER formats.
  • Updated nvidia-settings to take advantage of GTK+ 3, when available. This is implemented by building the nvidia-settings user interface into separate shared libraries (libnvidia-gtk2.so, libnvidia-gtk3.so), and loading the correct one at run-time.
  • Added the nvidia-settings option –gtk-library to allow specifying the path of the directory containing the user interface library or the path and filename of the specific library to use.
  • Added support in nvidia-settings for a GTK+ 3 user interface on x86 and x86_64.
  • Added the nvidia-settings option –use-gtk2 to force the use of the GTK+ 2 UI library.
  • Updated nvidia-installer to install a file in the system’s xorg.conf.d directory, when a sufficiently new X server is detected, to cause the X server to load the "nvidia" X driver automatically if it is started after the NVIDIA kernel module is loaded.
    This feature is supported in X.Org xserver 1.16 and higher when running on Linux 3.9 or higher with CONFIG_DRM enabled.
  • Improved the performance of nvidia-installer by enabling the use of parallel make when building the NVIDIA kernel modules. The concurrency level can be set with the –concurrency-level option, and defaults to the number of detected CPUs.
  • Updated nvidia-installer to determine default installation locations for libraries based on the presence of known paths in the ldconfig(8) cache and the filesystem, rather than hardcoded distro-specific paths.
  • Fixed a GLSL compiler bug that would produce corruption when running games such as Far Cry 3 in Wine.
  • Fixed the EGL_KHR_stream_cross_process_fd extension.
  • Fixed rendering corruption that sometimes happened when calling DrawElementsInstancedBaseVertexBaseInstance(), DrawElementsInstancedBaseInstance(), or DrawArraysInstancedBaseInstance().
  • Dramatically improved OpenGL Framebuffer Object creation performance.
  • Removed the limit on the maximum number of OpenGL Framebuffer Objects.
  • Updated the NVIDIA OpenGL driver to prefer $XDG_CACHE_HOME over $HOME as the default location for storing the GL shader disk cache.
  • Fixed a bug that rendered very bright garbage data onto some textures in UnrealEngine 4 applications. This issue is known as the "disco bug" by the UnrealEngine 4 Linux community.
  • Fixed a bug that could cause the CUDA debugger to fail after exiting X on systems with persistence mode enabled.
  • Fixed a bug that could cause silent and intermittent failures when a CUDA application writes to a peer device’s memory with GPUDirect.
  • Improved compatibility with recent Linux kernels.


NVIDIA R346.16 for Linux - GLSL Hacker

R346.16 is an OpenGL 4.5 driver and exposes… 346 OpenGL extensions. Here is the report from GLSL Hacker log file:

=========================================================
GLX client information:
=========================================================
- GLX_VENDOR: NVIDIA Corporation
- GLX_VERSION: 1.4
- GLX client extensions:
- Number of GLX client extensions: 32
  • GLX_ARB_get_proc_address
  • GLX_ARB_multisample
  • GLX_EXT_visual_info
  • GLX_EXT_visual_rating
  • GLX_EXT_import_context
  • GLX_SGI_video_sync
  • GLX_NV_swap_group
  • GLX_NV_video_out
  • GLX_SGIX_fbconfig
  • GLX_SGIX_pbuffer
  • GLX_SGI_swap_control
  • GLX_EXT_swap_control
  • GLX_EXT_swap_control_tear
  • GLX_EXT_buffer_age
  • GLX_ARB_create_context
  • GLX_ARB_create_context_profile
  • GLX_NV_float_buffer
  • GLX_ARB_fbconfig_float
  • GLX_EXT_fbconfig_packed_float
  • GLX_EXT_texture_from_pixmap
  • GLX_EXT_framebuffer_sRGB
  • GLX_NV_present_video
  • GLX_NV_copy_image
  • GLX_NV_copy_buffer
  • GLX_NV_multisample_coverage
  • GLX_NV_video_capture
  • GLX_EXT_create_context_es_profile
  • GLX_EXT_create_context_es2_profile
  • GLX_ARB_create_context_robustness
  • GLX_NV_delay_before_swap
  • GLX_EXT_stereo_tree
  • GLX_ARB_context_flush_control
=========================================================
OpenGL information
=========================================================
GL_RENDERER: GeForce GTX 680/PCIe/SSE2
GL_VENDOR: NVIDIA Corporation
GL_VERSION: 4.5.0 NVIDIA 346.16
GL_SHADING_LANGUAGE_VERSION: 4.50 NVIDIA
OpenGL version detected: 4.5
OpenGL extensions: 346
  • GL_AMD_multi_draw_indirect
  • GL_AMD_seamless_cubemap_per_texture
  • 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_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_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_gpu_shader5
  • GL_ARB_gpu_shader_fp64
  • 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_NV_internalformat_sample_query
  • 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_pipeline_statistics_query
  • GL_ARB_pixel_buffer_object
  • GL_ARB_point_parameters
  • GL_ARB_point_sprite
  • GL_ARB_program_interface_query
  • GL_ARB_provoking_vertex
  • GL_ARB_robust_buffer_access_behavior
  • GL_ARB_robustness
  • 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_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_query_buffer_object
  • 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_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_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_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_provoking_vertex
  • GL_EXT_rescale_normal
  • GL_EXT_secondary_color
  • GL_EXT_separate_shader_objects
  • GL_EXT_separate_specular_color
  • GL_EXT_shader_image_load_store
  • 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_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_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_x11_sync_object
  • GL_EXT_import_sync_object
  • GL_IBM_rasterpos_clip
  • GL_IBM_texture_mirrored_repeat
  • GL_KHR_context_flush_control
  • GL_KHR_debug
  • GL_KHR_robust_buffer_access_behavior
  • GL_KHR_robustness
  • GL_KTX_buffer_region
  • 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_square
  • GL_NV_compute_program5
  • GL_NV_conditional_render
  • 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_ES1_1_compatibility
  • GL_NV_ES3_1_compatibility
  • GL_NV_explicit_multisample
  • GL_NV_fence
  • GL_NV_float_buffer
  • GL_NV_fog_distance
  • GL_NV_fragment_program
  • GL_NV_fragment_program_option
  • GL_NV_fragment_program2
  • GL_NV_framebuffer_multisample_coverage
  • GL_NV_geometry_shader4
  • GL_NV_gpu_program4
  • 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_pixel_data_range
  • GL_NV_point_sprite
  • GL_NV_primitive_restart
  • GL_NV_register_combiners
  • GL_NV_register_combiners2
  • GL_NV_shader_atomic_counters
  • GL_NV_shader_atomic_float
  • GL_NV_shader_buffer_load
  • GL_NV_shader_storage_buffer_object
  • 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_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_vdpau_interop
  • 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_NVX_conditional_render
  • GL_NVX_gpu_memory_info
  • GL_NVX_nvenc_interop
  • GL_NV_shader_thread_group
  • GL_NV_shader_thread_shuffle
  • GL_KHR_blend_equation_advanced
  • GL_SGIS_generate_mipmap
  • GL_SGIS_texture_lod
  • GL_SGIX_depth_texture
  • GL_SGIX_shadow
  • GL_SUN_slice_accum
  • GLX_ARB_get_proc_address
  • GLX_ARB_multisample
  • GLX_EXT_visual_info
  • GLX_EXT_visual_rating
  • GLX_EXT_import_context
  • GLX_SGI_video_sync
  • GLX_NV_swap_group
  • GLX_NV_video_out
  • GLX_SGIX_fbconfig
  • GLX_SGIX_pbuffer
  • GLX_SGI_swap_control
  • GLX_EXT_swap_control
  • GLX_EXT_swap_control_tear
  • GLX_EXT_buffer_age
  • GLX_ARB_create_context
  • GLX_ARB_create_context_profile
  • GLX_NV_float_buffer
  • GLX_ARB_fbconfig_float
  • GLX_EXT_fbconfig_packed_float
  • GLX_EXT_texture_from_pixmap
  • GLX_EXT_framebuffer_sRGB
  • GLX_NV_present_video
  • GLX_NV_copy_image
  • GLX_NV_copy_buffer
  • GLX_NV_multisample_coverage
  • GLX_NV_video_capture
  • GLX_EXT_create_context_es_profile
  • GLX_EXT_create_context_es2_profile
  • GLX_ARB_create_context_robustness
  • GLX_NV_delay_before_swap
  • GLX_EXT_stereo_tree
  • GLX_ARB_context_flush_control

source | via