Skip to content

Commit 6226526

Browse files
committed
GPA 3.15 updates
1 parent f2082fd commit 6226526

File tree

212 files changed

+10013
-9653
lines changed

Some content is hidden

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

212 files changed

+10013
-9653
lines changed

BUILD.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ this script everytime you pull new changes from GPA repository.
6464
* Desktop development with C++
6565
* Within the Visual Studio Installer, the following individual components:
6666
* Windows 11 SDK (10.0.22621.0)
67-
* MSVC v143 - VS 2022 C++ x74/x86 build tools (latest)
67+
* MSVC v143 - VS 2022 C++ x64/x86 build tools (latest)
6868
* C++ CMake tools for Windows
6969
* C++ Clang Compiler for Windows (15.0.1)
7070
* .NET Framework 4.6.2-4.8.1 SDKs and targeting packs

CMakeLists.txt

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

44
set(DEPTH "./")
55

LICENSE renamed to LICENSE.txt

File renamed without changes.

NOTICES.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
DO NOT TRANSLATE OR LOCALIZE
22

33

4-
Third-Party Notices Report for GPUPerfAPI v3.14
4+
Third-Party Notices Report for GPUPerfAPI v3.15
55

66

77

README.md

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,13 @@ 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.14 (09/21/2023)
35-
* Added support for AMD Radeon RX 7700 XT and AMD Radeon RX 7800 XT graphics cards.
36-
* Added support for additional AMD Radeon 700M Series devices.
37-
* Added counters back to Gfx9, Gfx10, Gfx103, and Gfx11 hardware generations. These restored counters are listed below by group:
38-
* Timing: TessellatorBusy, TessellatorBusyCycles, VsGsBusy, VsGsBusyCycles, VsGsTime, PreTessellationBusy, PreTessellationBusyCycles, PreTessellationTime, PostTessellationBusy, PostTessellationBusyCycles, PostTessellationTime
39-
* VertexGeometry: VsGsVerticesIn, VsGsPrimsIn, GSVerticesOut
40-
* PreTessellation: PreTessVerticesIn
41-
* PostTessellation: PostTessPrimsOut
42-
* PrimitiveAssembly: PrimitivesIn
43-
* TextureUnit: TexTriFilteringPct, TexTriFilteringCount, NoTexTriFilteringCount, TexVolFilteringPct, TexVolFilteringCount, NoTexVolFilteringCount
44-
* New counters added:
45-
* MemoryCache: L0TagConflictReadStalledCycles, L0TagConflictWriteStalledCycles, L0TagConflictAtomicStalledCycles
46-
* Changed to Visual Studio 2022 as the default build environment on Windows (previously Visual Studio 2019).
47-
* Added improved support for multi-GPU systems.
48-
* Removed code related to software counters on non-AMD hardware.
34+
### Version 3.15 (12/06/2023)
35+
* Updated minimum CMake version to 3.10 from 3.05.
36+
* Updated equation for MemUnitBusyCycles.
37+
* Updated description of LocalVidMemBytes.
38+
* Renamed *.inc files to .hpp files.
39+
* Reduced size of static buffer when logging messages to avoid compiler warning.
40+
* Fixed an issue on some variant hardware that would prevent enabling certain hardware counters when kGpaOpenContextExposeHardwareCountersBit was specified to GpaOpenContext() by always generating asic-specific counters.
4941

5042
## System Requirements
5143
* An AMD Radeon GPU or APU based on Graphics IP version 8 and newer.
@@ -108,6 +100,7 @@ It was discovered that the improvements introduced in Vega, RDNA, and RDNA2 arch
108100
There are some counters that are returning unexpected results on specific hardware with certain APIs.
109101
* AMD Radeon RX 6700M, DX11: CSLDSBankConflict and CSLDSBankConflictCycles may consistently report as much as 30x higher than expected.
110102
* AMD Radeon RX 480, DX12: CulledPrims and PSPixelsOut may inconsistently report higher than expected.
103+
* VsGsVerticesIn is incorrectly reporting zero when using Vulkan on Linux for some hardware.
111104

112105
### Counter Validation Errors in D3D12ColorCube Sample App
113106
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.

ReleaseNotes.md renamed to RELEASE_NOTES.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# GPU Performance API Release Notes
22
---
3+
# Version 3.15 (12/06/2023)
4+
* Updated minimum CMake version to 3.10 from 3.05.
5+
* Updated equation for MemUnitBusyCycles.
6+
* Updated description of LocalVidMemBytes.
7+
* Renamed *.inc files to .hpp files.
8+
* Reduced size of static buffer when logging messages to avoid compiler warning.
9+
* Fixed an issue on some variant hardware that would prevent enabling certain hardware counters when kGpaOpenContextExposeHardwareCountersBit was specified to GpaOpenContext() by always generating asic-specific counters.
10+
* Known Issues:
11+
* VsGsVerticesIn is incorrectly reporting zero when using Vulkan on Linux for some hardware.
12+
313
## Version 3.14 (09/21/2023)
414
* Added support for AMD Radeon RX 7700 XT and AMD Radeon RX 7800 XT graphics cards.
515
* Added support for additional AMD Radeon 700M Series devices.

build/cmake_modules/android.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
## Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
1+
## Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.
2+
cmake_minimum_required(VERSION 3.10)
33

44
if (NOT DEFINED ENV{ANDROID_SDK})
55
message(FATAL_ERROR "ANDROID_SDK is not defined")

build/cmake_modules/build_flags.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
2+
cmake_minimum_required(VERSION 3.10)
33

44
## GPA has only Debug and Release
55
set(CMAKE_CONFIGURATION_TYPES Debug Release)

build/cmake_modules/clang_utils.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
## Copyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
1+
## Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
2+
cmake_minimum_required(VERSION 3.10)
33

44
find_program(CLANG_FORMAT clang-format DOC "Clang format executable")
55
find_program(CLANG_TIDY clang-tidy DOC "Clang tidy executable")

build/cmake_modules/defs.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.19)
33

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

99
if(NOT DEFINED GPA_BUILD_NUMBER)

build/cmake_modules/gpa_version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Copyright (c) 2020-2022 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
2+
cmake_minimum_required(VERSION 3.10)
33

44
include(${CMAKE_CURRENT_LIST_DIR}/defs.cmake)
55

build/cmake_modules/gpa_vulkan.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
## Copyright (c) 2018-2019 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.7.2)
1+
## Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
2+
cmake_minimum_required(VERSION 3.10)
33

44
if(${GPA_ALL_OPEN_SOURCE})
55
find_package(Vulkan REQUIRED)

build/cmake_modules/targets.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
## Copyright (c) 2018-2020 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
1+
## Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
2+
cmake_minimum_required(VERSION 3.10)
33

44
## GPA has only Debug and Release
55
set(CMAKE_CONFIGURATION_TYPES Debug Release)

build/cmake_modules/utils.cmake

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

44
include(${GPA_CMAKE_MODULES_DIR}/clang_utils.cmake)
55

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

44
if(WIN32)
55
include(${CMAKE_COMMON_LIB_GLOBAL_EXT_WINDOWS_SDK})
66

7-
set(RESOURCE_COMPILER_COMMAND_ARG /I\"${WINDOWS_SDK_UM}\" /I\"${WINDOWS_SDK_SHARED}\" /I\"${GPA_SRC_COMMON}/\" /D AMDT_PROJECT_SUFFIX=\"${AMDTPlatformSuffix}$<$<CONFIG:DEBUG>:-d>\" /D AMDT_PROJECT_SUFFIX_W=L\"-d\" /D \"_DEBUG\" /l\"0x0409\" /nologo /fo \"${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INTDIR}/${RESOURCE_FILE_NAME}.res\" \"${CMAKE_CURRENT_SOURCE_DIR}/${RESOURCE_FILE_NAME}.rc\")
7+
set(RESOURCE_COMPILER_COMMAND_ARG /I\"${WINDOWS_SDK_UM}\" /I\"${WINDOWS_SDK_SHARED}\" /I\"${GPA_SRC_COMMON}/\" /D AMDT_PROJECT_SUFFIX=\"${AMDTPlatformSuffix}$<$<CONFIG:DEBUG>:-d>\" /D AMDT_PROJECT_SUFFIX_W=L\"-d\" $<$<CONFIG:Debug>:/D_DEBUG> /l\"0x0409\" /nologo /fo \"${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INTDIR}/${RESOURCE_FILE_NAME}.res\" \"${CMAKE_CURRENT_SOURCE_DIR}/${RESOURCE_FILE_NAME}.rc\")
88
add_custom_command(TARGET ${GPA_PROJECT_NAME} PRE_LINK
99
COMMAND rc ${RESOURCE_COMPILER_COMMAND_ARG}
1010
COMMENT "Compiling resource file ${RESOURCE_FILE_NAME}.rc")
1111
1212
set_property(TARGET ${GPA_PROJECT_NAME} PROPERTY LINK_FLAGS \"${CMAKE_CURRENT_BINARY_DIR}/${RESOURCE_FILE_NAME}.res\")
13-
endif()
13+
endif()

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.14
34+
PROJECT_NUMBER = 3.15
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/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
2+
cmake_minimum_required(VERSION 3.10)
33

44
set(DEPTH "../")
55

docs/sphinx/source/conf.py

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

6868
# The language for content autogenerated by Sphinx. Refer to documentation
6969
# for a list of supported languages.
7070
#
7171
# This is also used if you do content translation via gettext catalogs.
7272
# Usually you set "language" from the command line for these cases.
73-
language = None
73+
language = 'en'
7474

7575
# List of patterns, relative to source directory, that match files and
7676
# directories to ignore when looking for source files.

docs/sphinx/source/graphics_counter_tables_gfx103.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ GlobalMemory Group
228228
"MemUnitStalledCycles", "Cycles", "Number of GPU cycles the memory unit is stalled."
229229
"WriteUnitStalled", "Percentage", "The percentage of GPUTime the Write unit is stalled. Value range: 0% to 100% (bad)."
230230
"WriteUnitStalledCycles", "Cycles", "Number of GPU cycles the Write unit is stalled."
231-
"LocalVidMemBytes", "Bytes", "Number of bytes read from or written to local video memory"
231+
"LocalVidMemBytes", "Bytes", "Number of bytes read from or written to the Infinity Cache (if available) or local video memory"
232232
"PcieBytes", "Bytes", "Number of bytes sent and received over the PCIe bus"
233233

234234
RayTracing Group

docs/sphinx/source/graphics_counter_tables_gfx11.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ GlobalMemory Group
223223
"MemUnitStalledCycles", "Cycles", "Number of GPU cycles the memory unit is stalled."
224224
"WriteUnitStalled", "Percentage", "The percentage of GPUTime the Write unit is stalled. Value range: 0% to 100% (bad)."
225225
"WriteUnitStalledCycles", "Cycles", "Number of GPU cycles the Write unit is stalled."
226-
"LocalVidMemBytes", "Bytes", "Number of bytes read from or written to local video memory"
226+
"LocalVidMemBytes", "Bytes", "Number of bytes read from or written to the Infinity Cache (if available) or local video memory"
227227
"PcieBytes", "Bytes", "Number of bytes sent and received over the PCIe bus"
228228

229229
RayTracing Group

include/gpu_performance_api/gpu_perf_api_counters.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,15 +241,18 @@ typedef GpaStatus (*GpaCounterLibGetFuncTablePtrType)(void*);
241241
///
242242
/// @param [in] api the api whose available counters are requested.
243243
/// @param [in] gpa_counter_context_hardware_info counter context hardware info.
244-
/// @param [in] context_flags Flags used to initialize the context. Should be a combination of GPA_OpenContext_Bits.
245-
/// @param [in] generate_asic_specific_counters Flag that indicates whether the counters should be ASIC specific, if available.
244+
/// @param [in] context_flags Flags used to initialize the context. Should be a combination of GpaOpenContextBits.
245+
/// @param [in] generate_asic_specific_counters_deprecated No longer supported, only acceptable value is 1 (true).
246246
/// @param [out] gpa_virtual_context Unique identifier of the opened virtual context.
247247
///
248248
/// @return The GPA result status of the operation. kGpaStatusOk is returned if the operation is successful.
249+
/// @retval kGpaStatusErrorNullPointer If the supplied gpa_virtual_context is a nullptr.
250+
/// @retval kGpaStatusErrorInvalidParameter If any value other than 1 (true) is passed in for generate_asic_specific_counters_deprecated,
251+
/// or if the context_flags specified would result in zero counters being exposed.
249252
GPU_PERF_API_COUNTERS_DECL GpaStatus GpaCounterLibOpenCounterContext(GpaApiType api,
250253
GpaCounterContextHardwareInfo gpa_counter_context_hardware_info,
251254
GpaOpenContextFlags context_flags,
252-
GpaUInt8 generate_asic_specific_counters,
255+
GpaUInt8 generate_asic_specific_counters_deprecated,
253256
GpaCounterContext* gpa_virtual_context);
254257

255258
/// typedef for GpaCounterLibOpenCounterContext function pointer.

include/gpu_performance_api/gpu_perf_api_function_types.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//==============================================================================
2-
// Copyright (c) 2010-2023 Advanced Micro Devices, Inc. All rights reserved.
2+
// Copyright (c) 2010-2022 Advanced Micro Devices, Inc. All rights reserved.
33
/// @author AMD Developer Tools Team
44
/// @file
55
/// @brief This file defines function types to make it easier to dynamically load

scripts/dependencies_map.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
"appsdk" : ["external/Lib/AMD/APPSDK", "55a6940ebc963daec69152314a1bb94943287d4c"],
1515
"opengl" : ["external/Lib/Ext/OpenGL", "792c2291a4443ebef17ca5a7e3e24a1f854f0d1d"],
1616
"windows_kits" : ["external/Lib/Ext/Windows-Kits", "51845a3771122a9dc1406b8617e9a67d9a2f55b6"],
17-
"googletest" : ["external/Lib/Ext/GoogleTest", "542e057c6c5bf45454b43764b881397b71164d62"],
17+
"googletest" : ["external/Lib/Ext/GoogleTest", "191f9336bc9212b5f5410ab663176f685cafed2a"],
1818
# Src.
1919
"adl_util" : ["external/Src/ADLUtil", "d62c94514326775c83fc129bb89d299c8749ebd1"],
20-
"device_info" : ["external/Src/DeviceInfo", "8c2adcc8136dab662a58e93ead3027ee68e318c6"],
20+
"device_info" : ["external/Src/DeviceInfo", "190ec95f2ce1d715231f2ee5e17a65217fc59f6c"],
2121
"dynamic_library_module" : ["external/Src/DynamicLibraryModule", "e6451ce26b8509cf724c7cf5d007878791143a58"],
2222
"tsingleton" : ["external/Src/TSingleton", "02e8fa7d98f33cdbd0e1f77d1a8a403a32e35882"],
2323
}

scripts/gpa_packaging.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ def __init__(self):
251251
_gpa_binaries.append("GPUPerfAPICL")
252252

253253
_other_files=["NOTICES.txt",
254-
"LICENSE"]
254+
"LICENSE.txt"]
255255

256256
_version_file="source/gpu_perf_api_common/gpa_version.h"
257257
_major_version=0

source/auto_generated/gpu_perf_api_counter_generator/gpa_hw_counter.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
2+
cmake_minimum_required(VERSION 3.10)
33

44
set(CMAKE_INCLUDE_CURRENT_DIR ON)
55
set(HW_COUNTER_HEADERS

source/auto_generated/gpu_perf_api_counter_generator/gpa_hw_counter_cl.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
2-
cmake_minimum_required(VERSION 3.5.1)
2+
cmake_minimum_required(VERSION 3.10)
33

44
set(CMAKE_INCLUDE_CURRENT_DIR ON)
55
set(HW_COUNTER_HEADERS_CL

0 commit comments

Comments
 (0)