Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Side by Side Diff: gpu/command_buffer/build_gles2_cmd_buffer.py

Issue 1674573002: UniformMatrix* supports transpose is true in ES3 semantic (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unused code and add more unittests Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | gpu/command_buffer/client/gles2_cmd_helper_autogen.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """code generator for GLES2 command buffers.""" 6 """code generator for GLES2 command buffers."""
7 7
8 import itertools 8 import itertools
9 import os 9 import os
10 import os.path 10 import os.path
(...skipping 2215 matching lines...) Expand 10 before | Expand all | Expand 10 after
2226 '1', 2226 '1',
2227 '2', 2227 '2',
2228 '3', 2228 '3',
2229 '4', 2229 '4',
2230 ], 2230 ],
2231 'invalid': [ 2231 'invalid': [
2232 '0', 2232 '0',
2233 '5', 2233 '5',
2234 ], 2234 ],
2235 }, 2235 },
2236 'FalseOnly': {
2237 'type': 'GLboolean',
2238 'is_complete': True,
2239 'valid': [
2240 'false',
2241 ],
2242 'invalid': [
2243 'true',
2244 ],
2245 },
2246 'ResetStatus': { 2236 'ResetStatus': {
2247 'type': 'GLenum', 2237 'type': 'GLenum',
2248 'is_complete': True, 2238 'is_complete': True,
2249 'valid': [ 2239 'valid': [
2250 'GL_GUILTY_CONTEXT_RESET_ARB', 2240 'GL_GUILTY_CONTEXT_RESET_ARB',
2251 'GL_INNOCENT_CONTEXT_RESET_ARB', 2241 'GL_INNOCENT_CONTEXT_RESET_ARB',
2252 'GL_UNKNOWN_CONTEXT_RESET_ARB', 2242 'GL_UNKNOWN_CONTEXT_RESET_ARB',
2253 ], 2243 ],
2254 }, 2244 },
2255 'SyncCondition': { 2245 'SyncCondition': {
(...skipping 1598 matching lines...) Expand 10 before | Expand all | Expand 10 after
3854 'type': 'PUTn', 3844 'type': 'PUTn',
3855 'count': 4, 3845 'count': 4,
3856 'decoder_func': 'DoUniform4uiv', 3846 'decoder_func': 'DoUniform4uiv',
3857 'unit_test': False, 3847 'unit_test': False,
3858 'unsafe': True, 3848 'unsafe': True,
3859 }, 3849 },
3860 'UniformMatrix2fv': { 3850 'UniformMatrix2fv': {
3861 'type': 'PUTn', 3851 'type': 'PUTn',
3862 'count': 4, 3852 'count': 4,
3863 'decoder_func': 'DoUniformMatrix2fv', 3853 'decoder_func': 'DoUniformMatrix2fv',
3854 'unit_test': False,
3864 }, 3855 },
3865 'UniformMatrix2x3fv': { 3856 'UniformMatrix2x3fv': {
3866 'type': 'PUTn', 3857 'type': 'PUTn',
3867 'count': 6, 3858 'count': 6,
3868 'decoder_func': 'DoUniformMatrix2x3fv', 3859 'decoder_func': 'DoUniformMatrix2x3fv',
3869 'unsafe': True, 3860 'unsafe': True,
3870 }, 3861 },
3871 'UniformMatrix2x4fv': { 3862 'UniformMatrix2x4fv': {
3872 'type': 'PUTn', 3863 'type': 'PUTn',
3873 'count': 8, 3864 'count': 8,
3874 'decoder_func': 'DoUniformMatrix2x4fv', 3865 'decoder_func': 'DoUniformMatrix2x4fv',
3875 'unsafe': True, 3866 'unsafe': True,
3876 }, 3867 },
3877 'UniformMatrix3fv': { 3868 'UniformMatrix3fv': {
3878 'type': 'PUTn', 3869 'type': 'PUTn',
3879 'count': 9, 3870 'count': 9,
3880 'decoder_func': 'DoUniformMatrix3fv', 3871 'decoder_func': 'DoUniformMatrix3fv',
3872 'unit_test': False,
3881 }, 3873 },
3882 'UniformMatrix3x2fv': { 3874 'UniformMatrix3x2fv': {
3883 'type': 'PUTn', 3875 'type': 'PUTn',
3884 'count': 6, 3876 'count': 6,
3885 'decoder_func': 'DoUniformMatrix3x2fv', 3877 'decoder_func': 'DoUniformMatrix3x2fv',
3886 'unsafe': True, 3878 'unsafe': True,
3887 }, 3879 },
3888 'UniformMatrix3x4fv': { 3880 'UniformMatrix3x4fv': {
3889 'type': 'PUTn', 3881 'type': 'PUTn',
3890 'count': 12, 3882 'count': 12,
3891 'decoder_func': 'DoUniformMatrix3x4fv', 3883 'decoder_func': 'DoUniformMatrix3x4fv',
3892 'unsafe': True, 3884 'unsafe': True,
3893 }, 3885 },
3894 'UniformMatrix4fv': { 3886 'UniformMatrix4fv': {
3895 'type': 'PUTn', 3887 'type': 'PUTn',
3896 'count': 16, 3888 'count': 16,
3897 'decoder_func': 'DoUniformMatrix4fv', 3889 'decoder_func': 'DoUniformMatrix4fv',
3890 'unit_test': False,
3898 }, 3891 },
3899 'UniformMatrix4x2fv': { 3892 'UniformMatrix4x2fv': {
3900 'type': 'PUTn', 3893 'type': 'PUTn',
3901 'count': 8, 3894 'count': 8,
3902 'decoder_func': 'DoUniformMatrix4x2fv', 3895 'decoder_func': 'DoUniformMatrix4x2fv',
3903 'unsafe': True, 3896 'unsafe': True,
3904 }, 3897 },
3905 'UniformMatrix4x3fv': { 3898 'UniformMatrix4x3fv': {
3906 'type': 'PUTn', 3899 'type': 'PUTn',
3907 'count': 12, 3900 'count': 12,
(...skipping 5065 matching lines...) Expand 10 before | Expand all | Expand 10 after
8973 def GetInvalidArg(self, index): 8966 def GetInvalidArg(self, index):
8974 """overridden from SizeArgument.""" 8967 """overridden from SizeArgument."""
8975 return ("-1", "kOutOfBounds", "GL_NO_ERROR") 8968 return ("-1", "kOutOfBounds", "GL_NO_ERROR")
8976 8969
8977 def WriteValidationCode(self, f, func): 8970 def WriteValidationCode(self, f, func):
8978 """overridden from SizeArgument.""" 8971 """overridden from SizeArgument."""
8979 pass 8972 pass
8980 8973
8981 8974
8982 class EnumBaseArgument(Argument): 8975 class EnumBaseArgument(Argument):
8983 """Base class for EnumArgument, IntArgument, BitfieldArgument, and 8976 """Base class for EnumArgument, IntArgument, and BitfieldArgument."""
8984 ValidatedBoolArgument."""
8985 8977
8986 def __init__(self, name, gl_type, type, gl_error): 8978 def __init__(self, name, gl_type, type, gl_error):
8987 Argument.__init__(self, name, gl_type) 8979 Argument.__init__(self, name, gl_type)
8988 8980
8989 self.gl_error = gl_error 8981 self.gl_error = gl_error
8990 name = type[len(gl_type):] 8982 name = type[len(gl_type):]
8991 self.type_name = name 8983 self.type_name = name
8992 self.named_type = NamedType(_NAMED_TYPE_INFO[name]) 8984 self.named_type = NamedType(_NAMED_TYPE_INFO[name])
8993 8985
8994 def IsConstant(self): 8986 def IsConstant(self):
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
9096 """A class for a GLint argument that can only accept specific values. 9088 """A class for a GLint argument that can only accept specific values.
9097 9089
9098 For example glTexImage2D takes a GLint for its internalformat 9090 For example glTexImage2D takes a GLint for its internalformat
9099 argument instead of a GLenum. 9091 argument instead of a GLenum.
9100 """ 9092 """
9101 9093
9102 def __init__(self, name, type): 9094 def __init__(self, name, type):
9103 EnumBaseArgument.__init__(self, name, "GLint", type, "GL_INVALID_VALUE") 9095 EnumBaseArgument.__init__(self, name, "GLint", type, "GL_INVALID_VALUE")
9104 9096
9105 9097
9106 class ValidatedBoolArgument(EnumBaseArgument):
9107 """A class for a GLboolean argument that can only accept specific values.
9108
9109 For example glUniformMatrix takes a GLboolean for it's transpose but it
9110 must be false.
9111 """
9112
9113 def __init__(self, name, type):
9114 EnumBaseArgument.__init__(self, name, "GLboolean", type, "GL_INVALID_VALUE")
9115
9116 def GetLogArg(self):
9117 """Overridden from Argument."""
9118 return 'GLES2Util::GetStringBool(%s)' % self.name
9119
9120
9121 class BitFieldArgument(EnumBaseArgument): 9098 class BitFieldArgument(EnumBaseArgument):
9122 """A class for a GLbitfield argument that can only accept specific values. 9099 """A class for a GLbitfield argument that can only accept specific values.
9123 9100
9124 For example glFenceSync takes a GLbitfield for its flags argument bit it 9101 For example glFenceSync takes a GLbitfield for its flags argument bit it
9125 must be 0. 9102 must be 0.
9126 """ 9103 """
9127 9104
9128 def __init__(self, name, type): 9105 def __init__(self, name, type):
9129 EnumBaseArgument.__init__(self, name, "GLbitfield", type, 9106 EnumBaseArgument.__init__(self, name, "GLbitfield", type,
9130 "GL_INVALID_VALUE") 9107 "GL_INVALID_VALUE")
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after
10105 elif t.startswith('GLidBind'): 10082 elif t.startswith('GLidBind'):
10106 return ResourceIdBindArgument(arg_name, arg_type) 10083 return ResourceIdBindArgument(arg_name, arg_type)
10107 elif t.startswith('GLidZero'): 10084 elif t.startswith('GLidZero'):
10108 return ResourceIdZeroArgument(arg_name, arg_type) 10085 return ResourceIdZeroArgument(arg_name, arg_type)
10109 elif t.startswith('GLid'): 10086 elif t.startswith('GLid'):
10110 return ResourceIdArgument(arg_name, arg_type) 10087 return ResourceIdArgument(arg_name, arg_type)
10111 elif t.startswith('GLenum') and t !='GLenum': 10088 elif t.startswith('GLenum') and t !='GLenum':
10112 return EnumArgument(arg_name, arg_type) 10089 return EnumArgument(arg_name, arg_type)
10113 elif t.startswith('GLbitfield') and t != 'GLbitfield': 10090 elif t.startswith('GLbitfield') and t != 'GLbitfield':
10114 return BitFieldArgument(arg_name, arg_type) 10091 return BitFieldArgument(arg_name, arg_type)
10115 elif t.startswith('GLboolean') and t != 'GLboolean':
10116 return ValidatedBoolArgument(arg_name, arg_type)
10117 elif t.startswith('GLboolean'): 10092 elif t.startswith('GLboolean'):
10118 return BoolArgument(arg_name, arg_type) 10093 return BoolArgument(arg_name, arg_type)
10119 elif t.startswith('GLintUniformLocation'): 10094 elif t.startswith('GLintUniformLocation'):
10120 return UniformLocationArgument(arg_name) 10095 return UniformLocationArgument(arg_name)
10121 elif (t.startswith('GLint') and t != 'GLint' and 10096 elif (t.startswith('GLint') and t != 'GLint' and
10122 not t.startswith('GLintptr')): 10097 not t.startswith('GLintptr')):
10123 return IntArgument(arg_name, arg_type) 10098 return IntArgument(arg_name, arg_type)
10124 elif t == 'GLsizeiNotNegative' or t == 'GLintptrNotNegative': 10099 elif t == 'GLsizeiNotNegative' or t == 'GLintptrNotNegative':
10125 return SizeNotNegativeArgument(arg_name, t.replace('NotNegative', '')) 10100 return SizeNotNegativeArgument(arg_name, t.replace('NotNegative', ''))
10126 elif t.startswith('GLsize'): 10101 elif t.startswith('GLsize'):
(...skipping 1424 matching lines...) Expand 10 before | Expand all | Expand 10 after
11551 Format(gen.generated_cpp_filenames) 11526 Format(gen.generated_cpp_filenames)
11552 11527
11553 if gen.errors > 0: 11528 if gen.errors > 0:
11554 print "%d errors" % gen.errors 11529 print "%d errors" % gen.errors
11555 return 1 11530 return 1
11556 return 0 11531 return 0
11557 11532
11558 11533
11559 if __name__ == '__main__': 11534 if __name__ == '__main__':
11560 sys.exit(main(sys.argv[1:])) 11535 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | gpu/command_buffer/client/gles2_cmd_helper_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698