Radeon™ GPU Analyzer 2.13 Release Notes
=======================================
Highlights
==========
-     Added support for the gfx1200 RDNA™ 4 architecture as a compilation target across all of RGA's modes.
-     The Binary Analysis mode now supports Vulkan mesh shading pipelines and Vulkan raytracing pre-compiled Code Objects.
-     All Vulkan offline modes (vk-offline, vk-spv-offline and vk-spv-txt-offline) now support mesh shading pipeline compilation.
-     Updated the Vulkan and OpenGL offline compilers.
-     Updated the following Vulkan tool dependencies: glslangValidator, spirv-as and spirv-dis (SPIRV-Tools v2024.4).
-     Updated the DXC front-end compiler to v1.8.2502.

Notes: 
-     Clock cycle estimates are no longer presented by the upgraded ISA disassembly view in RGA GUI application.
-     The new disassembly view presents Functional Groups, leveraging the AMD GPU machine-readable ISA documentation.
-     For backward compatibility, the RGA CLI output presents Cycle estimates and Functional Unit fields similar to RGA 2.11. 
-     We are working on a revised performance estimate mechanism and will share more details in a future RGA release.

Known Issues
============
Vulkan Live Driver Mode
-----------------------
-	Source to disassembly correlation is not supported by AMD’s shader compiler and is therefore not supported in the UI.
-	Keyboard navigation is not supported from some views in the GUI application.
-	The RGA layer is a beta feature. It fails to extract the shaders and pipeline state from certain Vulkan apps.
-	Notifications about the fact that modified SPIR-V binary does not match the disassembly will not appear for loaded projects (in case where the user changed the SPIR-V code, did not build, and re-loaded the project).

Offline OpenCL Mode
-------------------
-	OpenCL C++ kernels are not yet supported by the Lightning Compiler.

DirectX 12 Mode
---------------
-	Live register analysis & CFG generation require using the --isa option to generate ISA disassembly. 
-	On Windows 11, Hull shader AMDIL disassembly contains a trail of a few garbage characters.
-	In offline mode, when the D3D debug layer is enabled (--debug-layer) debug output is not captured by the command line tool.

DirectX 11 Mode
---------------
-	Support for gfx1100 and beyond is not yet enabled in DX11 mode (-s dx11).

Vulkan Offline Modes (vk-offline, vk-spv-offline, vk-spv-txt-offline)
---------------------------------------------------------------------
SPIR-V support limitations:
a. The Vulkan Offline modes currently only support the following SPIR-V capabilities:
CapabilityMatrix
CapabilityShader
CapabilityGeometry
CapabilityTessellation
CapabilityFloat16
CapabilityFloat64
CapabilityInt64
CapabilityMeshShadingEXT
CapabilityFragmentShaderSampleInterlockEXT
CapabilityFragmentFullyCoveredEXT
CapabilityFragmentShaderShadingRateInterlockEXT
CapabilityInputAttachmentArrayNonUniformIndexingEXT
CapabilityAtomicStorageOps
CapabilityFragmentShaderPixelInterlockEXT
CapabilityDotProductKHR
CapabilityDotProductInputAllKHR
CapabilityDotProductInput4x8BitKHR
CapabilityDotProductInput4x8BitPackedKHR
CapabilityWorkgroupMemoryExplicitLayoutKHR
CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR
CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR
CapabilityInt64Atomics
CapabilityGroups
CapabilityAtomicStorage
CapabilityInt16
CapabilityTessellationPointSize
CapabilityGeometryPointSize
CapabilityImageGatherExtended
CapabilityStorageImageMultisample
CapabilityUniformBufferArrayDynamicIndexing
CapabilitySampledImageArrayDynamicIndexing
CapabilityStorageBufferArrayDynamicIndexing
CapabilityStorageImageArrayDynamicIndexing
CapabilityClipDistance
CapabilityCullDistance
CapabilityImageCubeArray
CapabilitySampleRateShading
CapabilityImageRect
CapabilitySampledRect
CapabilityInt8
CapabilityInputAttachment
CapabilitySparseResidency
CapabilityMinLod
CapabilitySampled1D
CapabilityImage1D
CapabilitySampledCubeArray
CapabilitySampledBuffer
CapabilityImageBuffer
CapabilityImageMSArray
CapabilityStorageImageExtendedFormats
CapabilityImageQuery
CapabilityDerivativeControl
CapabilityInterpolationFunction
CapabilityTransformFeedback
CapabilityGeometryStreams
CapabilityStorageImageReadWithoutFormat
CapabilityStorageImageWriteWithoutFormat
CapabilityMultiViewport
CapabilityGroupNonUniform
CapabilityGroupNonUniformVote
CapabilityGroupNonUniformArithmetic
CapabilityGroupNonUniformBallot
CapabilityGroupNonUniformShuffle
CapabilityGroupNonUniformShuffleRelative
CapabilityGroupNonUniformClustered
CapabilityGroupNonUniformQuad
CapabilitySubgroupBallotKHR
CapabilityDrawParameters
CapabilitySubgroupVoteKHR
CapabilityStorageBuffer16BitAccess
CapabilityStorageUniformBufferBlock16
CapabilityStorageUniform16
CapabilityUniformAndStorageBuffer16BitAccess
CapabilityStorageInputOutput16
CapabilityDeviceGroup
CapabilityMultiView
CapabilityVariablePointersStorageBuffer
CapabilityVariablePointers
CapabilitySampleMaskPostDepthCoverage
CapabilityStorageBuffer8BitAccess
CapabilityUniformAndStorageBuffer8BitAccess
CapabilityDenormPreserve
CapabilityDenormFlushToZero
CapabilitySignedZeroInfNanPreserve
CapabilityRoundingModeRTE
CapabilityRoundingModeRTZ
CapabilityFloat16ImageAMD
CapabilityImageGatherBiasLodAMD
CapabilityFragmentMaskAMD
CapabilityStencilExportEXT
CapabilityImageReadWriteLodAMD
CapabilityInt64ImageEXT
CapabilityShaderClockKHR
CapabilityShaderViewportIndexLayerEXT
CapabilityFragmentShadingRateKHR
CapabilityFragmentDensityEXT
CapabilityShaderNonUniformEXT
CapabilityRuntimeDescriptorArrayEXT
CapabilityInputAttachmentArrayDynamicIndexingEXT
CapabilityUniformTexelBufferArrayDynamicIndexingEXT
CapabilityStorageTexelBufferArrayDynamicIndexingEXT
CapabilityUniformBufferArrayNonUniformIndexingEXT
CapabilitySampledImageArrayNonUniformIndexingEXT
CapabilityStorageBufferArrayNonUniformIndexingEXT
CapabilityStorageImageArrayNonUniformIndexingEXT
CapabilityUniformTexelBufferArrayNonUniformIndexingEXT
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT
CapabilityVulkanMemoryModel
CapabilityVulkanMemoryModelKHR
CapabilityVulkanMemoryModelDeviceScope
CapabilityVulkanMemoryModelDeviceScopeKHR
CapabilityPhysicalStorageBufferAddresses
CapabilityPhysicalStorageBufferAddressesEXT
CapabilityDemoteToHelperInvocationEXT
CapabilityAtomicFloat32MinMaxEXT
CapabilityAtomicFloat64MinMaxEXT
CapabilityRayTracingNV
CapabilityRayQueryKHR
CapabilityRayTracingKHR
CapabilityRayCullMaskKHR
CapabilityRayTracingProvisionalKHR
CapabilityRayQueryProvisionalKHR
CapabilityRayTraversalPrimitiveCullingProvisionalKHR
CapabilityRayTracingPositionFetchKHR
CapabilityRayQueryPositionFetchKHR


b. The Vulkan Offline modes currently only support the following extensions:  
SPV_KHR_shader_ballot
SPV_KHR_subgroup_vote
SPV_KHR_device_group
SPV_KHR_multiview
SPV_KHR_shader_draw_parameters
SPV_KHR_16bit_storage
SPV_KHR_storage_buffer_storage_class
SPV_KHR_8bit_storage
SPV_KHR_variable_pointers
SPV_KHR_float_controls
SPV_KHR_shader_clock
SPV_KHR_vulkan_memory_model
SPV_KHR_post_depth_coverage
SPV_KHR_non_semantic_info
SPV_KHR_physical_storage_buffer
SPV_KHR_terminate_invocation
SPV_KHR_FRAGMENT_SHADING_RATE
SPV_KHR_workgroup_memory_explicit_layout
SPV_KHR_fragment_shader_barycentric
SPV_EXT_nonuniform_qualifier
SPV_EXT_shader_stencil_export
SPV_EXT_shader_viewport_index_layer
SPV_EXT_demote_to_helper_invocation
SPV_EXT_shader_image_atomic_int64
SPV_EXT_mesh_shader
SPV_AMD_shader_ballot
SPV_AMD_shader_trinary_minmax
SPV_AMD_shader_explicit_vertex_parameter
SPV_AMD_gcn_shader
SPV_AMD_gpu_shader_half_float
SPV_AMD_texture_gather_bias_lod
SPV_AMD_gpu_shader_int16
SPV_AMD_shader_fragment_mask
SPV_AMD_shader_image_load_store_lod
SPV_AMD_gpu_shader_half_float_fetch
SPV_AMD_shader_early_and_late_fragment_tests
SPV_ARB_shader_ballot
SPV_GOOGLE_decorate_string
SPV_GOOGLE_hlsl_functionality1
SPV_GOOGLE_user_type
SPV_KHR_ray_tracing_position_fetch
SPV_KHR_ray_tracing
SPV_KHR_ray_query
SPV_NV_shader_atomic_float


GUI Application
---------------
-	VGPR Pressure feature: certain instructions (image_* in particular) may report more live registers than actually used.
-	“Correlation Disabled” notification in the source code editor is not being saved for projects after they were closed.
-	Changing disassembly columns can be sluggish on certain systems in projects with multiple .cl files.
-	On systems with default Unicode path for the RGA projects folder, the tool will not be able to save files. A workaround has been provided in version 2.6.1 (allowing the user to change the folder in which projects are saved).
-	On Linux, if the OS color theme is updated while the RGA GUI application is running, the RGA GUI application will not immediately reflect these changes (the changes will be reflected the next time that you launch the application).
-   Tooltips and Functional Groups are not supported for pre-RDNA targets.

General


Notes for OpenCL Mode Users 
===========================
The Offline OpenCL mode uses the Lightning Compiler package that ships with RGA, which is based on clang.
As of version 2.0, RGA allows developers to replace the Lightning Compiler package that ships with the product with a user-provided LLVM-based package. For more information, see the Radeon GPU Analyzer GUI app's help manual, or run the command line tool with –s opencl –h as arguments (look for the “Alternative OpenCL Lightning Compiler” section).

System Requirements
===================
It is generally recommended to use RGA with the latest Radeon Software version. Specifically, to target the RDNA architecture, the latest Radeon Software version is required (except for all Vulkan® modes, OpenCL mode, OpenGL mode and DX11 mode which are independent of the driver).

Vulkan Mode
-----------
To use the installed driver in Vulkan mode:
a.	Vulkan SDK 1.1.97.0 or later is required.
b.	Latest Adrenalin or amdgpu-pro driver is required.

Vulkan Offline Modes (vk-offline, vk-spv-offline, vk-spv-txt-offline)
---------------------------------------------------------------------
All Vulkan offline modes (vk-offline, vk-spv-offline and vk-spv-txt-offline) are independent of the installed driver and graphics hardware and should work on any x86-based system.

DirectX 12
----------
-	It is recommended to use the latest Adrenalin drivers for the best experience in DirectX 12 and DXR modes.
-	Please note that to enable the D3D12 debug layer (--debug-layer option), your Windows system must have the Graphics Tools feature installed (on Windows, go to Settings -> Apps -> Apps & features/Optional features). This is a D3D12 requirement which is unrelated to RGA.    

DirectX 11
----------
DirectX 11 mode (-s dx11) is independent of the installed driver and graphics hardware and should work on any x86-based system.

OpenCL Mode
-----------
OpenCL mode (-s opencl) is independent of the installed driver and graphics hardware and should work on any x86-based system.

OpenGL Mode
-----------
OpenGL mode (-s opengl) is independent of the installed driver and graphics hardware and should work on any x86-based system.

