• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved.
3 //
4 // Permission is hereby granted, free of charge, to any person obtaining a copy
5 // of this software and associated documentation files (the "Software"), to deal
6 // in the Software without restriction, including without limitation the rights
7 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 // copies of the Software, and to permit persons to whom the Software is
9 // furnished to do so, subject to the following conditions:
10 //
11 // The above copyright notice and this permission notice shall be included in
12 // all copies or substantial portions of the Software.
13 //
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 // THE SOFTWARE.
21 //
22 
23 #pragma once
24 
25 extern const int RESULT_EXCEPTION;
26 extern const int RESULT_ERROR_COMMAND_LINE;
27 extern const int RESULT_ERROR_SOURCE_FILE;
28 extern const int RESULT_ERROR_FORMAT;
29 extern const int RESULT_ERROR_VULKAN;
30 
31 enum CMD_LINE_OPT
32 {
33     CMD_LINE_OPT_VERBOSITY,
34     CMD_LINE_OPT_ITERATIONS,
35     CMD_LINE_OPT_LINES,
36     CMD_LINE_OPT_PHYSICAL_DEVICE,
37     CMD_LINE_OPT_USER_DATA,
38     CMD_LINE_OPT_VK_KHR_DEDICATED_ALLOCATION,
39     CMD_LINE_OPT_VK_EXT_MEMORY_BUDGET,
40     CMD_LINE_OPT_VK_LAYER_LUNARG_STANDARD_VALIDATION,
41     CMD_LINE_OPT_MEM_STATS,
42     CMD_LINE_OPT_DUMP_STATS_AFTER_LINE,
43     CMD_LINE_OPT_DEFRAGMENT_AFTER_LINE,
44     CMD_LINE_OPT_DEFRAGMENTATION_FLAGS,
45     CMD_LINE_OPT_DUMP_DETAILED_STATS_AFTER_LINE,
46 };
47 
48 enum class VERBOSITY
49 {
50     MINIMUM = 0,
51     DEFAULT,
52     MAXIMUM,
53     COUNT,
54 };
55 
56 enum class VULKAN_EXTENSION_REQUEST
57 {
58     DISABLED,
59     ENABLED,
60     DEFAULT
61 };
62 
63 enum class OBJECT_TYPE { BUFFER, IMAGE };
64 
65 enum class VMA_FUNCTION
66 {
67     CreatePool,
68     DestroyPool,
69     SetAllocationUserData,
70     CreateBuffer,
71     DestroyBuffer,
72     CreateImage,
73     DestroyImage,
74     FreeMemory,
75     FreeMemoryPages,
76     CreateLostAllocation,
77     AllocateMemory,
78     AllocateMemoryPages,
79     AllocateMemoryForBuffer,
80     AllocateMemoryForImage,
81     MapMemory,
82     UnmapMemory,
83     FlushAllocation,
84     InvalidateAllocation,
85     TouchAllocation,
86     GetAllocationInfo,
87     MakePoolAllocationsLost,
88     ResizeAllocation,
89     DefragmentationBegin,
90     DefragmentationEnd,
91     SetPoolName,
92     Count
93 };
94 extern const char* VMA_FUNCTION_NAMES[];
95 
96 extern const char* VMA_POOL_CREATE_FLAG_NAMES[];
97 extern const uint32_t VMA_POOL_CREATE_FLAG_VALUES[];
98 extern const size_t VMA_POOL_CREATE_FLAG_COUNT;
99 
100 extern const char* VK_BUFFER_CREATE_FLAG_NAMES[];
101 extern const uint32_t VK_BUFFER_CREATE_FLAG_VALUES[];
102 extern const size_t VK_BUFFER_CREATE_FLAG_COUNT;
103 
104 extern const char* VK_BUFFER_USAGE_FLAG_NAMES[];
105 extern const uint32_t VK_BUFFER_USAGE_FLAG_VALUES[];
106 extern const size_t VK_BUFFER_USAGE_FLAG_COUNT;
107 
108 extern const char* VK_SHARING_MODE_NAMES[];
109 extern const size_t VK_SHARING_MODE_COUNT;
110 
111 extern const char* VK_IMAGE_CREATE_FLAG_NAMES[];
112 extern const uint32_t VK_IMAGE_CREATE_FLAG_VALUES[];
113 extern const size_t VK_IMAGE_CREATE_FLAG_COUNT;
114 
115 extern const char* VK_IMAGE_TYPE_NAMES[];
116 extern const size_t VK_IMAGE_TYPE_COUNT;
117 
118 extern const char* VK_FORMAT_NAMES[];
119 extern const uint32_t VK_FORMAT_VALUES[];
120 extern const size_t VK_FORMAT_COUNT;
121 
122 extern const char* VK_SAMPLE_COUNT_NAMES[];
123 extern const uint32_t VK_SAMPLE_COUNT_VALUES[];
124 extern const size_t VK_SAMPLE_COUNT_COUNT;
125 
126 extern const char* VK_IMAGE_TILING_NAMES[];
127 extern const size_t VK_IMAGE_TILING_COUNT;
128 
129 extern const char* VK_IMAGE_USAGE_FLAG_NAMES[];
130 extern const uint32_t VK_IMAGE_USAGE_FLAG_VALUES[];
131 extern const size_t VK_IMAGE_USAGE_FLAG_COUNT;
132 
133 extern const char* VK_IMAGE_TILING_NAMES[];
134 extern const size_t VK_IMAGE_TILING_COUNT;
135 
136 extern const char* VK_IMAGE_LAYOUT_NAMES[];
137 extern const uint32_t VK_IMAGE_LAYOUT_VALUES[];
138 extern const size_t VK_IMAGE_LAYOUT_COUNT;
139 
140 extern const char* VMA_ALLOCATION_CREATE_FLAG_NAMES[];
141 extern const uint32_t VMA_ALLOCATION_CREATE_FLAG_VALUES[];
142 extern const size_t VMA_ALLOCATION_CREATE_FLAG_COUNT;
143 
144 extern const char* VMA_MEMORY_USAGE_NAMES[];
145 extern const size_t VMA_MEMORY_USAGE_COUNT;
146 
147 extern const char* VK_MEMORY_PROPERTY_FLAG_NAMES[];
148 extern const uint32_t VK_MEMORY_PROPERTY_FLAG_VALUES[];
149 extern const size_t VK_MEMORY_PROPERTY_FLAG_COUNT;
150