AMD Radeon Software Adrenalin 23.12.1 Released

AMD Software Adrenalin Edition July 2023


 
AMD has published last week the November 2023 Edition of its graphics driver for all modern Radeon graphics cards. Adrenalin 23.11.1 supports Radeon RX 7900, RX 7800, RX 7700, RX 7600, RX 6000, RX 5000, RX 500, RX 400 and RX Vega graphics cards. Radeon for laptop are also supported (RX 6800M, RX 6700M, RX 6600M, RX 6500M, RX 6300M, RX 5700M/5600M/5500M/5300M, and 600 Series Graphics).

New Feature Highlights

New Game Support
– Avatar: Frontiers of Pandora
– THE FINALS

NEW AMD Software UI Redesign –The Home and Gaming tab have undergone a UI redesign in this latest update of AMD Software: Adrenalin Edition.
– HYPR-RX profiles can now be enabled easily on a global basis, or per-game on the Home Tab; additionally, games on the Home tab now will display key art for a more vibrant experience
– When users go to the Graphics section within the Gaming tab, they will be able to learn more about specific features in each HYPR-RX profile by clicking on individual features to display a content block that contains more information about what benefits each feature enables
– Now when you view your performance metrics in AMD Software, you can choose to customize elements such as the background or text colours, default enabled metrics through profiles, as well as select options such as showing the metrics overlay only while a game is open.

Introducing: AMD HYPR-RX Eco – designed with power savings in mind, when HYPR-RX Eco is enabled, AMD Software will enable a suite of features for gamers to experience power savings with one click
– HYPR-RX Eco will launch initially with support for Radeon™️ 7000 Series graphics support and RDNA™️ 3 platforms

Expanded OpenGL Interop Support – AMD Software: Adrenalin Edition 23.12.1 expands support for FRTC, Radeon™ Super Resolution, Overlay, Record and Stream features to OpenGL games.

Additional OS Feature Support
– Support for Hardware Accelerated GPU Scheduling for Radeon RX 7900/7800/7700 series GPUs. Click HERE for more information.

Additional SDK Support
– Additional Vulkan extensions. Click HERE for more information.

Fixed Issues

– Improvements to high idle power when using select dual monitor display setups with mixed resolutions and high refresh rate displays (such as 1440p @ 120/144Hz + 1080p @ 120/144Hz or 2160p @ 120/144Hz + 1080p @ 120/144Hz) on Radeon RX 7000 series GPUs.
– Intermittent micro-stuttering may be experienced when running Chromium-based browsers on systems that pair a Radeon RX 7000 series GPU with a secondary display connected to an AMD Ryzen 7000 series processor.
– Stars may intermittently fail to appear while playing Crysis Remastered.
– Certain textures may become invisible while playing Final Fantasy X HD Remaster on Radeon RX 7000 series GPUs.
– Intermittent corruption may be observed on the racetrack while playing EA Sports WRC.
– Intermittent stutter while playing Overwatch 2 on some AMD Graphics Products, such as the Radeon RX 6900 XTX.

AMD provides more information about this December 2023 edition HERE.

 

Downloads

 

Quick driver information

Adrenalin 23.12.1

GPU Shark 2 + RX 7900 XT
AMD Adrenalin 2020 Edition - GPU Shark 2 + Radeon RX 7900 XT

 
And the new UI Redesign? I don’t know because the driver is maybe too shy and doesn’t want to show me the new UI. Each time I try to start the Adrenalin control center, I get:
AMD Adrenalin 23.12.1 bug...
And yes, I rebooted the PC several times…

 

OpenGL support

Adrenalin 23.12.1

Adrenalin 23.12.1 exposes OpenGL 4.6 and 313 extensions (core profile) for a Radeon RX 7900 XT on Windows 10. One extension has been added in this driver:
GL_AMD_debug_output

GL_RENDERER: AMD Radeon RX 7900 XT
GL_VENDOR: ATI Technologies Inc.
GL_VERSION: 4.6.0 Core Profile Context 23.12.1.231124
OpenGL extensions: 313
- GL_AMD_blend_minmax_factor
- GL_AMD_conservative_depth
- GL_AMD_debug_output
- GL_AMD_depth_clamp_separate
- GL_AMD_gpu_shader_half_float
- GL_AMD_gpu_shader_int16
- GL_AMD_gpu_shader_int64
- GL_AMD_multi_draw_indirect
- GL_AMD_pinned_memory
- GL_AMD_query_buffer_object
- GL_AMD_sample_positions
- GL_AMD_seamless_cubemap_per_texture
- GL_AMD_shader_trinary_minmax
- GL_AMD_texture_cube_map_array
- GL_AMD_vertex_shader_layer
- GL_AMD_vertex_shader_viewport_index
- GL_ARB_ES2_compatibility
- GL_ARB_ES3_1_compatibility
- GL_ARB_ES3_compatibility
- 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_compressed_texture_pixel_storage
- GL_ARB_compute_shader
- GL_ARB_conditional_render_inverted
- GL_ARB_conservative_depth
- 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_elements_base_vertex
- GL_ARB_draw_indirect
- GL_ARB_draw_instanced
- GL_ARB_enhanced_layouts
- GL_ARB_explicit_attrib_location
- GL_ARB_explicit_uniform_location
- GL_ARB_fragment_coord_conventions
- GL_ARB_fragment_layer_viewport
- GL_ARB_fragment_program
- GL_ARB_fragment_program_shadow
- GL_ARB_fragment_shader
- GL_ARB_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_indirect_parameters
- GL_ARB_instanced_arrays
- GL_ARB_internalformat_query
- GL_ARB_internalformat_query2
- GL_ARB_invalidate_subdata
- 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_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_stencil_export
- GL_ARB_shader_storage_buffer_object
- GL_ARB_shader_subroutine
- GL_ARB_shader_texture_image_samples
- GL_ARB_shader_texture_lod
- GL_ARB_shader_viewport_layer_array
- GL_ARB_shading_language_100
- GL_ARB_shading_language_420pack
- GL_ARB_shading_language_packing
- GL_ARB_shadow
- GL_ARB_shadow_ambient
- GL_ARB_sparse_buffer
- GL_ARB_sparse_texture
- 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_multisample_no_array
- 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_feedback
- 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_meminfo
- GL_ATI_separate_stencil
- GL_ATI_shader_texture_lod
- GL_ATI_texture_env_combine3
- GL_ATI_texture_float
- GL_ATI_texture_mirror_once
- 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_copy_buffer
- GL_EXT_copy_texture
- GL_EXT_debug_label
- 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_EXT_framebuffer_object
- GL_EXT_framebuffer_sRGB
- GL_EXT_geometry_shader4
- GL_EXT_gpu_program_parameters
- GL_EXT_gpu_shader4
- GL_EXT_memory_object
- GL_EXT_memory_object_win32
- GL_EXT_multi_draw_arrays
- GL_EXT_nonuniform_qualifier
- 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_semaphore
- GL_EXT_semaphore_win32
- GL_EXT_separate_specular_color
- GL_EXT_shader_image_load_store
- GL_EXT_shader_integer_mix
- GL_EXT_shadow_funcs
- GL_EXT_stencil_wrap
- GL_EXT_subtexture
- GL_EXT_texture
- GL_EXT_texture3D
- GL_EXT_texture_array
- GL_EXT_texture_buffer_object
- GL_EXT_texture_compression_bptc
- 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_add
- 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_rectangle
- GL_EXT_texture_sRGB
- GL_EXT_texture_sRGB_R8
- GL_EXT_texture_sRGB_RG8
- GL_EXT_texture_sRGB_decode
- GL_EXT_texture_shared_exponent
- GL_EXT_texture_snorm
- GL_EXT_texture_storage
- GL_EXT_texture_swizzle
- GL_EXT_timer_query
- GL_EXT_transform_feedback
- GL_EXT_vertex_array
- GL_EXT_vertex_array_bgra
- GL_EXT_vertex_attrib_64bit
- GL_IBM_texture_mirrored_repeat
- GL_KHR_blend_equation_advanced
- GL_KHR_blend_equation_advanced_coherent
- GL_KHR_debug
- GL_KHR_no_error
- GL_KHR_parallel_shader_compile
- GL_KHR_robust_buffer_access_behavior
- GL_KHR_robustness
- GL_KHR_shader_subgroup
- GL_KHR_texture_compression_astc_ldr
- GL_NV_blend_square
- GL_NV_conditional_render
- GL_NV_copy_image
- GL_NV_depth_buffer_float
- GL_NV_float_buffer
- GL_NV_half_float
- GL_NV_primitive_restart
- GL_NV_shader_atomic_int64
- GL_NV_texgen_reflection
- GL_NV_texture_barrier
- GL_NV_timeline_semaphore
- GL_OES_EGL_image
- GL_OVR_multiview
- GL_OVR_multiview2
- GL_S3_s3tc
- GL_SGIS_generate_mipmap
- GL_SGIS_texture_edge_clamp
- GL_SGIS_texture_lod
- GL_SUN_multi_draw_arrays
- WGL_EXT_swap_control
- WGL_AMD_gpu_association
- WGL_ARB_buffer_region
- WGL_ARB_context_flush_control
- WGL_ARB_create_context
- WGL_ARB_create_context_no_error
- WGL_ARB_create_context_profile
- WGL_ARB_extensions_string
- WGL_ARB_framebuffer_sRGB
- 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_EXT_create_context_es_profile
- WGL_EXT_create_context_es2_profile
- WGL_EXT_extensions_string
- WGL_EXT_swap_control_tear
- WGL_I3D_genlock
- WGL_NV_DX_interop
- WGL_NV_DX_interop2
- WGL_NV_swap_group

 

Vulkan support

Adrenalin 23.12.1 exposes Vulkan 1.3.264 and 166 device extensions for a Radeon RX 7900 XT / XTX on Windows 10 (64-bit). Compared to previous 23.11.1, this driver adds three device extensions:
– VK_KHR_maintenance5
– VK_EXT_frame_boundary
– VK_EXT_nested_command_buffer

# of Vulkan devices: 1
- Device 1
  - name: AMD Radeon RX 7900 XT
  - device type: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
  - device ID: 1002-744C
  - API version: 1.3.264

  - VK_KHR_ray_tracing_pipeline information:
    - shaderGroupHandleSize: 32
    - maxRayRecursionDepth: 1
    - maxShaderGroupStride: 4096
    - shaderGroupBaseAlignment: 64
    - shaderGroupHandleCaptureReplaySize: 32
    - maxRayDispatchInvocationCount: 1073741824
    - shaderGroupHandleAlignment: 4
    - maxRayHitAttributeSize: 32
    - maxRayDispatchInvocationCount: 1073741824

  - VK_KHR_acceleration_structure information:
    - maxGeometryCount: 16777216
    - maxInstanceCount: 16777216
    - maxPrimitiveCount: 536870912

  - VK_AMD_shader_core_properties information:
    - shaderEngineCount: 6
    - shaderArraysPerEngineCount: 2
    - computeUnitsPerShaderArray: 8
    - simdPerComputeUnit: 2
    - wavefrontsPerSimd: 16
    - wavefrontSize: 64
    - sgprsPerSimd: 2048
    - minSgprAllocation: 128
    - maxSgprAllocation: 104
    - sgprAllocationGranularity: 128
    - vgprsPerSimd: 1536
    - minVgprAllocation: 24
    - maxVgprAllocation: 256
    - vgprAllocationGranularity: 24

  - VK_KHR_driver_properties information:
    - driverName: AMD proprietary driver
    - driverID_str: VK_DRIVER_ID_AMD_PROPRIETARY_KHR
    - driverID: 1
    - conformanceVersion: 1.3.1.3
    - driverInfo: 23.12.1 (LLPC)

  - # of extensions: 166
  - VK_KHR_16bit_storage
  - VK_KHR_8bit_storage
  - VK_KHR_acceleration_structure
  - VK_KHR_bind_memory2
  - VK_KHR_buffer_device_address
  - VK_KHR_cooperative_matrix
  - VK_KHR_copy_commands2
  - VK_KHR_create_renderpass2
  - VK_KHR_dedicated_allocation
  - VK_KHR_deferred_host_operations
  - VK_KHR_depth_stencil_resolve
  - VK_KHR_descriptor_update_template
  - VK_KHR_device_group
  - VK_KHR_draw_indirect_count
  - VK_KHR_driver_properties
  - VK_KHR_dynamic_rendering
  - VK_KHR_external_fence
  - VK_KHR_external_fence_win32
  - VK_KHR_external_memory
  - VK_KHR_external_memory_win32
  - VK_KHR_external_semaphore
  - VK_KHR_external_semaphore_win32
  - VK_KHR_format_feature_flags2
  - VK_KHR_fragment_shader_barycentric
  - VK_KHR_fragment_shading_rate
  - VK_KHR_get_memory_requirements2
  - VK_KHR_global_priority
  - VK_KHR_imageless_framebuffer
  - VK_KHR_image_format_list
  - VK_KHR_maintenance1
  - VK_KHR_maintenance2
  - VK_KHR_maintenance3
  - VK_KHR_maintenance4
  - VK_KHR_maintenance5
  - VK_KHR_map_memory2
  - VK_KHR_multiview
  - VK_KHR_pipeline_executable_properties
  - VK_KHR_pipeline_library
  - VK_KHR_push_descriptor
  - VK_KHR_ray_query
  - VK_KHR_ray_tracing_maintenance1
  - VK_KHR_ray_tracing_pipeline
  - VK_KHR_ray_tracing_position_fetch
  - VK_KHR_relaxed_block_layout
  - VK_KHR_sampler_mirror_clamp_to_edge
  - VK_KHR_sampler_ycbcr_conversion
  - VK_KHR_separate_depth_stencil_layouts
  - VK_KHR_shader_atomic_int64
  - VK_KHR_shader_clock
  - VK_KHR_shader_draw_parameters
  - VK_KHR_shader_float16_int8
  - VK_KHR_shader_float_controls
  - VK_KHR_shader_integer_dot_product
  - VK_KHR_shader_non_semantic_info
  - VK_KHR_shader_subgroup_extended_types
  - VK_KHR_shader_subgroup_uniform_control_flow
  - VK_KHR_shader_terminate_invocation
  - VK_KHR_spirv_1_4
  - VK_KHR_storage_buffer_storage_class
  - VK_KHR_swapchain
  - VK_KHR_swapchain_mutable_format
  - VK_KHR_synchronization2
  - VK_KHR_timeline_semaphore
  - VK_KHR_uniform_buffer_standard_layout
  - VK_KHR_variable_pointers
  - VK_KHR_video_decode_h264
  - VK_KHR_video_decode_h265
  - VK_KHR_video_decode_queue
  - VK_KHR_video_queue
  - VK_KHR_vulkan_memory_model
  - VK_KHR_win32_keyed_mutex
  - VK_KHR_workgroup_memory_explicit_layout
  - VK_KHR_zero_initialize_workgroup_memory
  - VK_EXT_4444_formats
  - VK_EXT_attachment_feedback_loop_layout
  - VK_EXT_border_color_swizzle
  - VK_EXT_calibrated_timestamps
  - VK_EXT_color_write_enable
  - VK_EXT_conditional_rendering
  - VK_EXT_conservative_rasterization
  - VK_EXT_custom_border_color
  - VK_EXT_depth_clamp_zero_one
  - VK_EXT_depth_clip_control
  - VK_EXT_depth_clip_enable
  - VK_EXT_depth_range_unrestricted
  - VK_EXT_descriptor_buffer
  - VK_EXT_descriptor_indexing
  - VK_EXT_device_address_binding_report
  - VK_EXT_device_fault
  - VK_EXT_dynamic_rendering_unused_attachments
  - VK_EXT_extended_dynamic_state
  - VK_EXT_extended_dynamic_state2
  - VK_EXT_extended_dynamic_state3
  - VK_EXT_external_memory_host
  - VK_EXT_frame_boundary
  - VK_EXT_full_screen_exclusive
  - VK_EXT_global_priority
  - VK_EXT_global_priority_query
  - VK_EXT_hdr_metadata
  - VK_EXT_host_query_reset
  - VK_EXT_image_robustness
  - VK_EXT_image_sliced_view_of_3d
  - VK_EXT_image_view_min_lod
  - VK_EXT_index_type_uint8
  - VK_EXT_inline_uniform_block
  - VK_EXT_line_rasterization
  - VK_EXT_load_store_op_none
  - VK_EXT_memory_budget
  - VK_EXT_memory_priority
  - VK_EXT_mesh_shader
  - VK_EXT_mutable_descriptor_type
  - VK_EXT_nested_command_buffer
  - VK_EXT_non_seamless_cube_map
  - VK_EXT_pageable_device_local_memory
  - VK_EXT_pipeline_creation_cache_control
  - VK_EXT_pipeline_creation_feedback
  - VK_EXT_pipeline_library_group_handles
  - VK_EXT_post_depth_coverage
  - VK_EXT_primitive_topology_list_restart
  - VK_EXT_private_data
  - VK_EXT_provoking_vertex
  - VK_EXT_queue_family_foreign
  - VK_EXT_robustness2
  - VK_EXT_sampler_filter_minmax
  - VK_EXT_sample_locations
  - VK_EXT_scalar_block_layout
  - VK_EXT_separate_stencil_usage
  - VK_EXT_shader_atomic_float
  - VK_EXT_shader_atomic_float2
  - VK_EXT_shader_demote_to_helper_invocation
  - VK_EXT_shader_image_atomic_int64
  - VK_EXT_shader_module_identifier
  - VK_EXT_shader_stencil_export
  - VK_EXT_shader_subgroup_ballot
  - VK_EXT_shader_subgroup_vote
  - VK_EXT_shader_viewport_index_layer
  - VK_EXT_subgroup_size_control
  - VK_EXT_texel_buffer_alignment
  - VK_EXT_tooling_info
  - VK_EXT_transform_feedback
  - VK_EXT_vertex_attribute_divisor
  - VK_EXT_vertex_input_dynamic_state
  - VK_EXT_ycbcr_image_arrays
  - VK_AMD_buffer_marker
  - VK_AMD_calibrated_timestamps
  - VK_AMD_device_coherent_memory
  - VK_AMD_display_native_hdr
  - VK_AMD_draw_indirect_count
  - VK_AMD_gcn_shader
  - VK_AMD_gpa_interface
  - VK_AMD_gpu_shader_half_float
  - VK_AMD_gpu_shader_int16
  - VK_AMD_memory_overallocation_behavior
  - VK_AMD_mixed_attachment_samples
  - VK_AMD_shader_ballot
  - VK_AMD_shader_core_properties
  - VK_AMD_shader_core_properties2
  - VK_AMD_shader_early_and_late_fragment_tests
  - VK_AMD_shader_explicit_vertex_parameter
  - VK_AMD_shader_image_load_store_lod
  - VK_AMD_shader_info
  - VK_AMD_shader_trinary_minmax
  - VK_GOOGLE_decorate_string
  - VK_GOOGLE_hlsl_functionality1
  - VK_GOOGLE_user_type
  - VK_VALVE_mutable_descriptor_type

  - # of layers: 1
  - VK_LAYER_AMD_switchable_graphics

  - # of memory heaps: 3
  - heap 1: 20208 MB
  - heap 2: 7908 MB
  - heap 3: 256 MB

  - # of features: 55
  - robustBufferAccess:  YES
  - fullDrawIndexUint32:  YES
  - imageCubeArray:  YES
  - independentBlend:  YES
  - geometryShader:  YES
  - tessellationShader:  YES
  - sampleRateShading:  YES
  - dualSrcBlend:  YES
  - logicOp:  YES
  - multiDrawIndirect:  YES
  - drawIndirectFirstInstance:  YES
  - depthClamp:  YES
  - depthBiasClamp:  YES
  - fillModeNonSolid:  YES
  - depthBounds:  YES
  - wideLines:  YES
  - largePoints:  YES
  - alphaToOne:  NO
  - multiViewport:  YES
  - samplerAnisotropy:  YES
  - textureCompressionETC2:  NO
  - textureCompressionASTC_LDR:  NO
  - textureCompressionBC:  YES
  - occlusionQueryPrecise:  YES
  - pipelineStatisticsQuery:  YES
  - vertexPipelineStoresAndAtomics:  YES
  - fragmentStoresAndAtomics:  YES
  - shaderTessellationAndGeometryPointSize:  YES
  - shaderImageGatherExtended:  YES
  - shaderStorageImageExtendedFormats:  YES
  - shaderStorageImageMultisample:  YES
  - shaderStorageImageReadWithoutFormat:  YES
  - shaderStorageImageWriteWithoutFormat:  YES
  - shaderUniformBufferArrayDynamicIndexing:  YES
  - shaderSampledImageArrayDynamicIndexing:  YES
  - shaderStorageBufferArrayDynamicIndexing:  YES
  - shaderStorageImageArrayDynamicIndexing:  YES
  - shaderClipDistance:  YES
  - shaderCullDistance:  YES
  - shaderFloat64:  YES
  - shaderInt64:  YES
  - shaderInt16:  YES
  - shaderResourceResidency:  YES
  - shaderResourceMinLod:  YES
  - sparseBinding:  YES
  - sparseResidencyBuffer:  YES
  - sparseResidencyImage2D:  YES
  - sparseResidencyImage3D:  YES
  - sparseResidency2Samples:  NO
  - sparseResidency4Samples:  NO
  - sparseResidency8Samples:  NO
  - sparseResidency16Samples:  NO
  - sparseResidencyAliased:  YES
  - variableMultisampleRate:  YES
  - inheritedQueries:  YES

  - # of hardware limits: 106
    - maxImageDimension1D: 16384
    - maxImageDimension2D: 16384
    - maxImageDimension3D: 8192
    - maxImageDimensionCube: 16384
    - maxImageArrayLayers: 8192
    - maxTexelBufferElements: 4294967295
    - maxUniformBufferRange: 4294967295
    - maxStorageBufferRange: 4294967295
    - maxPushConstantsSize: 128
    - maxMemoryAllocationCount: 4096
    - maxSamplerAllocationCount: 1048576
    - bufferImageGranularity: 1
    - sparseAddressSpaceSize: 17566416240640
    - maxBoundDescriptorSets: 32
    - maxPerStageDescriptorSamplers: 4294967295
    - maxSamplerAllocationCount: 4294967295
    - maxPerStageDescriptorStorageBuffers: 4294967295
    - maxPerStageDescriptorSampledImages: 4294967295
    - maxPerStageDescriptorStorageImages: 4294967295
    - maxPerStageDescriptorInputAttachments: 4294967295
    - maxPerStageResources: 4294967295
    - maxDescriptorSetSamplers: 4294967295
    - maxDescriptorSetUniformBuffers: 4294967295
    - maxDescriptorSetUniformBuffersDynamic: 8
    - maxDescriptorSetStorageBuffers: 4294967295
    - maxDescriptorSetStorageBuffersDynamic: 8
    - maxDescriptorSetSampledImages: 4294967295
    - maxDescriptorSetStorageImages: 4294967295
    - maxDescriptorSetInputAttachments: 4294967295
    - maxVertexInputAttributes: 64
    - maxVertexInputBindings: 32
    - maxVertexInputAttributeOffset: 4294967295
    - maxVertexInputBindingStride: 16383
    - maxVertexOutputComponents: 128
    - maxTessellationGenerationLevel: 64
    - maxTessellationPatchSize: 32
    - maxTessellationControlPerVertexInputComponents: 128
    - maxTessellationControlPerVertexOutputComponents: 128
    - maxTessellationControlPerPatchOutputComponents: 120
    - maxTessellationControlTotalOutputComponents: 4096
    - maxTessellationEvaluationInputComponents: 128
    - maxTessellationEvaluationOutputComponents: 128
    - maxGeometryShaderInvocations: 126
    - maxGeometryInputComponents: 128
    - maxGeometryOutputComponents: 128
    - maxGeometryOutputVertices: 256
    - maxGeometryTotalOutputComponents: 1024
    - maxFragmentInputComponents: 128
    - maxFragmentOutputAttachments: 8
    - maxFragmentDualSrcAttachments: 1
    - maxFragmentCombinedOutputResources: 4294967295
    - maxComputeSharedMemorySize: 32768
    - maxComputeSharedMemorySize: 4294967295 x 65535 x 65535
    - maxComputeWorkGroupInvocations: 1024
    - maxComputeWorkGroupSize: 1024 x 1024 x 1024
    - subPixelPrecisionBits: 8
    - subTexelPrecisionBits: 8
    - mipmapPrecisionBits: 8
    - maxDrawIndexedIndexValue: 4294967295
    - maxDrawIndirectCount: 4294967295
    - maxSamplerLodBias: 15.996094
    - maxSamplerAnisotropy: 16.000000
    - maxViewports: 16
    - maxViewportDimensions: 16384 x 16384
    - viewportBoundsRange: -32768.000000 x 32767.000000
    - viewportSubPixelBits: 8
    - minMemoryMapAlignment: 64
    - minTexelBufferOffsetAlignment: 4
    - minUniformBufferOffsetAlignment: 16
    - minStorageBufferOffsetAlignment: 4
    - minTexelOffset: -64
    - maxTexelOffset: 63
    - minTexelGatherOffset: -32
    - maxTexelGatherOffset: 31
    - minInterpolationOffset: -2.000000
    - maxInterpolationOffset: 1.000000
    - subPixelInterpolationOffsetBits: 8
    - maxFramebufferWidth: 16384
    - maxFramebufferHeight: 16384
    - maxFramebufferLayers: 8192
    - framebufferColorSampleCounts: 15
    - framebufferDepthSampleCounts: 15
    - framebufferStencilSampleCounts: 15
    - framebufferNoAttachmentsSampleCounts: 15
    - maxColorAttachments: 8
    - sampledImageColorSampleCounts: 15
    - sampledImageIntegerSampleCounts: 15
    - sampledImageDepthSampleCounts: 15
    - sampledImageStencilSampleCounts: 15
    - storageImageSampleCounts: 15
    - maxSampleMaskWords: 1
    - timestampComputeAndGraphics: 1
    - timestampPeriod: 10.000000
    - maxClipDistances: 8
    - maxCullDistances: 8
    - maxCombinedClipAndCullDistances: 8
    - discreteQueuePriorities: 2
    - pointSizeRange: 0.000000 x 8191.875000
    - lineWidthRange: 0.000000 x 8191.875000
    - pointSizeGranularity: 0.125000
    - lineWidthGranularity: 0.125000
    - strictLines: 0
    - standardSampleLocations: 1
    - optimalBufferCopyOffsetAlignment: 1
    - optimalBufferCopyRowPitchAlignment: 1
    - nonCoherentAtomSize: 128