Commit 450420b2 by Jamie Madill Committed by Commit Bot

Order packed enums according to JSON.

This simplifies the code for the ordered enum cases. Also sort the existing non-ordered enums alphabetically. Bug: angleproject:2574 Bug: angleproject:2169 Change-Id: I444092a94ee46f76b2fc05a557458f273c5a50bc Reviewed-on: https://chromium-review.googlesource.com/1067111 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
parent d4703d50
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import datetime, json, os, sys import datetime, json, os, sys
from collections import namedtuple from collections import namedtuple
from collections import OrderedDict
Enum = namedtuple('Enum', ['name', 'values', 'max_value']) Enum = namedtuple('Enum', ['name', 'values', 'max_value'])
EnumValue = namedtuple('EnumValue', ['name', 'gl_name', 'value']) EnumValue = namedtuple('EnumValue', ['name', 'gl_name', 'value'])
...@@ -28,29 +29,21 @@ Generators = [ ...@@ -28,29 +29,21 @@ Generators = [
def load_enums(path): def load_enums(path):
with open(path) as map_file: with open(path) as map_file:
enums_dict = json.loads(map_file.read()) enums_dict = json.loads(map_file.read(), object_pairs_hook=OrderedDict)
enums = [] enums = []
for (enum_name, value_list) in enums_dict.iteritems(): for (enum_name, value_list) in enums_dict.iteritems():
if isinstance(value_list, dict):
values = [] values = []
i = 0 i = 0
for (value_name, value_gl_name) in sorted(value_list.iteritems()):
for (value_name, value_gl_name) in value_list.iteritems():
values.append(EnumValue(value_name, value_gl_name, i)) values.append(EnumValue(value_name, value_gl_name, i))
i += 1 i += 1
assert(i < 255) # This makes sure enums fit in the uint8_t assert(i < 255) # This makes sure enums fit in the uint8_t
enums.append(Enum(enum_name, values, i)) enums.append(Enum(enum_name, values, i))
else:
assert(isinstance(value_list, list))
values = [EnumValue(v['name'], v['gl_name'], v['value']) for v in value_list]
max_value = max([value.value for value in values]) + 1
enums.append(Enum(enum_name, values, max_value))
enums.sort(key=lambda enum: enum.name) enums.sort(key=lambda enum: enum.name)
return enums return enums
......
{ {
"AlphaTestFunc": "AlphaTestFunc":
{ {
"Never": "GL_NEVER",
"AlwaysPass": "GL_ALWAYS", "AlwaysPass": "GL_ALWAYS",
"Less": "GL_LESS",
"Lequal": "GL_LEQUAL",
"Equal": "GL_EQUAL", "Equal": "GL_EQUAL",
"Gequal": "GL_GEQUAL", "Gequal": "GL_GEQUAL",
"Greater": "GL_GREATER", "Greater": "GL_GREATER",
"Lequal": "GL_LEQUAL",
"Less": "GL_LESS",
"Never": "GL_NEVER",
"NotEqual": "GL_NOTEQUAL" "NotEqual": "GL_NOTEQUAL"
}, },
"BufferBinding": "BufferBinding":
...@@ -39,11 +39,11 @@ ...@@ -39,11 +39,11 @@
}, },
"ClientVertexArrayType": "ClientVertexArrayType":
{ {
"Vertex": "GL_VERTEX_ARRAY",
"Normal": "GL_NORMAL_ARRAY",
"Color": "GL_COLOR_ARRAY", "Color": "GL_COLOR_ARRAY",
"Normal": "GL_NORMAL_ARRAY",
"PointSize": "GL_POINT_SIZE_ARRAY_OES", "PointSize": "GL_POINT_SIZE_ARRAY_OES",
"TextureCoord": "GL_TEXTURE_COORD_ARRAY" "TextureCoord": "GL_TEXTURE_COORD_ARRAY",
"Vertex": "GL_VERTEX_ARRAY"
}, },
"CullFaceMode": "CullFaceMode":
{ {
...@@ -60,27 +60,27 @@ ...@@ -60,27 +60,27 @@
"HintSetting": "HintSetting":
{ {
"DontCare" : "GL_DONT_CARE", "DontCare" : "GL_DONT_CARE",
"Nicest" : "GL_NICEST", "Fastest" : "GL_FASTEST",
"Fastest" : "GL_FASTEST" "Nicest" : "GL_NICEST"
}, },
"LogicalOperation": "LogicalOperation":
{ {
"Clear" : "GL_CLEAR",
"And" : "GL_AND", "And" : "GL_AND",
"AndInverted" : "GL_AND_INVERTED",
"AndReverse" : "GL_AND_REVERSE", "AndReverse" : "GL_AND_REVERSE",
"Clear" : "GL_CLEAR",
"Copy" : "GL_COPY", "Copy" : "GL_COPY",
"AndInverted" : "GL_AND_INVERTED", "CopyInverted" : "GL_COPY_INVERTED",
"Noop" : "GL_NOOP",
"Xor" : "GL_XOR",
"Or" : "GL_OR",
"Nor" : "GL_NOR",
"Equiv" : "GL_EQUIV", "Equiv" : "GL_EQUIV",
"Invert" : "GL_INVERT", "Invert" : "GL_INVERT",
"OrReverse" : "GL_OR_REVERSE",
"CopyInverted" : "GL_COPY_INVERTED",
"OrInverted" : "GL_OR_INVERTED",
"Nand" : "GL_NAND", "Nand" : "GL_NAND",
"Set" : "GL_SET" "Noop" : "GL_NOOP",
"Nor" : "GL_NOR",
"Or" : "GL_OR",
"OrInverted" : "GL_OR_INVERTED",
"OrReverse" : "GL_OR_REVERSE",
"Set" : "GL_SET",
"Xor" : "GL_XOR"
}, },
"MatrixType": "MatrixType":
{ {
...@@ -99,12 +99,12 @@ ...@@ -99,12 +99,12 @@
"TransformFeedbackPrimitivesWritten": "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN" "TransformFeedbackPrimitivesWritten": "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"
}, },
"ShaderType": "ShaderType":
[ {
{"name": "Vertex", "gl_name": "GL_VERTEX_SHADER", "value": 0}, "Vertex": "GL_VERTEX_SHADER",
{"name": "Fragment", "gl_name": "GL_FRAGMENT_SHADER", "value": 1}, "Fragment": "GL_FRAGMENT_SHADER",
{"name": "Geometry", "gl_name": "GL_GEOMETRY_SHADER_EXT", "value": 2}, "Geometry": "GL_GEOMETRY_SHADER_EXT",
{"name": "Compute", "gl_name": "GL_COMPUTE_SHADER", "value": 3} "Compute": "GL_COMPUTE_SHADER"
], },
"ShadingModel": "ShadingModel":
{ {
"Flat" : "GL_FLAT", "Flat" : "GL_FLAT",
...@@ -112,92 +112,92 @@ ...@@ -112,92 +112,92 @@
}, },
"TextureCombine": "TextureCombine":
{ {
"Replace" : "GL_REPLACE",
"Modulate" : "GL_MODULATE",
"Add" : "GL_ADD", "Add" : "GL_ADD",
"AddSigned" : "GL_ADD_SIGNED", "AddSigned" : "GL_ADD_SIGNED",
"Interpolate" : "GL_INTERPOLATE",
"Subtract" : "GL_SUBTRACT",
"Dot3Rgb" : "GL_DOT3_RGB", "Dot3Rgb" : "GL_DOT3_RGB",
"Dot3Rgba" : "GL_DOT3_RGBA" "Dot3Rgba" : "GL_DOT3_RGBA",
"Interpolate" : "GL_INTERPOLATE",
"Modulate" : "GL_MODULATE",
"Replace" : "GL_REPLACE",
"Subtract" : "GL_SUBTRACT"
}, },
"TextureEnvMode": "TextureEnvMode":
{ {
"Replace" : "GL_REPLACE",
"Modulate" : "GL_MODULATE",
"Decal" : "GL_DECAL",
"Blend" : "GL_BLEND",
"Add" : "GL_ADD", "Add" : "GL_ADD",
"Combine" : "GL_COMBINE" "Blend" : "GL_BLEND",
"Combine" : "GL_COMBINE",
"Decal" : "GL_DECAL",
"Modulate" : "GL_MODULATE",
"Replace" : "GL_REPLACE"
}, },
"TextureOp": "TextureOp":
{ {
"SrcColor" : "GL_SRC_COLOR", "OneMinusSrcAlpha" : "GL_ONE_MINUS_SRC_ALPHA",
"OneMinusSrcColor" : "GL_ONE_MINUS_SRC_COLOR", "OneMinusSrcColor" : "GL_ONE_MINUS_SRC_COLOR",
"SrcAlpha" : "GL_SRC_ALPHA", "SrcAlpha" : "GL_SRC_ALPHA",
"OneMinusSrcAlpha" : "GL_ONE_MINUS_SRC_ALPHA" "SrcColor" : "GL_SRC_COLOR"
}, },
"TextureSrc": "TextureSrc":
{ {
"Texture" : "GL_TEXTURE",
"Constant" : "GL_CONSTANT", "Constant" : "GL_CONSTANT",
"Previous" : "GL_PREVIOUS",
"PrimaryColor" : "GL_PRIMARY_COLOR", "PrimaryColor" : "GL_PRIMARY_COLOR",
"Previous" : "GL_PREVIOUS" "Texture" : "GL_TEXTURE"
}, },
"TextureType": "TextureType":
[ {
{"name": "_2D", "gl_name": "GL_TEXTURE_2D", "value": 0}, "_2D": "GL_TEXTURE_2D",
{"name": "_2DArray", "gl_name": "GL_TEXTURE_2D_ARRAY","value": 1}, "_2DArray": "GL_TEXTURE_2D_ARRAY",
{"name": "_2DMultisample", "gl_name": "GL_TEXTURE_2D_MULTISAMPLE","value": 2}, "_2DMultisample": "GL_TEXTURE_2D_MULTISAMPLE",
{"name": "_3D", "gl_name": "GL_TEXTURE_3D","value": 3}, "_3D": "GL_TEXTURE_3D",
{"name": "External", "gl_name": "GL_TEXTURE_EXTERNAL_OES","value": 4}, "External": "GL_TEXTURE_EXTERNAL_OES",
{"name": "Rectangle", "gl_name": "GL_TEXTURE_RECTANGLE_ANGLE","value": 5}, "Rectangle": "GL_TEXTURE_RECTANGLE_ANGLE",
{"name": "CubeMap", "gl_name": "GL_TEXTURE_CUBE_MAP", "value": 6} "CubeMap": "GL_TEXTURE_CUBE_MAP"
], },
"TextureTarget": "TextureTarget":
[ {
{"name": "_2D", "gl_name": "GL_TEXTURE_2D", "value": 0}, "_2D": "GL_TEXTURE_2D",
{"name": "_2DArray", "gl_name": "GL_TEXTURE_2D_ARRAY", "value": 1}, "_2DArray": "GL_TEXTURE_2D_ARRAY",
{"name": "_2DMultisample", "gl_name": "GL_TEXTURE_2D_MULTISAMPLE", "value": 2}, "_2DMultisample": "GL_TEXTURE_2D_MULTISAMPLE",
{"name": "_3D", "gl_name": "GL_TEXTURE_3D", "value": 3}, "_3D": "GL_TEXTURE_3D",
{"name": "External", "gl_name": "GL_TEXTURE_EXTERNAL_OES", "value": 4}, "External": "GL_TEXTURE_EXTERNAL_OES",
{"name": "Rectangle", "gl_name": "GL_TEXTURE_RECTANGLE_ANGLE", "value": 5}, "Rectangle": "GL_TEXTURE_RECTANGLE_ANGLE",
{"name": "CubeMapPositiveX", "gl_name": "GL_TEXTURE_CUBE_MAP_POSITIVE_X", "value": 6}, "CubeMapPositiveX": "GL_TEXTURE_CUBE_MAP_POSITIVE_X",
{"name": "CubeMapNegativeX", "gl_name": "GL_TEXTURE_CUBE_MAP_NEGATIVE_X", "value": 7}, "CubeMapNegativeX": "GL_TEXTURE_CUBE_MAP_NEGATIVE_X",
{"name": "CubeMapPositiveY", "gl_name": "GL_TEXTURE_CUBE_MAP_POSITIVE_Y", "value": 8}, "CubeMapPositiveY": "GL_TEXTURE_CUBE_MAP_POSITIVE_Y",
{"name": "CubeMapNegativeY", "gl_name": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y", "value": 9}, "CubeMapNegativeY": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y",
{"name": "CubeMapPositiveZ", "gl_name": "GL_TEXTURE_CUBE_MAP_POSITIVE_Z", "value": 10}, "CubeMapPositiveZ": "GL_TEXTURE_CUBE_MAP_POSITIVE_Z",
{"name": "CubeMapNegativeZ", "gl_name": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z", "value": 11} "CubeMapNegativeZ": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"
], },
"VertexArrayType": "VertexArrayType":
{ {
"Vertex" : "GL_VERTEX_ARRAY",
"Normal" : "GL_NORMAL_ARRAY",
"Color" : "GL_COLOR_ARRAY", "Color" : "GL_COLOR_ARRAY",
"Normal" : "GL_NORMAL_ARRAY",
"PointSize" : "GL_POINT_SIZE_ARRAY_OES", "PointSize" : "GL_POINT_SIZE_ARRAY_OES",
"TextureCoord" : "GL_TEXTURE_COORD_ARRAY" "TextureCoord" : "GL_TEXTURE_COORD_ARRAY",
"Vertex" : "GL_VERTEX_ARRAY"
}, },
"MaterialParameter": "MaterialParameter":
{ {
"Ambient" : "GL_AMBIENT", "Ambient" : "GL_AMBIENT",
"Diffuse" : "GL_DIFFUSE",
"AmbientAndDiffuse" : "GL_AMBIENT_AND_DIFFUSE", "AmbientAndDiffuse" : "GL_AMBIENT_AND_DIFFUSE",
"Specular" : "GL_SPECULAR", "Diffuse" : "GL_DIFFUSE",
"Emission" : "GL_EMISSION", "Emission" : "GL_EMISSION",
"Shininess" : "GL_SHININESS" "Shininess" : "GL_SHININESS",
"Specular" : "GL_SPECULAR"
}, },
"LightParameter": "LightParameter":
{ {
"Ambient" : "GL_AMBIENT", "Ambient" : "GL_AMBIENT",
"Diffuse" : "GL_DIFFUSE",
"AmbientAndDiffuse" : "GL_AMBIENT_AND_DIFFUSE", "AmbientAndDiffuse" : "GL_AMBIENT_AND_DIFFUSE",
"Specular" : "GL_SPECULAR",
"Position" : "GL_POSITION",
"SpotDirection" : "GL_SPOT_DIRECTION",
"SpotExponent" : "GL_SPOT_EXPONENT",
"SpotCutoff" : "GL_SPOT_CUTOFF",
"ConstantAttenuation" : "GL_CONSTANT_ATTENUATION", "ConstantAttenuation" : "GL_CONSTANT_ATTENUATION",
"Diffuse" : "GL_DIFFUSE",
"LinearAttenuation" : "GL_LINEAR_ATTENUATION", "LinearAttenuation" : "GL_LINEAR_ATTENUATION",
"QuadraticAttenuation" : "GL_QUADRATIC_ATTENUATION" "Position" : "GL_POSITION",
"QuadraticAttenuation" : "GL_QUADRATIC_ATTENUATION",
"Specular" : "GL_SPECULAR",
"SpotCutoff" : "GL_SPOT_CUTOFF",
"SpotDirection" : "GL_SPOT_DIRECTION",
"SpotExponent" : "GL_SPOT_EXPONENT"
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment