1#!/usr/bin/python3 -i 2# 3# Copyright (c) 2015-2017, 2019 The Khronos Group Inc. 4# Copyright (c) 2015-2017, 2019 Valve Corporation 5# Copyright (c) 2015-2017, 2019 LunarG, Inc. 6# 7# Licensed under the Apache License, Version 2.0 (the "License"); 8# you may not use this file except in compliance with the License. 9# You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, software 14# distributed under the License is distributed on an "AS IS" BASIS, 15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16# See the License for the specific language governing permissions and 17# limitations under the License. 18# 19# Author: Mark Lobodzinski <mark@lunarg.com> 20 21import os,re,sys,string 22import xml.etree.ElementTree as etree 23from generator import * 24from collections import namedtuple 25 26# Copyright text prefixing all headers (list of strings). 27prefixStrings = [ 28 '/*', 29 '** Copyright (c) 2015-2017, 2019 The Khronos Group Inc.', 30 '** Copyright (c) 2015-2017, 2019 Valve Corporation', 31 '** Copyright (c) 2015-2017, 2019 LunarG, Inc.', 32 '** Copyright (c) 2015-2017, 2019 Google Inc.', 33 '**', 34 '** Licensed under the Apache License, Version 2.0 (the "License");', 35 '** you may not use this file except in compliance with the License.', 36 '** You may obtain a copy of the License at', 37 '**', 38 '** http://www.apache.org/licenses/LICENSE-2.0', 39 '**', 40 '** Unless required by applicable law or agreed to in writing, software', 41 '** distributed under the License is distributed on an "AS IS" BASIS,', 42 '** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.', 43 '** See the License for the specific language governing permissions and', 44 '** limitations under the License.', 45 '*/', 46 '' 47] 48 49 50platform_dict = { 51 'android' : 'VK_USE_PLATFORM_ANDROID_KHR', 52 'fuchsia' : 'VK_USE_PLATFORM_FUCHSIA', 53 'ios' : 'VK_USE_PLATFORM_IOS_MVK', 54 'macos' : 'VK_USE_PLATFORM_MACOS_MVK', 55 'metal' : 'VK_USE_PLATFORM_METAL_EXT', 56 'vi' : 'VK_USE_PLATFORM_VI_NN', 57 'wayland' : 'VK_USE_PLATFORM_WAYLAND_KHR', 58 'win32' : 'VK_USE_PLATFORM_WIN32_KHR', 59 'xcb' : 'VK_USE_PLATFORM_XCB_KHR', 60 'xlib' : 'VK_USE_PLATFORM_XLIB_KHR', 61 'xlib_xrandr' : 'VK_USE_PLATFORM_XLIB_XRANDR_EXT', 62} 63 64# 65# Return appropriate feature protect string from 'platform' tag on feature 66def GetFeatureProtect(interface): 67 """Get platform protection string""" 68 platform = interface.get('platform') 69 protect = None 70 if platform is not None: 71 protect = platform_dict[platform] 72 return protect 73