Skip to content

Commit 3fe0d4c

Browse files
committed
GPA 3.13 updates
1 parent 73f5217 commit 3fe0d4c

File tree

519 files changed

+448395
-499877
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

519 files changed

+448395
-499877
lines changed

BUILD.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ order to clone/update any dependent repositories.
1212

1313
#### Prerequisites
1414
* Python 3.x, which can be installed from https://www.python.org/.
15-
* CMake 3.7.2 or newer
15+
* CMake 3.19 or newer
1616
* For Windows, this can be downloaded from https://cmake.org/download/
1717
* For Linux, this can be installed using: sudo apt-get install cmake
1818
* To build the documentation:
@@ -41,7 +41,7 @@ this script everytime you pull new changes from GPA repository.
4141
* This script also executes cmake to generate all required files to build GPA.
4242
* If you want to generate all cmake build files without trying to clone/pull dependent repos, you can add "--nofetch" to the [pre_build.py](build/pre_build.py) command line.
4343
* Additional switches that can be used with the [pre_build.py](build/pre_build.py) script:
44-
* `--vs=[2015,2017,2019]`: Specify the Visual Studio version for which to generate projects. Default is 2017.
44+
* `--vs=[2015,2017,2019,2022]`: Specify the Visual Studio version for which to generate projects. Default is 2019.
4545
* `--config=[debug,release]`: Specify the config for which to generate makefiles. Default is both. A specific config can only be specified on Linux. On Windows, both configs are always supported by the generated VS solution and project files.
4646
* `--platform=[x86,x64]`: Specify the platform for which to generate build files. Default is both.
4747
* `--clean`: Deletes CMakeBuild directory and regenerates all build files from scratch
@@ -57,10 +57,10 @@ this script everytime you pull new changes from GPA repository.
5757
## Windows Build Information
5858

5959
##### Prerequisites
60-
* Microsoft Visual Studio 2017
60+
* Microsoft Visual Studio 2019
6161
* Windows 10 SDK Version 10.0.10586.0 from https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk
62-
* You can override the version of the Windows 10 SDK used by modifying external/Lib/Ext/Windows-Kits/Global-WindowsSDK.props
63-
* Microsoft .NET 4.6.2 SDK from https://www.microsoft.com/en-us/download/details.aspx?id=53321
62+
* You can override the version of the Windows 10 SDK used by modifying external/Lib/Ext/Windows-Kits/Global-WindowsSDK.cmake
63+
* Microsoft .NET 4.6.2 SDK from https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net462-developer-pack-offline-installer
6464

6565
##### Build Instructions
6666
* Load cmake_bld\x64\GPUPerfAPI.sln into Visual Studio to build the 64-bit version of GPA
@@ -75,15 +75,11 @@ this script everytime you pull new changes from GPA repository.
7575

7676
##### Prerequisites
7777
* Install the Mesa common development package: sudo apt-get install mesa-common-dev
78-
* For 32-bit builds, install the multilib packages: sudo apt-get install gcc-multilib g++-multilib
7978

8079
##### Build Instructions
8180
* Execute "make" in the cmake_bld/x64/debug to build the 64-bit debug version of GPA
8281
* Execute "make" in the cmake_bld/x64/release to build the 64-bit release version of GPA
83-
* Execute "make" in the cmake_bld/x86/debug to build the 32-bit debug version of GPA
84-
* Execute "make" in the cmake_bld/x86/release to build the 32-bit release version of GPA
8582
* After a successful build, the GPUPerfAPI binaries can be found in `gpu_performance_api/output/$(Configuration)` (for example gpu_performance_api/output/release)
86-
* When building the internal version, each binary filename will also have a "-Internal" suffix (for example libGPUPerfAPIGL-Internal.so)
8783

8884
## PublicCounterCompiler Tool
8985

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ set(DEPTH "./")
66
message(STATUS "Generating project files for GPA....")
77
set(GPA_CMAKE_MODULES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/cmake_modules)
88

9+
set(CMAKE_CXX_STANDARD 17)
10+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
11+
set(CMAKE_CXX_EXTENSIONS OFF)
12+
913
if(NOT DEFINED build)
1014
set(GPA_BUILD_NUMBER 0)
1115
else()

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2016-2022 Advanced Micro Devices, Inc. All rights reserved.
1+
Copyright (c) 2016-2023 Advanced Micro Devices, Inc. All rights reserved.
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy
44
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,27 @@ Prebuilt binaries can be downloaded from the Releases page: https://github.com/G
3131
* Provides access to some raw hardware counters. See [Raw Hardware Counters](#raw-hardware-counters) for more information.
3232

3333
## What's New
34-
### Version 3.12 (12/14/22)
35-
* Add support for AMD Radeon™ RX 7900 XTX and AMD Radeon™ RX 7900 XT GPUs.
36-
* Add support for compiling with Visual Studio 2022.
37-
* Reduced binary sizes by an average of 75%.
34+
### Version 3.13 (04/27/2023)
35+
* Add support for AMD Radeon RX 7600 series hardware.
36+
* Add support for AMD Radeon RX 7700 series hardware.
37+
* OpenCL support for AMD Radeon RX 7000 series hardware has been restored if using Adrenalin 23.3.2 or newer.
38+
* Removed implementation related to supporting software counters. They have not been supported since GPA 3.0.
39+
* Update C++ language standard to C++ 17.
40+
* CMake 3.19 or newer is now required.
41+
* 32-bit Linux builds are no longer supported.
3842
* Bug Fixes:
39-
* AMD Radeon RX 6800, DX12: HiZ and PreZ counters are now reporting correct values (requires Adrenalin 22.7.1 or newer driver).
40-
* AMD Radeon RX 6800: CSThreadgroups is now reporting the correct values (requires Adrenalin 22.7.1 or newer driver).
41-
* AMD Radeon RX 6000 Series: PostTessellation counters now only show results in pipelines using tessellation.
42-
* AMD Radeon RX 5000 Series: PreTessellation counters now only show results in pipelines using tessellation.
43-
* Sample apps: Fix implementation of passes in D3D11Triangle, and improve general error handling.
43+
* Fixed a regression that resulted in a crash on certain hardware variants.
44+
* Fix a memory leak in the GpaInterfaceLoader if multiple APIs were loaded.
45+
* Fix a memory leak in GPUPerfAPIUnitTests caused by not closing a context.
46+
* Marked kGpaOpenContextHideSoftwareCountersBit as obsolete.
47+
* Marked kGpaOpenContextHideHardwareCountesrBit as obsolete.
4448

4549
## System Requirements
4650
* An AMD Radeon GPU or APU based on Graphics IP version 8 and newer.
4751
* Windows: Radeon Software Adrenalin 2020 Edition 20.11.2 or later (Driver Packaging Version 20.45 or later).
4852
* Linux: Radeon Software for Linux Revision 20.45 or later.
4953
* Radeon GPUs or APUs based on Graphics IP version 6 and 7 are no longer supported by GPUPerfAPI. Please use an older version ([3.3](https://github.com/GPUOpen-Tools/gpu_performance_api/releases/tag/v3.3)) with older hardware.
50-
* Windows 7, 8.1, and 10.
54+
* Windows 7, 8.1, 10, or 11.
5155
* Ubuntu (16.04 and later) and CentOS/RHEL (7 and later) distributions.
5256

5357
## Cloning the Repository
@@ -107,9 +111,6 @@ There are some counters that are returning unexpected results on specific hardwa
107111
### Counter Validation Errors in D3D12ColorCube Sample App
108112
Due to the extensive counter validation now being done in the D3D12ColorCube sample application, and some expected variation in nondeterministic counters across a wide range of systems, the sample app may report errors on some systems. Likewise, some counters are marked as known issues and we are investigating the underlying causes of the inconsistent results.
109113

110-
### Support for OpenCL is not enabled for Radeon 7000 Series GPUs
111-
This should be resolved in a future release.
112-
113114
### OpenCL Performance Counter Accuracy For Radeon 6000 Series GPUs
114115
The following performance counter values may not be accurate for OpenCL applications running on Radeon 6000 Series GPUs:
115116
* Wavefronts, VALUInsts, SALUInsts, SALUBusy, VALUUtilization: These values should be representative of performance, but may not be 100% accurate.

ReleaseNotes.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
# GPU Performance API Release Notes
2+
---
3+
## Version 3.13 (04/27/2023)
4+
* Add support for AMD Radeon RX 7600 series hardware.
5+
* Add support for AMD Radeon RX 7700 series hardware.
6+
* OpenCL support for AMD Radeon RX 7000 series hardware has been restored if using Adrenalin 23.3.2 or newer.
7+
* Removed implementation related to supporting software counters. They have not been supported since GPA 3.0.
8+
* Update C++ language standard to C++ 17.
9+
* CMake 3.19 or newer is now required.
10+
* 32-bit Linux builds are no longer supported.
11+
* Bug Fixes:
12+
* Fixed a regression that resulted in a crash on certain hardware variants.
13+
* Fix a memory leak in the GpaInterfaceLoader if multiple APIs were loaded.
14+
* Fix a memory leak in GPUPerfAPIUnitTests caused by not closing a context.
15+
* Marked kGpaOpenContextHideSoftwareCountersBit as obsolete.
16+
* Marked kGpaOpenContextHideHardwareCountesrBit as obsolete.
217

3-
## Upcoming Release
4-
* Renamed kGpaOpenContextHideSoftwareCountesrBit and kGpaOpenContextHideHardwareCountersBit since they are obsolete.
5-
6-
## Version 3.12 (12/14/22)
7-
* Add support for AMD Radeon™ RX 7900 XTX and AMD Radeon™ RX 7900 XT GPUs.
18+
## Version 3.12 (12/14/2022)
19+
* Add support for AMD Radeon RX 7000 Series hardware.
820
* Add support for compiling with Visual Studio 2022.
9-
* Reduced binary sizes by an average of 75%.
21+
* Reduced binary sizes by an average of 45%.
1022
* Bug Fixes:
1123
* AMD Radeon RX 6800, DX12: HiZ and PreZ counters are now reporting correct values (requires Adrenalin 22.7.1 or newer driver).
1224
* AMD Radeon RX 6800: CSThreadgroups is now reporting the correct values (requires Adrenalin 22.7.1 or newer driver).
1325
* AMD Radeon RX 6000 Series: PostTessellation counters now only show results in pipelines using tessellation.
14-
* AMD Radeon RX 5000 Series: PreTessellation counters now only show results in pipelines using tessellation.
1526
* Sample apps: Fix implementation of passes in D3D11Triangle, and improve general error handling.
1627

1728
## Version 3.11.1 (07/27/22)

build/cmake_modules/build_flags.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ if(${build-internal})
1717
set(AMDT_INTERNAL_BUILD_FLAG ON)
1818
endif()
1919

20+
2021
if(${usingscript})
2122
# Platform Control variable
2223
if(NOT DEFINED build-32bit)
@@ -86,4 +87,4 @@ endif()
8687
# Default compiler
8788
if(NOT DEFINED USE_DEFAULT_COMPILER)
8889
set(USE_DEFAULT_COMPILER ON)
89-
endif()
90+
endif()

build/cmake_modules/defs.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
## Copyright (c) 2018-2022 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
2+
cmake_minimum_required(VERSION 3.19)
33

44
## Define the GPA version
55
set(GPA_MAJOR_VERSION 3)
6-
set(GPA_MINOR_VERSION 12)
6+
set(GPA_MINOR_VERSION 13)
77
set(GPA_UPDATE_VERSION 0)
88

99
if(NOT DEFINED GPA_BUILD_NUMBER)
1010
set(GPA_BUILD_NUMBER 0)
1111
endif()
1212

1313
if(NOT DEFINED GPA_ROOT)
14-
set(GPA_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..)
14+
file(REAL_PATH "${CMAKE_CURRENT_LIST_DIR}/../.." GPA_ROOT)
1515
endif()
1616

1717
if(NOT DEFINED GPA_OUTPUT_DIR)

build/cmake_modules/utils.cmake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,9 @@ macro(REMOVE_CPP_COMPILE_OPTIONS)
7878
foreach(OPTION IN ITEMS ${NATIVE_C_BUILD_OPTIONS})
7979
if(OPTION STREQUAL "-std=c++11")
8080
continue()
81-
endif()
82-
if(OPTION STREQUAL "-Wno-non-virtual-dtor")
81+
elseif(OPTION STREQUAL "-std=c++17")
82+
continue()
83+
elseif(OPTION STREQUAL "-Wno-non-virtual-dtor")
8384
continue()
8485
endif()
8586
set(USE_COMPILE_OPTIONS ${USE_COMPILE_OPTIONS} ${OPTION})

docs/doxygen/DoxyfilePublic

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ PROJECT_NAME = "GPU Perf API"
3131
# This could be handy for archiving the generated documentation or
3232
# if some version control system is used.
3333

34-
PROJECT_NUMBER = 3.12
34+
PROJECT_NUMBER = 3.13
3535

3636
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
3737
# base path where the generated documentation will be put.

docs/sphinx/source/compute_counter_tables_gfx10.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Compute Performance Counters for RDNA
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/compute_counter_tables_gfx103.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Compute Performance Counters for RDNA2
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/compute_counter_tables_gfx11.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Compute Performance Counters for RDNA3
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/compute_counter_tables_gfx8.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Compute Performance Counters for Graphics IP v8
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/compute_counter_tables_gfx9.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Compute Performance Counters for Vega
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@
6161
# built documents.
6262
#
6363
# The short X.Y version.
64-
version = u'3.12'
64+
version = u'3.13'
6565
# The full version, including alpha/beta/rc tags.
66-
release = u'3.12'
66+
release = u'3.13'
6767

6868
# The language for content autogenerated by Sphinx. Refer to documentation
6969
# for a list of supported languages.

docs/sphinx/source/graphics_counter_tables_gfx10.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Graphics Performance Counters for RDNA
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/graphics_counter_tables_gfx103.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Graphics Performance Counters for RDNA2
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/graphics_counter_tables_gfx11.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Graphics Performance Counters for RDNA3
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/graphics_counter_tables_gfx8.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Graphics Performance Counters for Graphics IP v8
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/graphics_counter_tables_gfx9.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright(c) 2018-2022 Advanced Micro Devices, Inc.All rights reserved.
1+
.. Copyright(c) 2018-2023 Advanced Micro Devices, Inc.All rights reserved.
22
.. Graphics Performance Counters for Vega
33
44
.. *** Note, this is an auto-generated file. Do not edit. Execute PublicCounterCompiler to rebuild.

docs/sphinx/source/usage.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright (c) 2018-2021 Advanced Micro Devices, Inc. All rights reserved.
1+
.. Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
22
.. GPU Performance API Usage
33
44
.. highlight:: c++
@@ -23,15 +23,13 @@ for each API
2323
"Vulkan", "| 64-bit Windows: GPUPerfAPIVK-x64.dll
2424
| 32-bit Windows: GPUPerfAPIVK.dll
2525
| 64-bit Linux: libGPUPerfAPIVK.so
26-
| 32-bit Linux: libGPUPerfAPIVK32.so"
2726
"DirectX 12", "| 64-bit Windows: GPUPerfAPIDX12-x64.dll
2827
| 32-bit Windows: GPUPerfAPIDX12.dll"
2928
"DirectX 11", "| 64-bit Windows: GPUPerfAPIDX11-x64.dll
3029
| 32-bit Windows: GPUPerfAPIDX11.dll"
3130
"OpenGL", "| 64-bit Windows: GPUPerfAPIGL-x64.dll
3231
| 32-bit Windows: GPUPerfAPIGL.dll
3332
| 64-bit Linux: libGPUPerfAPIGL.so
34-
| 32-bit Linux: libGPUPerfAPIGL32.so"
3533
"OpenCL", "| 64-bit Windows: GPUPerfAPICL-x64.dll
3634
| 32-bit Windows: GPUPerfAPICL.dll"
3735

include/gpu_performance_api/gpu_perf_api_counters.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,8 @@ typedef GpaStatus (*GpaCounterLibGetCounterNamePtrType)(const GpaCounterContext,
299299
/// @param [out] gpa_counter_index The address which will hold the index upon successful execution.
300300
///
301301
/// @return The GPA result status of the operation. kGpaStatusOk is returned if the operation is successful.
302+
/// @retval kGpaStatusErrorNullPointer if the gpa_counter_info or gpa_counter_index is null, or if the gpa_counter_info
303+
/// indicates that it is a derived counter, but the derived counter name is null.
302304
GPU_PERF_API_COUNTERS_DECL GpaStatus GpaCounterLibGetCounterIndex(const GpaCounterContext gpa_virtual_context,
303305
const GpaCounterParam* gpa_counter_info,
304306
GpaUInt32* gpa_counter_index);

0 commit comments

Comments
 (0)