driver_gen.h revision eb7db124e46da9a9210cf868353f5ea79502ffec
1/* 2 * Copyright 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17// WARNING: This file is generated. See ../README.md for instructions. 18 19#ifndef LIBVULKAN_DRIVER_GEN_H 20#define LIBVULKAN_DRIVER_GEN_H 21 22#include <vulkan/vulkan.h> 23#include <vulkan/vk_android_native_buffer.h> 24 25namespace vulkan { 26namespace driver { 27 28struct ProcHook { 29 enum Type { 30 GLOBAL, 31 INSTANCE, 32 DEVICE, 33 }; 34 enum Extension { 35 ANDROID_native_buffer, 36 EXT_debug_report, 37 KHR_android_surface, 38 KHR_surface, 39 KHR_swapchain, 40 41 EXTENSION_CORE, // valid bit 42 EXTENSION_COUNT, 43 EXTENSION_UNKNOWN, 44 }; 45 46 const char* name; 47 Type type; 48 Extension extension; 49 50 PFN_vkVoidFunction proc; 51 PFN_vkVoidFunction disabled_proc; // nullptr for global hooks 52 PFN_vkVoidFunction checked_proc; // nullptr for global/instance hooks 53}; 54 55const ProcHook* GetProcHook(const char* name); 56ProcHook::Extension GetProcHookExtension(const char* name); 57 58} // namespace driver 59} // namespace vulkan 60 61#endif // LIBVULKAN_DRIVER_TABLE_H 62