Skip to content

Commit

Permalink
Updates for 2.6.2 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
AmitBM committed Jul 27, 2022
1 parent 1512a35 commit 53ed7b4
Show file tree
Hide file tree
Showing 41 changed files with 967 additions and 526 deletions.
9 changes: 5 additions & 4 deletions build/dependency_map.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@
github_root = "https://github.com/GPUOpen-Tools/"

# repositories.
git_mapping = {}
git_mapping = {
"device_info" : ["Common/Src/DeviceInfo", "amd-rdts-may2022"],
"update_check_api" : ["Common/Src/update_check_api", "amd-2.1.0"]
}

github_mapping = {
# Lib.
Expand All @@ -31,9 +34,7 @@
"dynamic_library_module" : ["Common/Src/DynamicLibraryModule", "master"],
"tsingleton" : ["Common/Src/TSingleton", "master"],
"common_src_miniz" : ["Common/Src/Miniz", "master"],
"update_check_api" : ["Common/Src/update_check_api", "v2.0.0"],
"device_info" : ["Common/Src/DeviceInfo", "rga-v2.6.1"],
# QtCommon.
# QtCommon.
"qt_common" : ["QtCommon", "rga-2.5"],
}

4 changes: 2 additions & 2 deletions build/util/linux/RadeonGPUAnalyzer
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# ----------------------------------------------------------------------------------------------------------------------------------
# This script launches the rga GUI executable after configuring the environment.
# (c) 2017-2020 Advanced Micro Devices Inc. All Rights Reserved.
# (c) 2017-2022 Advanced Micro Devices Inc. All Rights Reserved.
# ----------------------------------------------------------------------------------------------------------------------------------

if echo "$0" | grep '^/' ; then
Expand All @@ -26,7 +26,7 @@ export LD_LIBRARY_PATH="$RGA_GUI_BIN_PATH":"$RGA_GUI_BIN_PATH/lib":"$RGA_BIN_PAT
export PATH="$RGA_GUI_BIN_PATH":"$RGA_GUI_BIN_PATH/utils":$PATH

# Set path to the Qt platform plugin.
export QT_QPA_PLATFORM_PLUGIN_PATH="$RGA_GUI_BIN_PATH/lib/platforms"
export QT_QPA_PLATFORM_PLUGIN_PATH="$RGA_GUI_BIN_PATH/plugins/"

# Call RGA GUI executable
"$RGA_GUI_BIN_PATH"/RadeonGPUAnalyzer-bin "$@"
44 changes: 22 additions & 22 deletions build/util/linux/copy_post_build_cli.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,29 @@ chmod +x $X64_DIR/amdspv
chmod +x $X64_DIR/spvgen.so

# Copy the OpenGL backend.
cp ../../../external/opengl/VirtualContext/linux/VirtualContext $X64_DIR/
chmod +x $X64_DIR/VirtualContext
cp ../../../external/opengl/glc/linux/glc $X64_DIR/
chmod +x $X64_DIR/glc

# Copy the LC Compiler.
if [ ! -d "$X64_DIR/LC" ]; then
mkdir -p $X64_DIR/LC
if [ ! -d "$X64_DIR/lc" ]; then
mkdir -p $X64_DIR/lc
fi
mkdir -p $X64_DIR/LC/OpenCL/lib/clang/14.0.0/include
cp -rf ../../../external/lc/opencl/linux/* $X64_DIR/LC/OpenCL
rm -f $X64_DIR/LC/OpenCL/include/opencl-c-base.h
cp -f ../../../external/lc/opencl/additional-targets $X64_DIR/LC/OpenCL/
cp -f ../../../external/lc/opencl/linux/include/opencl-c-base.h $X64_DIR/LC/OpenCL/lib/clang/14.0.0/include/
mkdir -p $X64_DIR/lc/opencl/lib/clang/14.0.0/include
cp -rf ../../../external/lc/opencl/linux/* $X64_DIR/lc/opencl
rm -f $X64_DIR/lc/opencl/include/opencl-c-base.h
cp -f ../../../external/lc/opencl/additional-targets $X64_DIR/lc/opencl/
cp -f ../../../external/lc/opencl/linux/include/opencl-c-base.h $X64_DIR/lc/opencl/lib/clang/14.0.0/include/

# Copy the LC disassembler.
if [ ! -d "$X64_DIR/LC/Disassembler" ]; then
mkdir $X64_DIR/LC/Disassembler
if [ ! -d "$X64_DIR/lc/disassembler" ]; then
mkdir $X64_DIR/lc/disassembler
fi
cp ../../../external/lc/disassembler/linux/amdgpu-dis $X64_DIR/LC/Disassembler
cp ../../../external/lc/disassembler/linux/amdgpu-dis $X64_DIR/lc/disassembler

# make sure LC/OpenCL/bin/clang is link to clang-14
# make sure lc/opencl/bin/clang is link to clang-14
CURDIR=`pwd`
rm -f $X64_DIR/LC/OpenCL/bin/clang
cd $X64_DIR/LC/OpenCL/bin/
rm -f $X64_DIR/lc/opencl/bin/clang
cd $X64_DIR/lc/opencl/bin/
# clean up old symlinks
if [ -e clang ]; then
rm -f clang
Expand All @@ -61,8 +61,8 @@ ln -s lld ld.lld
ln -s llvm-readobj llvm-readelf
cd $CURDIR

chmod +x $X64_DIR/LC/OpenCL/bin/lld $X64_DIR/LC/OpenCL/bin/clang-14 $X64_DIR/LC/OpenCL/bin/llvm-objdump $X64_DIR/LC/OpenCL/bin/llvm-readobj
chmod +x $X64_DIR/LC/OpenCL/lib/bitcode/*.bc
chmod +x $X64_DIR/lc/opencl/bin/lld $X64_DIR/lc/opencl/bin/clang-14 $X64_DIR/lc/opencl/bin/llvm-objdump $X64_DIR/lc/opencl/bin/llvm-readobj
chmod +x $X64_DIR/lc/opencl/lib/bitcode/*.bc

# Copy the static analysis backend.
if [ "$INTERNAL" = true ]; then
Expand All @@ -86,12 +86,12 @@ else
fi

# Copy the Vulkan tools.
if [ ! -d "$X64_DIR/Vulkan" ]; then
mkdir -p $X64_DIR/Vulkan
if [ ! -d "$X64_DIR/vulkan" ]; then
mkdir -p $X64_DIR/vulkan
fi
cp ../../../external/vulkan/tools/linux/bin/* "$X64_DIR/Vulkan/"
chmod +x $X64_DIR/Vulkan/*spirv*
chmod +x $X64_DIR/Vulkan/glslangValidator
cp ../../../external/vulkan/tools/linux/bin/* "$X64_DIR/vulkan/"
chmod +x $X64_DIR/vulkan/*spirv*
chmod +x $X64_DIR/vulkan/glslangValidator

# Copy the Radeon Tools Download Assistant.
cp ../../../../Common/Src/update_check_api/rtda/linux/rtda $OUTPUT_DIR/
Expand Down
14 changes: 10 additions & 4 deletions build/util/linux/copy_post_build_gui.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,14 @@ AUTOMATION=$4

# Copy the Qt5 dynamic libs
if [ -n "$QT_LIB_DIR" ]; then
if [ ! -d "$OUTPUT_DIR/lib/platforms/imageformats" ]; then
mkdir -p $OUTPUT_DIR/lib/platforms/imageformats
if [ ! -d "$OUTPUT_DIR/lib" ]; then
mkdir -p $OUTPUT_DIR/lib
fi
if [ ! -d "$OUTPUT_DIR/plugins/platforms" ]; then
mkdir -p $OUTPUT_DIR/plugins/platforms
fi
if [ ! -d "$OUTPUT_DIR/plugins/imageformats" ]; then
mkdir -p $OUTPUT_DIR/plugins/imageformats
fi
cp $QT_LIB_DIR/libQt5Core.so.5 $OUTPUT_DIR/lib/
cp $QT_LIB_DIR/libQt5DBus.so.5 $OUTPUT_DIR/lib/
Expand All @@ -18,8 +24,8 @@ if [ -n "$QT_LIB_DIR" ]; then
cp $QT_LIB_DIR/libicudata.so.50 $OUTPUT_DIR/lib/
cp $QT_LIB_DIR/libicuuc.so.50 $OUTPUT_DIR/lib/
cp $QT_LIB_DIR/libQt5Svg.so.5 $OUTPUT_DIR/lib/
cp $QT_PLUGINS_DIR/imageformats/libqsvg.so $OUTPUT_DIR/lib/platforms/imageformats/
cp $QT_PLUGINS_DIR/platforms/libqxcb.so $OUTPUT_DIR/lib/platforms/
cp $QT_PLUGINS_DIR/imageformats/libqsvg.so $OUTPUT_DIR/plugins/imageformats/
cp $QT_PLUGINS_DIR/platforms/libqxcb.so $OUTPUT_DIR/plugins/platforms/
if [ "$AUTOMATION" = "-automation" ]; then
cp $QT_LIB_DIR/libQt5Test.so.5 $OUTPUT_DIR/lib/
fi
Expand Down
30 changes: 15 additions & 15 deletions build/util/windows/copy_post_build_cli.bat
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,25 @@ for /F "tokens=* USEBACKQ" %%F in (`python ..\..\..\build\util\get_version.py --
rem Create the output folders:
IF NOT exist %OUTPUT_DIR%\ mkdir %OUTPUT_DIR%\
IF NOT exist %OUTPUT_DIR%\utils\ mkdir %OUTPUT_DIR%\utils\
IF NOT exist %OUTPUT_DIR%\utils\DX12\ mkdir %OUTPUT_DIR%\utils\DX12\
IF NOT exist %OUTPUT_DIR%\utils\DX12\DXC\ mkdir %OUTPUT_DIR%\utils\DX12\DXC\
IF NOT exist %OUTPUT_DIR%\utils\LC\ mkdir %OUTPUT_DIR%\utils\LC\
IF NOT exist %OUTPUT_DIR%\utils\LC\Disassembler\ mkdir %OUTPUT_DIR%\utils\LC\Disassembler\
IF NOT exist %OUTPUT_DIR%\utils\LC\OpenCL\ mkdir %OUTPUT_DIR%\utils\LC\OpenCL\lib\clang\14.0.0\include\
IF NOT exist %OUTPUT_DIR%\utils\dx12\ mkdir %OUTPUT_DIR%\utils\dx12\
IF NOT exist %OUTPUT_DIR%\utils\dx12\dxc\ mkdir %OUTPUT_DIR%\utils\dx12\dxc\
IF NOT exist %OUTPUT_DIR%\utils\lc\ mkdir %OUTPUT_DIR%\utils\lc\
IF NOT exist %OUTPUT_DIR%\utils\lc\disassembler\ mkdir %OUTPUT_DIR%\utils\lc\disassembler\
IF NOT exist %OUTPUT_DIR%\utils\lc\opencl\ mkdir %OUTPUT_DIR%\utils\lc\opencl\lib\clang\14.0.0\include\
echo

XCopy /r /d /y "..\..\..\external\opengl\VirtualContext\windows\VirtualContext.exe" "%OUTPUT_DIR%\utils\"
XCopy /r /d /y "..\..\..\external\opengl\glc\windows\glc.exe" "%OUTPUT_DIR%\utils\"
XCopy /r /d /y "..\..\..\source\utils\shader_analysis\windows\x64\shae.exe" "%OUTPUT_DIR%\utils\"
XCopy /r /d /y "..\..\..\source\utils\dx11\bin\dx11_adapter.exe" "%OUTPUT_DIR%\utils\"
XCopy /r /e /d /y "..\..\..\external\lc\opencl\windows\*" "%OUTPUT_DIR%\utils\LC\OpenCL\"
del /f "%OUTPUT_DIR%\utils\LC\OpenCL\include\opencl-c-base.h"
XCopy /r /d /y "..\..\..\external\lc\opencl\windows\include\opencl-c-base.h" "%OUTPUT_DIR%\utils\LC\OpenCL\lib\clang\14.0.0\include\"
XCopy /r /d /y "..\..\..\external\lc\opencl\additional-targets" "%OUTPUT_DIR%\utils\LC\OpenCL\"
XCopy /r /d /y "..\..\..\external\lc\disassembler\windows\amdgpu-dis.exe" "%OUTPUT_DIR%\utils\LC\Disassembler\"
XCopy /r /e /d /y "..\..\..\external\vulkan\tools\windows\bin\*.exe" "%OUTPUT_DIR%\utils\Vulkan\"
XCopy /r /e /d /y "..\..\..\external\dxc\*" "%OUTPUT_DIR%\utils\DX12\DXC\"
XCopy /r /e /d /y "..\..\..\external\dx12\withdll.exe" "%OUTPUT_DIR%\utils\DX12\"
XCopy /r /e /d /y "..\..\..\external\dx12\umdrepoint.dll" "%OUTPUT_DIR%\utils\DX12\"
XCopy /r /e /d /y "..\..\..\external\lc\opencl\windows\*" "%OUTPUT_DIR%\utils\lc\opencl\"
del /f "%OUTPUT_DIR%\utils\lc\opencl\include\opencl-c-base.h"
XCopy /r /d /y "..\..\..\external\lc\opencl\windows\include\opencl-c-base.h" "%OUTPUT_DIR%\utils\lc\opencl\lib\clang\14.0.0\include\"
XCopy /r /d /y "..\..\..\external\lc\opencl\additional-targets" "%OUTPUT_DIR%\utils\lc\opencl\"
XCopy /r /d /y "..\..\..\external\lc\disassembler\windows\amdgpu-dis.exe" "%OUTPUT_DIR%\utils\lc\disassembler\"
XCopy /r /e /d /y "..\..\..\external\vulkan\tools\windows\bin\*.exe" "%OUTPUT_DIR%\utils\vulkan\"
XCopy /r /e /d /y "..\..\..\external\dxc\*" "%OUTPUT_DIR%\utils\dx12\dxc\"
XCopy /r /e /d /y "..\..\..\external\dx12\withdll.exe" "%OUTPUT_DIR%\utils\dx12\"
XCopy /r /e /d /y "..\..\..\external\dx12\umdrepoint.dll" "%OUTPUT_DIR%\utils\dx12\"
XCopy /r /d /y "..\..\..\License.txt" "%OUTPUT_DIR%\License.txt*"
XCopy /r /d /y "..\..\..\RGA_NOTICES.txt" "%OUTPUT_DIR%\RGA_NOTICES.txt*"
XCopy /r /d /y "..\..\..\README.md" "%OUTPUT_DIR%\README.md*"
Expand Down
Binary file modified documentation/RGA_RELEASE_NOTES.docx
Binary file not shown.
38 changes: 15 additions & 23 deletions documentation/RGA_RELEASE_NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
Radeon� GPU Analyzer 2.6.1 � Release Notes
Radeon� GPU Analyzer 2.6.2 � Release Notes
==========================================
Highlights
==========
- Added support for gfx1035 as a target in Vulkan, DX12, DXR, DX11, OpenCL and OpenGL modes.
- DX12/DXR modes:
o Updated the DXC compiler package that is bundled with the tool to the latest public version.
o DX12/DXR offline modes now support up to gfx1035 (previously supported up to gfx1032).
- You can now build the RGA with the Visual Studio 2022 compiler toolchain (v143). To generate a Visual Studio 2022 solution for the tool, run the prebuild script with --vs 2022 as an argument.
- You can now change where RGA project files are saved by the GUI app. This can be used as a workaround on Windows systems where the path to the default project folder uses Unicode characters.
- Shader analysis: fixed an issue which caused v_mad_mixlo_f16 and v_mad_mixhi_f16 instructions to be marked as <unknown> in live register analysis reports and CFG output files.
- Fixed an issue that prevented the Close button in the GUI application�s About dialog from working.
- OpenGL mode is now an offline mode (-s opengl):
o Compile OpenGL shaders for any supported target, independently of the installed graphics card and driver.
o You can now generate static hardware resource usage information support for OpenGL shaders.
- Support for legacy targets (GFX8 and older) was removed.

Note: on Ubuntu, the minimum required OS version is Ubuntu 20.04.

Expand All @@ -21,16 +17,12 @@ Vulkan Live Driver Mode
- 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 that you changed the SPIR-V code, did not build and re-loaded the project).
- Cycle estimate for certain VALU instructions appears as �Varies� instead of 4.
- Cycle estimate for certain VALU instructions appears as �Varies� instead of 4.

Offline OpenCL Mode
-------------------
- OpenCL C++ kernels are not yet supported by the Lightning Compiler.
- Cycle estimate for certain VALU instructions appears as �Varies� instead of 4.

OpenGL Mode
-----------
Resource usage statistics for OpenGL mode only displays usage of SGPRs and VGPRs.
- Cycle estimate for certain VALU instructions appears as �Varies� instead of 4.

DirectX 12 Mode
---------------
Expand Down Expand Up @@ -194,24 +186,25 @@ SPV_GOOGLE_user_type
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.
- �Correlation Disabled� notification in the source code editor is not being saved for projects after they were closed.
- Certain SALU instructions are being misclassified as VALU instructions.
- Certain GDS instructions are being misclassified as SALU.
- 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).
- Cannot rename source files whose file name contains a whitespace character.

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).
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).

Notes for DirectX 11 Mode Users
===============================
RGA's DirectX 11 (-s dx11) mode will use the driver that is associated with the primary display adapter, by default. If your primary display adapter is not an AMD GPU, or if you would like RGA to use a driver that is associated with a different display adapter that is installed on your system, use the --adapters and --set-adapter <id> command line switches to instruct RGA to use the relevant driver.

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 and the Offline OpenCL mode, which are independent of the driver).
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 the Offline Vulkan, OpenGL and OpenCL modes, which are independent of the driver).

Vulkan Mode
-----------
Expand All @@ -223,6 +216,10 @@ 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.

OpenGL Offline Mode (opengl)
----------------------------
The new OpenGL mode (introduced in RGA 2.6.2) is independent of the installed driver and graphics hardware and should work on any x86-based system.

DirectX 12 and DirectX 11 Modes
-------------------------------
It is recommended to use the latest Adrenalin drivers for the best experience in DirectX 12 and DirectX 11 modes.
Expand All @@ -231,8 +228,3 @@ Offline OpenCL Mode
-------------------
Offline 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 requires the latest amdgpu-pro driver on Linux and latest Adrenalin Software on Windows.


4 changes: 2 additions & 2 deletions documentation/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@
# built documents.
#
# The short X.Y version.
version = '2.6.1'
version = '2.6.2'
# The full version, including alpha/beta/rc tags.
release = '2.6.1'
release = '2.6.2'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 2 additions & 0 deletions external/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,5 @@ boost/boost_1_59_0/lib/VC14/x86/libboost_thread-vc140-mt-gd-1_59.lib filter=lfs
boost/boost_1_59_0/lib/VC14/x86/libboost_date_time-vc140-mt-gd-1_59.lib filter=lfs diff=lfs merge=lfs -text
boost/boost_1_59_0/lib/VC14/x86_64/libboost_date_time-vc140-mt-gd-1_59.lib filter=lfs diff=lfs merge=lfs -text
boost/boost_1_59_0/lib/VC14/x86/libboost_date_time-vc140-mt-sgd-1_59.lib filter=lfs diff=lfs merge=lfs -text
opengl/glc/linux/glc filter=lfs diff=lfs merge=lfs -text
opengl/glc/windows/glc.exe filter=lfs diff=lfs merge=lfs -text
Binary file removed external/opengl/VirtualContext/linux/VirtualContext
Binary file not shown.
Binary file not shown.
3 changes: 3 additions & 0 deletions external/opengl/glc/linux/glc
Git LFS file not shown
3 changes: 3 additions & 0 deletions external/opengl/glc/windows/glc.exe
Git LFS file not shown

0 comments on commit 53ed7b4

Please sign in to comment.