summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/build_gles2_cmd_buffer.py
diff options
context:
space:
mode:
authorbajones <bajones@chromium.org>2015-12-15 13:41:51 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-15 21:43:18 +0000
commit4006361e56ed11e551be29ed9c2dd6e639268d46 (patch)
tree1812f860e4b2e9eb2241c3bdcddb58ea0aa50939 /gpu/command_buffer/build_gles2_cmd_buffer.py
parentbeedaffe3ef3040ba71a40b96e8d8afc87d65a4b (diff)
downloadchromium_src-4006361e56ed11e551be29ed9c2dd6e639268d46.zip
chromium_src-4006361e56ed11e551be29ed9c2dd6e639268d46.tar.gz
chromium_src-4006361e56ed11e551be29ed9c2dd6e639268d46.tar.bz2
Simplified a validation that really didn't need to use a lookup table.
Review URL: https://codereview.chromium.org/1523953002 Cr-Commit-Position: refs/heads/master@{#365339}
Diffstat (limited to 'gpu/command_buffer/build_gles2_cmd_buffer.py')
-rwxr-xr-xgpu/command_buffer/build_gles2_cmd_buffer.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index 671cf72..641838d 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -639,6 +639,8 @@ _STATES = {
# deprecated in ES 3.
# is_complete: The list of valid values of type are final and will not be
# modified during runtime.
+# validator: If set to False will prevent creation of a ValueValidator. Values
+# are still expected to be checked for validity and will be tested.
_NAMED_TYPE_INFO = {
'BlitFilter': {
'type': 'GLenum',
@@ -2050,6 +2052,7 @@ _NAMED_TYPE_INFO = {
},
'VertexAttribSize': {
'type': 'GLint',
+ 'validator': False,
'valid': [
'1',
'2',
@@ -8492,6 +8495,7 @@ class NamedType(object):
self.deprecated_es3 = info['deprecated_es3']
else:
self.deprecated_es3 = []
+ self.create_validator = info.get('validator', True)
def GetType(self):
return self.info['type']
@@ -8514,6 +8518,9 @@ class NamedType(object):
return len(self.GetValidValues()) == 1
+ def CreateValidator(self):
+ return self.create_validator
+
def GetConstantValue(self):
return self.GetValidValues()[0]
@@ -10777,7 +10784,7 @@ namespace mojo {
with CHeaderWriter(filename) as f:
for name in sorted(_NAMED_TYPE_INFO.keys()):
named_type = NamedType(_NAMED_TYPE_INFO[name])
- if named_type.IsConstant():
+ if named_type.IsConstant() or not named_type.CreateValidator():
continue
f.write("ValueValidator<%s> %s;\n" %
(named_type.GetType(), ToUnderscore(name)))
@@ -10790,7 +10797,7 @@ namespace mojo {
names = sorted(_NAMED_TYPE_INFO.keys())
for name in names:
named_type = NamedType(_NAMED_TYPE_INFO[name])
- if named_type.IsConstant():
+ if named_type.IsConstant() or not named_type.CreateValidator():
continue
if named_type.GetValidValues():
f.write("static const %s valid_%s_table[] = {\n" %
@@ -10817,7 +10824,7 @@ namespace mojo {
pre = ' : '
for count, name in enumerate(names):
named_type = NamedType(_NAMED_TYPE_INFO[name])
- if named_type.IsConstant():
+ if named_type.IsConstant() or not named_type.CreateValidator():
continue
if named_type.GetValidValues():
code = """%(pre)s%(name)s(