[automerger skipped] DO NOT MERGE: Make the tests permissive for Lollipop MR1 am...
[platform/upstream/VK-GL-CTS.git] / scripts / egl / enums.py
1 # -*- coding: utf-8 -*-
2
3 #-------------------------------------------------------------------------
4 # drawElements Quality Program utilities
5 # --------------------------------------
6 #
7 # Copyright 2015 The Android Open Source Project
8 #
9 # Licensed under the Apache License, Version 2.0 (the "License");
10 # you may not use this file except in compliance with the License.
11 # You may obtain a copy of the License at
12 #
13 #      http://www.apache.org/licenses/LICENSE-2.0
14 #
15 # Unless required by applicable law or agreed to in writing, software
16 # distributed under the License is distributed on an "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 # See the License for the specific language governing permissions and
19 # limitations under the License.
20 #
21 #-------------------------------------------------------------------------
22
23 import os
24 import string
25
26 from common import *
27 from khr_util.format import indentLines, normalizeConstant
28
29 TYPED_VALUES = [
30         "EGL_DONT_CARE",
31         "EGL_UNKNOWN",
32         "EGL_NO_CONTEXT",
33         "EGL_NO_DISPLAY",
34         "EGL_DEFAULT_DISPLAY",
35         "EGL_NO_SURFACE",
36         "EGL_NO_IMAGE",
37         "EGL_NO_SYNC",
38         "EGL_NO_IMAGE_KHR",
39         "EGL_NO_SYNC_KHR"
40 ]
41
42 def enumValue (enum, typePrefix = ""):
43         if enum.name in TYPED_VALUES:
44                 return enum.value.replace("(EGL", "(%sEGL" % typePrefix)
45         else:
46                 return normalizeConstant(enum.value)
47
48 def enumDefinition (enum):
49         return "#define %s\t%s" % (enum.name, enumValue(enum, "eglw::"))
50
51 def gen (iface):
52         writeInlFile(os.path.join(EGL_WRAPPER_DIR, "eglwEnums.inl"), indentLines(map(enumDefinition, iface.enums)))