Skip to content

Commit ee88774

Browse files
committed
GPA 3.4 release
1 parent b69681b commit ee88774

File tree

794 files changed

+775962
-508016
lines changed

Some content is hidden

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

794 files changed

+775962
-508016
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ CMakeBuild*/
3333

3434
# Visual Studo 2015 cache/options directory
3535
.vs/
36+
.vscode/
3637

3738
# MSTest test Results
3839
[Tt]est[Rr]esult*/

BUILD.md

Lines changed: 4 additions & 4 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, which can be installed from https://www.python.org/. Either Python 2.7 or 3.x should work.
15-
* CMake 3.5.1 or newer
15+
* CMake 3.7.2 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:
@@ -30,8 +30,8 @@ order to clone/update any dependent repositories.
3030
* This script will clone any dependent repositories that are not present on the system. If any of the dependent repositories are already
3131
present on the system, this script will instead do a "git pull" on those repositories to ensure that they are up to date. Please re-run
3232
this script everytime you pull new changes from GPA repository.
33-
* NOTE: For GPA 3.3 or newer, if you are updating an existing clone of the GPA repo from an earlier GPA release, you will first need to delete the Common/Lib/Ext/GoogleTest directory. Starting with GPA 3.3, GPA is now using a fork of the official GoogleTest repo. Failure to remove this directory will lead to git errors when running PreBuild.py or UpdateCommon.py.
34-
* This script will also download and execute the Vulkan™ SDK installer.
33+
* NOTE: For GPA 3.3 or newer, if you are updating an existing clone of the GPA repo from a GPA release prior than 3.3, you will first need to delete the Common/Lib/Ext/GoogleTest directory. Starting with GPA 3.3, GPA is now using a fork of the official GoogleTest repo. Failure to remove this directory will lead to git errors when running PreBuild.py or UpdateCommon.py.
34+
* This script will also download and execute the Vulkan™ SDK installer.
3535
* On Windows, running the installer may require elevation. If you've previously installed the required Vulkan version, UpdateCommon will simply copy the files form the default installation location into the correct place into the GPUPerfAPI directory tree.
3636
* UpdateCommon is set up to install the version of the Vulkan SDK which was used during development. If you want to use a newer version of the SDK, the following file will need to be updated:
3737
* [UpdateCommonMap.py](Scripts/UpdateCommonMap.py)
@@ -96,7 +96,7 @@ this script everytime you pull new changes from GPA repository.
9696

9797
The PublicCounterCompiler Tool is a utility, written in C#, that will generate C++ code to define the public (or derived) counters.
9898
It takes as input text files contained in the [PublicCounterCompilerInputFiles](Src/PublicCounterCompilerInputFiles) directory and
99-
outputs files in the [GPUPerfAPICounterGenerator](Src/GPUPerfAPICounterGenerator), [GPUPerfAPIUnitTests](Src/GPUPerfAPIUnitTests)
99+
outputs files in the [GPUPerfAPICounterGenerator](Src/AutoGenerated/GPUPerfAPICounterGenerator), [GPUPerfAPIUnitTests](Src/AutoGenerated/GPUPerfAPIUnitTests)
100100
and [docs](docs) directories.
101101

102102
There are three ways to execute the tool:

CMakeModules/Common.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,5 @@ if(NOT WIN32)
4949
set(CMAKE_CXX_COMPILER g++)
5050
set(GPA_COMMON_LINK_ARCHIVE_FLAG -Wl,--whole-archive)
5151
set(GPA_COMMON_LINK_NO_ARCHIVE_FLAG -Wl,--no-whole-archive)
52-
add_compile_options(-Wno-unknown-pragmas -Wno-strict-aliasing -Wno-non-virtual-dtor -Wno-unused-value -msse)
52+
add_compile_options(-Wno-unknown-pragmas -Wno-strict-aliasing -Wno-non-virtual-dtor -Wno-unused-value -msse -fvisibility=hidden)
5353
endif()

CMakeModules/CommonDefs.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ set(GPA_SRC_COMMON_REL_PATH "Src/GPUPerfAPI-Comm
2121
set(GPA_SRC_COMMON "${GPA_ROOT}/${GPA_SRC_COMMON_REL_PATH}")
2222
set(GPA_SRC_COUNTER_GENERATOR_REL_PATH "Src/GPUPerfAPICounterGenerator")
2323
set(GPA_SRC_COUNTER_GENERATOR "${GPA_ROOT}/${GPA_SRC_COUNTER_GENERATOR_REL_PATH}")
24+
set(GPA_AUTOGEN_SRC_COUNTER_GENERATOR_REL_PATH "Src/AutoGenerated/GPUPerfAPICounterGenerator")
25+
set(GPA_AUTOGEN_SRC_COUNTER_GENERATOR "${GPA_ROOT}/${GPA_AUTOGEN_SRC_COUNTER_GENERATOR_REL_PATH}")
2426
set(GPA_SRC_COUNTERS_REL_PATH "Src/GPUPerfAPICounters")
2527
set(GPA_SRC_COUNTERS "${GPA_ROOT}/${GPA_SRC_COUNTERS_REL_PATH}")
2628
set(GPA_SRC_GL_REL_PATH "Src/GPUPerfAPIGL")
@@ -41,6 +43,8 @@ set(GPA_SRC_ROCM_REL_PATH "Src/GPUPerfAPIROCm"
4143
set(GPA_SRC_ROCM "${GPA_ROOT}/${GPA_SRC_ROCM_REL_PATH}")
4244
set(GPA_SRC_TESTS_REL_PATH "Src/GPUPerfAPIUnitTests")
4345
set(GPA_SRC_TESTS "${GPA_ROOT}/${GPA_SRC_TESTS_REL_PATH}")
46+
set(GPA_AUTOGEN_SRC_TESTS_REL_PATH "Src/AutoGenerated/GPUPerfAPIUnitTests")
47+
set(GPA_AUTOGEN_SRC_TESTS "${GPA_ROOT}/${GPA_AUTOGEN_SRC_TESTS_REL_PATH}")
4448
set(GPA_SRC_PUBLIC_COUNTER_COMPILER_REL_PATH "Src/PublicCounterCompiler")
4549
set(GPA_SRC_PUBLIC_COUNTER_COMPILER "${GPA_ROOT}/${GPA_SRC_PUBLIC_COUNTER_COMPILER_REL_PATH}")
4650
set(GPA_SRC_PUBLIC_COUNTER_INPUT_FILES_REL_PATH "Src/PublicCounterCompilerInputFiles")
@@ -53,6 +57,10 @@ set(GPA_SPHINX_DOCS_REL_PATH "docs")
5357
set(GPA_SPHINX_DOCS "${GPA_ROOT}/${GPA_SPHINX_DOCS_REL_PATH}")
5458
set(GPA_SRC_GOOGLE_TEST_REL_PATH "Src/GoogleTest")
5559
set(GPA_SRC_GOOGLE_TEST "${GPA_ROOT}/${GPA_SRC_GOOGLE_TEST_REL_PATH}")
60+
set(GPA_AUTOGEN_PUBLIC_COUNTER_INPUT_FILES_REL_PATH "Src/AutoGenerated/PublicCounterCompilerInputFiles")
61+
set(GPA_AUTOGEN_PUBLIC_COUNTER_INPUT_FILES "${GPA_ROOT}/${GPA_AUTOGEN_PUBLIC_COUNTER_INPUT_FILES_REL_PATH}")
62+
set(GPA_SRC_GL_TRIANGLE_REL_PATH "Src/Examples/OpenGL/GLTriangle")
63+
set(GPA_SRC_GL_TRIANGLE "${GPA_ROOT}/${GPA_SRC_GL_TRIANGLE_REL_PATH}")
5664

5765
set(GOOGLETEST_DIR ${COMMON_DIR_LIB}/Ext/GoogleTest)
5866

CMakeModules/CommonMacros.cmake

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,21 @@ endif()
5757
## Macro to exclude a target from the default build process
5858
macro(REMOVE_TARGET_FROM_BUILD TARGET_NAME)
5959
set_property(TARGET ${ARGV0} PROPERTY ${EXCLUDE_FROM_BUILD} ON)
60+
endmacro()
61+
62+
## Macro to remove C++ options for C builds
63+
macro(REMOVE_CPP_COMPILE_OPTIONS)
64+
get_property(NATIVE_C_BUILD_OPTIONS DIRECTORY PROPERTY COMPILE_OPTIONS)
65+
set(USE_COMPILE_OPTIONS "")
66+
67+
foreach(OPTION IN ITEMS ${NATIVE_C_BUILD_OPTIONS})
68+
if(OPTION STREQUAL "-std=c++11")
69+
continue()
70+
endif()
71+
if(OPTION STREQUAL "-Wno-non-virtual-dtor")
72+
continue()
73+
endif()
74+
set(USE_COMPILE_OPTIONS ${USE_COMPILE_OPTIONS} ${OPTION})
75+
endforeach()
76+
set_property(DIRECTORY PROPERTY COMPILE_OPTIONS ${USE_COMPILE_OPTIONS})
6077
endmacro()

CMakeModules/GPA-Vulkan.cmake

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

44
if(${GPA_ALL_OPEN_SOURCE})
5-
if(DEFINED ENV{VULKAN_SDK})
6-
set(VULKAN_SDK $ENV{VULKAN_SDK})
7-
if(WIN32)
8-
set(ADDITIONAL_INCLUDE_DIRECTORIES ${ADDITIONAL_INCLUDE_DIRECTORIES}
9-
${VULKAN_SDK}/Include)
10-
else()
11-
set(ADDITIONAL_INCLUDE_DIRECTORIES ${ADDITIONAL_INCLUDE_DIRECTORIES}
12-
${VULKAN_SDK}/include)
13-
endif()
14-
15-
set(ADDITIONAL_DEFINTIONS ${ADDITIONAL_DEFINTIONS}
16-
-DVULKAN_SDK="${VULKAN_SDK}")
17-
5+
find_package(Vulkan REQUIRED)
6+
if(${Vulkan_FOUND})
7+
set(VK_INC_DIRS ${Vulkan_INCLUDE_DIRS})
8+
set(VK_LIB ${Vulkan_LIBRARIES})
189
if(WIN32)
1910
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
20-
set(ADDITIONAL_LINK_DIRECTORIES ${ADDITIONAL_LINK_DIRECTORIES}
21-
${VULKAN_SDK}/Lib)
11+
find_path(VK_TOOLS_DIR NAMES glslangValidator.exe PATHS "$ENV{VULKAN_SDK}/Bin")
2212
else()
23-
set(ADDITIONAL_LINK_DIRECTORIES ${ADDITIONAL_LINK_DIRECTORIES}
24-
${VULKAN_SDK}/Lib32)
13+
find_path(VK_TOOLS_DIR NAMES glslangValidator.exe PATHS "$ENV{VULKAN_SDK}/Bin32")
2514
endif()
2615
else()
27-
set(ADDITIONAL_LINK_DIRECTORIES ${ADDITIONAL_LINK_DIRECTORIES}
28-
${VULKAN_SDK}/lib)
16+
find_path(VK_TOOLS_DIR NAMES glslangValidator PATHS "$ENV{VULKAN_SDK}/bin")
2917
endif()
18+
19+
set(ADDITIONAL_DEFINTIONS ${ADDITIONAL_DEFINTIONS}
20+
-DVK_INC_DIRS="${VK_INC_DIRS}")
21+
22+
set(ADDITIONAL_INCLUDE_DIRECTORIES ${ADDITIONAL_INCLUDE_DIRECTORIES}
23+
${VK_INC_DIRS})
24+
3025
else()
3126
message("CMake: Vulkan SDK not found")
3227
endif()
3328
else()
3429
include(${CMAKE_COMMON_LIB_GLOBAL_EXT_VULKAN})
35-
endif()
30+
endif()

CMakeModules/Targets.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
7373
add_subdirectory(${GPA_SRC_VK_COLOR_CUBE} ${CMAKE_BINARY_DIR}/${GPA_SRC_VK_COLOR_CUBE_REL_PATH})
7474
endif()
7575

76+
if(WIN32)
77+
add_subdirectory(${GPA_SRC_GL_TRIANGLE} ${CMAKE_BINARY_DIR}/${GPA_SRC_GL_TRIANGLE_REL_PATH})
78+
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
79+
add_subdirectory(${GPA_SRC_GL_TRIANGLE} ${CMAKE_BINARY_DIR}/${GPA_SRC_GL_TRIANGLE_REL_PATH})
80+
endif()
81+
7682
if(NOT ${skiptests})
7783
# Build GoogleTest libs
7884
add_subdirectory(${GPA_SRC_GOOGLE_TEST} ${CMAKE_BINARY_DIR}/${GPA_SRC_GOOGLE_TEST_REL_PATH})

0 commit comments

Comments
 (0)