forked from GPUOpen-Tools/gpu_performance_api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgpu_perf_api_vk.h
43 lines (34 loc) · 2.18 KB
/
gpu_perf_api_vk.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//==============================================================================
// Copyright (c) 2017-2018 Advanced Micro Devices, Inc. All rights reserved.
/// \author AMD Developer Tools Team
/// \file
/// \brief This file should be included by an application that wishes to use
/// the Vulkan version of GPUPerfAPI. It defines structures that should
/// be passed to the GPA_OpenContext calls when using GPUPerfAPI with
/// Vulkan.
//==============================================================================
#ifndef _GPUPERFAPI_VK_H_
#define _GPUPERFAPI_VK_H_
/// Define the AMD GPA extension name
#define VK_AMD_GPA_INTERFACE_EXTENSION_NAME "VK_AMD_gpa_interface"
/// Define the AMD shader core properties extension name
#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
/// Define the AMD shader core properties 2 extension name
#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME2 "VK_AMD_shader_core_properties2"
/// Define a macro to help developers include all instance-level extensions required to support the AMD GPA Interface.
#define AMD_GPA_REQUIRED_INSTANCE_EXTENSION_NAME_LIST VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
/// Define a macro to help developers include all device-level extensions required to support the AMD GPA Interface.
#define AMD_GPA_REQUIRED_DEVICE_EXTENSION_NAME_LIST VK_AMD_GPA_INTERFACE_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME
/// Define a macro to help developers include optional device-level extensions to support the AMD GPA Interface.
#define AMD_GPA_OPTIONAL_DEVICE_EXTENSION_NAME_LIST VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME2
/// The struct that should be supplied to GPA_OpenContext().
/// The instance, physicalDevice, and device should be set prior to
/// calling OpenContext() to reflect the Vulkan objects on which profiling
/// will take place.
typedef struct GPA_vkContextOpenInfo
{
VkInstance instance; ///< The instance on which to profile
VkPhysicalDevice physicalDevice; ///< The physical device on which to profile
VkDevice device; ///< The device on which to profile
} GPA_vkContextOpenInfo;
#endif // _GPUPERFAPI_VK_H_