am 88863180: am b7dc3b73: Remove broken record_variable_selection test from MR1 must...
[platform/upstream/VK-GL-CTS.git] / scripts / egl / str_util.py
1 # -*- coding: utf-8 -*-
2
3 import os
4 import string
5
6 from common import *
7 from khr_util.format import indentLines
8 from khr_util.gen_str_util import addValuePrefix, genStrUtilProtos, genStrUtilImpls
9
10 # Bitfield mapping
11 BITFIELD_GROUPS = [
12         ("APIBits", [
13                 "OPENGL_BIT",
14                 "OPENGL_ES_BIT",
15                 "OPENGL_ES2_BIT",
16                 "OPENGL_ES3_BIT_KHR",
17                 "OPENVG_BIT"
18                 ]),
19         ("SurfaceBits", [
20                 "PBUFFER_BIT",
21                 "PIXMAP_BIT",
22                 "WINDOW_BIT",
23                 "MULTISAMPLE_RESOLVE_BOX_BIT",
24                 "SWAP_BEHAVIOR_PRESERVED_BIT",
25                 "VG_ALPHA_FORMAT_PRE_BIT",
26                 "VG_COLORSPACE_LINEAR_BIT",
27                 "LOCK_SURFACE_BIT_KHR",
28                 "OPTIMAL_FORMAT_BIT_KHR"
29                 ])
30 ]
31
32 # Enum mapping
33 ENUM_GROUPS = [
34         ("Boolean",                     ["TRUE", "FALSE"]),
35         ("BoolDontCare",        ["TRUE", "FALSE", "DONT_CARE"]),
36         ("API",                         ["OPENGL_API", "OPENGL_ES_API", "OPENVG_API"]),
37         ("Error", [
38                 "SUCCESS",
39                 "NOT_INITIALIZED",
40                 "BAD_ACCESS",
41                 "BAD_ALLOC",
42                 "BAD_ATTRIBUTE",
43                 "BAD_CONFIG",
44                 "BAD_CONTEXT",
45                 "BAD_CURRENT_SURFACE",
46                 "BAD_DISPLAY",
47                 "BAD_MATCH",
48                 "BAD_NATIVE_PIXMAP",
49                 "BAD_NATIVE_WINDOW",
50                 "BAD_PARAMETER",
51                 "BAD_SURFACE",
52                 "CONTEXT_LOST"
53                 ]),
54         ("ContextAttrib", [
55                 "CONFIG_ID",
56                 "CONTEXT_CLIENT_TYPE",
57                 "CONTEXT_CLIENT_VERSION",
58                 "RENDER_BUFFER"
59                 ]),
60         ("ConfigAttrib", [
61                 "BUFFER_SIZE",
62                 "RED_SIZE",
63                 "GREEN_SIZE",
64                 "BLUE_SIZE",
65                 "LUMINANCE_SIZE",
66                 "ALPHA_SIZE",
67                 "ALPHA_MASK_SIZE",
68                 "BIND_TO_TEXTURE_RGB",
69                 "BIND_TO_TEXTURE_RGBA",
70                 "COLOR_BUFFER_TYPE",
71                 "CONFIG_CAVEAT",
72                 "CONFIG_ID",
73                 "CONFORMANT",
74                 "DEPTH_SIZE",
75                 "LEVEL",
76                 "MATCH_NATIVE_PIXMAP",
77                 "MAX_SWAP_INTERVAL",
78                 "MIN_SWAP_INTERVAL",
79                 "NATIVE_RENDERABLE",
80                 "NATIVE_VISUAL_TYPE",
81                 "RENDERABLE_TYPE",
82                 "SAMPLE_BUFFERS",
83                 "SAMPLES",
84                 "STENCIL_SIZE",
85                 "SURFACE_TYPE",
86                 "TRANSPARENT_TYPE",
87                 "TRANSPARENT_RED_VALUE",
88                 "TRANSPARENT_GREEN_VALUE",
89                 "TRANSPARENT_BLUE_VALUE"
90                 ]),
91         ("SurfaceAttrib", [
92                 "CONFIG_ID",
93                 "WIDTH",
94                 "HEIGHT",
95                 "HORIZONTAL_RESOLUTION",
96                 "VERTICAL_RESOLUTION",
97                 "LARGEST_PBUFFER",
98                 "MIPMAP_TEXTURE",
99                 "MIPMAP_LEVEL",
100                 "MULTISAMPLE_RESOLVE",
101                 "PIXEL_ASPECT_RATIO",
102                 "RENDER_BUFFER",
103                 "SWAP_BEHAVIOR",
104                 "TEXTURE_FORMAT",
105                 "TEXTURE_TARGET",
106                 "VG_ALPHA_FORMAT",
107                 "VG_COLORSPACE"
108                 ]),
109         ("SurfaceTarget",               ["READ", "DRAW"]),
110
111         # ConfigAttrib values
112         ("ColorBufferType",             ["RGB_BUFFER", "LUMINANCE_BUFFER"]),
113         ("ConfigCaveat",                ["NONE", "SLOW_CONFIG", "NON_CONFORMANT_CONFIG"]),
114         ("TransparentType",             ["NONE", "TRANSPARENT_RGB"]),
115
116         # SurfaceAttrib values
117         ("MultisampleResolve",  ["MULTISAMPLE_RESOLVE_DEFAULT", "MULTISAMPLE_RESOLVE_BOX"]),
118         ("RenderBuffer",                ["SINGLE_BUFFER", "BACK_BUFFER"]),
119         ("SwapBehavior",                ["BUFFER_DESTROYED", "BUFFER_PRESERVED"]),
120         ("TextureFormat",               ["NO_TEXTURE", "TEXTURE_RGB", "TEXTURE_RGBA"]),
121         ("TextureTarget",               ["NO_TEXTURE", "TEXTURE_2D"]),
122         ("VGAlphaFormat",               ["VG_ALPHA_FORMAT_NONPRE", "VG_ALPHA_FORMAT_PRE"]),
123         ("VGColorspace",                ["VG_COLORSPACE_sRGB", "VG_COLORSPACE_LINEAR"])
124 ]
125
126 def gen (iface):
127         enumGroups              = addValuePrefix(ENUM_GROUPS, "EGL_")
128         bitfieldGroups  = addValuePrefix(BITFIELD_GROUPS, "EGL_")
129         prototypeFile   = os.path.join(EGL_DIR, "egluStrUtilPrototypes.inl")
130         implFile                = os.path.join(EGL_DIR, "egluStrUtil.inl")
131
132         writeInlFile(prototypeFile, indentLines(genStrUtilProtos(iface, enumGroups, bitfieldGroups)))
133         writeInlFile(implFile, genStrUtilImpls(iface, enumGroups, bitfieldGroups))