xref: /aosp_15_r20/external/vulkan-validation-layers/layers/vk_layer_extension_utils.h (revision b7893ccf7851cd6a48cc5a1e965257d8a5cdcc70)
1*b7893ccfSSadaf Ebrahimi /* Copyright (c) 2015-2016 The Khronos Group Inc.
2*b7893ccfSSadaf Ebrahimi  * Copyright (c) 2015-2016 Valve Corporation
3*b7893ccfSSadaf Ebrahimi  * Copyright (c) 2015-2016 LunarG, Inc.
4*b7893ccfSSadaf Ebrahimi  *
5*b7893ccfSSadaf Ebrahimi  * Licensed under the Apache License, Version 2.0 (the "License");
6*b7893ccfSSadaf Ebrahimi  * you may not use this file except in compliance with the License.
7*b7893ccfSSadaf Ebrahimi  * You may obtain a copy of the License at
8*b7893ccfSSadaf Ebrahimi  *
9*b7893ccfSSadaf Ebrahimi  *     http://www.apache.org/licenses/LICENSE-2.0
10*b7893ccfSSadaf Ebrahimi  *
11*b7893ccfSSadaf Ebrahimi  * Unless required by applicable law or agreed to in writing, software
12*b7893ccfSSadaf Ebrahimi  * distributed under the License is distributed on an "AS IS" BASIS,
13*b7893ccfSSadaf Ebrahimi  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*b7893ccfSSadaf Ebrahimi  * See the License for the specific language governing permissions and
15*b7893ccfSSadaf Ebrahimi  * limitations under the License.
16*b7893ccfSSadaf Ebrahimi  *
17*b7893ccfSSadaf Ebrahimi  * Author: Courtney Goeltzenleuchter <[email protected]>
18*b7893ccfSSadaf Ebrahimi  *
19*b7893ccfSSadaf Ebrahimi  */
20*b7893ccfSSadaf Ebrahimi 
21*b7893ccfSSadaf Ebrahimi #include "vulkan/vk_layer.h"
22*b7893ccfSSadaf Ebrahimi 
23*b7893ccfSSadaf Ebrahimi #ifndef LAYER_EXTENSION_UTILS_H
24*b7893ccfSSadaf Ebrahimi #define LAYER_EXTENSION_UTILS_H
25*b7893ccfSSadaf Ebrahimi 
26*b7893ccfSSadaf Ebrahimi #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
27*b7893ccfSSadaf Ebrahimi 
28*b7893ccfSSadaf Ebrahimi /*
29*b7893ccfSSadaf Ebrahimi  * This file contains static functions for the generated layers
30*b7893ccfSSadaf Ebrahimi  */
31*b7893ccfSSadaf Ebrahimi extern "C" {
32*b7893ccfSSadaf Ebrahimi 
33*b7893ccfSSadaf Ebrahimi VK_LAYER_EXPORT VkResult util_GetExtensionProperties(const uint32_t count, const VkExtensionProperties *layer_extensions,
34*b7893ccfSSadaf Ebrahimi                                                      uint32_t *pCount, VkExtensionProperties *pProperties);
35*b7893ccfSSadaf Ebrahimi 
36*b7893ccfSSadaf Ebrahimi VK_LAYER_EXPORT VkResult util_GetLayerProperties(const uint32_t count, const VkLayerProperties *layer_properties, uint32_t *pCount,
37*b7893ccfSSadaf Ebrahimi                                                  VkLayerProperties *pProperties);
38*b7893ccfSSadaf Ebrahimi 
39*b7893ccfSSadaf Ebrahimi }  // extern "C"
40*b7893ccfSSadaf Ebrahimi #endif  // LAYER_EXTENSION_UTILS_H
41