NVIDIA R382.88 Graphics Driver for Developers: OpenGL 4.6 + Vulkan 1.0.56



Yesterday, NVIDIA has published a graphics driver for developers that packs latest features in the field of graphics programming: the support of the new OpenGL 4.6 and the latest version 1.0.56 of the Vulkan API. Curiously, the download of this new driver is not public: you must have a NV developer account to grab it…


NVIDIA 382.88 driver: OpenGL 4.6 + Vulkan 1.0.56
NVIDIA 382.88 driver: OpenGL 4.6 + Vulkan 1.0.56 + GPU Caps Viewer

 

OpenGL 4.6 Extensions

R382.88 exposes 402 OpenGL extensions (GL=371 and WGL=31) for a GTX 1080 on Windows 10 64-bit. OpenGL 4.6 introduces OpenGL/SPIR-V extensions as well that allows to support SPIR-V modules in OpenGL. R382.88 exposes 10 SPIR-V extensions.

- OpenGL vendor: NVIDIA Corporation
- OpenGL renderer: GeForce GTX 1080/PCIe/SSE2
- OpenGL Version: 4.6.0 NVIDIA 382.88

- OpenGL SPIR-V Extensions: 10
  - 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

- OpenGL Extensions: 402 extensions (GL=371 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_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_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_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

 

Vulkan 1.0.56 API

- Instance extensions: 11
  - VK_KHR_surface (version: 25)
  - VK_KHR_win32_surface (version: 6)
  - VK_KHR_get_physical_device_properties2 (version: 1)
  - VK_EXT_debug_report (version: 8)
  - VK_EXT_display_surface_counter (version: 1)
  - VK_KHR_get_surface_capabilities2 (version: 1)
  - VK_KHX_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)

- Instance layers: 3
  - VK_LAYER_VALVE_steam_overlay (version: 1.0.3, impl: 1)
  - VK_LAYER_NV_optimus (version: 1.0.56, impl: 1)
  - VK_LAYER_LUNARG_standard_validation (version: 1.0.54, impl: 1)

- Physical devices: 1

  - [Vulkan device 0]: GeForce GTX 1080 ------------------
    - API version: 1.0.56
    - vendorID: 4318
    - deviceID: 7040
    - driver version: 1603665920
  - memory heap count: 2
    - heap1: 8110MB
    - heap2: 16330MB
  - 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: 48
    - VK_KHR_swapchain (version: 68)
    - VK_KHR_16bit_storage (version: 1)
    - VK_KHR_descriptor_update_template (version: 1)
    - VK_KHR_dedicated_allocation (version: 1)
    - VK_KHR_get_memory_requirements2 (version: 1)
    - VK_KHR_maintenance1 (version: 1)
    - VK_KHR_push_descriptor (version: 1)
    - VK_KHR_relaxed_block_layout (version: 1)
    - VK_KHR_sampler_mirror_clamp_to_edge (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_external_memory (version: 1)
    - VK_KHX_external_memory_win32 (version: 1)
    - VK_KHX_external_semaphore (version: 1)
    - VK_KHX_external_semaphore_win32 (version: 1)
    - VK_KHX_multiview (version: 1)
    - VK_KHX_win32_keyed_mutex (version: 1)
    - VK_EXT_blend_operation_advanced (version: 2)
    - VK_EXT_depth_range_unrestricted (version: 1)
    - VK_EXT_discard_rectangles (version: 1)
    - VK_EXT_post_depth_coverage (version: 1)
    - VK_EXT_sampler_filter_minmax (version: 1)
    - VK_EXT_shader_subgroup_ballot (version: 1)
    - VK_EXT_shader_subgroup_vote (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: 1)
    - VK_NVX_multiview_per_view_attributes (version: 1)
  - device layers: 1
    - VK_LAYER_NV_optimus (version: 1.0.56, 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: false
    - shaderResourceResidency: true
    - shaderResourceMinLod: true
    - sparseBinding: true
    - sparseResidencyBuffer: true
    - sparseResidencyImage2D: true
    - sparseResidencyImage3D: true
    - sparseResidency2Samples: true
    - sparseResidency4Samples: false
    - 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: 2147483647
    - 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