| OLD | NEW |
| 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 6168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6179 """ | 6179 """ |
| 6180 f.write(code) | 6180 f.write(code) |
| 6181 | 6181 |
| 6182 def WriteHandlerImplementation (self, func, f): | 6182 def WriteHandlerImplementation (self, func, f): |
| 6183 """Overrriden from TypeHandler.""" | 6183 """Overrriden from TypeHandler.""" |
| 6184 raise NotImplementedError("GENn functions are immediate") | 6184 raise NotImplementedError("GENn functions are immediate") |
| 6185 | 6185 |
| 6186 def WriteImmediateHandlerImplementation(self, func, f): | 6186 def WriteImmediateHandlerImplementation(self, func, f): |
| 6187 """Overrriden from TypeHandler.""" | 6187 """Overrriden from TypeHandler.""" |
| 6188 param_name = func.GetLastOriginalArg().name | 6188 param_name = func.GetLastOriginalArg().name |
| 6189 f.write(" if (!CheckUniqueIds(n, %s) || !%sHelper(n, %s)) {\n" | 6189 f.write(" if (!CheckUniqueAndNonNullIds(n, %s) || !%sHelper(n, %s)) {\n" |
| 6190 " return error::kInvalidArguments;\n" | 6190 " return error::kInvalidArguments;\n" |
| 6191 " }\n" % | 6191 " }\n" % |
| 6192 (param_name, func.original_name, param_name)) | 6192 (param_name, func.original_name, param_name)) |
| 6193 | 6193 |
| 6194 def WriteGLES2Implementation(self, func, f): | 6194 def WriteGLES2Implementation(self, func, f): |
| 6195 """Overrriden from TypeHandler.""" | 6195 """Overrriden from TypeHandler.""" |
| 6196 log_code = (""" GPU_CLIENT_LOG_CODE_BLOCK({ | 6196 log_code = (""" GPU_CLIENT_LOG_CODE_BLOCK({ |
| 6197 for (GLsizei i = 0; i < n; ++i) { | 6197 for (GLsizei i = 0; i < n; ++i) { |
| 6198 GPU_CLIENT_LOG(" " << i << ": " << %s[i]); | 6198 GPU_CLIENT_LOG(" " << i << ": " << %s[i]); |
| 6199 } | 6199 } |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6285 EXPECT_EQ(error::kNoError, | 6285 EXPECT_EQ(error::kNoError, |
| 6286 ExecuteImmediateCmd(*cmd, sizeof(temp))); | 6286 ExecuteImmediateCmd(*cmd, sizeof(temp))); |
| 6287 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 6287 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 6288 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) != NULL); | 6288 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) != NULL); |
| 6289 } | 6289 } |
| 6290 """ | 6290 """ |
| 6291 self.WriteValidUnitTest(func, f, valid_test, { | 6291 self.WriteValidUnitTest(func, f, valid_test, { |
| 6292 'resource_name': func.GetInfo('resource_type'), | 6292 'resource_name': func.GetInfo('resource_type'), |
| 6293 }, *extras) | 6293 }, *extras) |
| 6294 duplicate_id_test = """ | 6294 duplicate_id_test = """ |
| 6295 TEST_P(%(test_name)s, %(name)sDuplicateIds) { | 6295 TEST_P(%(test_name)s, %(name)sDuplicateOrNullIds) { |
| 6296 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); | 6296 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); |
| 6297 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); | 6297 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); |
| 6298 GLuint temp[3] = {kNewClientId, kNewClientId + 1, kNewClientId}; | 6298 GLuint temp[3] = {kNewClientId, kNewClientId + 1, kNewClientId}; |
| 6299 SpecializedSetup<cmds::%(name)s, 1>(true);""" | 6299 SpecializedSetup<cmds::%(name)s, 1>(true);""" |
| 6300 if func.IsUnsafe(): | 6300 if func.IsUnsafe(): |
| 6301 duplicate_id_test += """ | 6301 duplicate_id_test += """ |
| 6302 decoder_->set_unsafe_es3_apis_enabled(true);""" | 6302 decoder_->set_unsafe_es3_apis_enabled(true);""" |
| 6303 duplicate_id_test += """ | 6303 duplicate_id_test += """ |
| 6304 cmd->Init(3, temp); | 6304 cmd->Init(3, temp); |
| 6305 EXPECT_EQ(error::kInvalidArguments, | 6305 EXPECT_EQ(error::kInvalidArguments, |
| 6306 ExecuteImmediateCmd(*cmd, sizeof(temp))); | 6306 ExecuteImmediateCmd(*cmd, sizeof(temp))); |
| 6307 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) == NULL); | 6307 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) == NULL); |
| 6308 EXPECT_TRUE(Get%(resource_name)s(kNewClientId + 1) == NULL); | 6308 EXPECT_TRUE(Get%(resource_name)s(kNewClientId + 1) == NULL); |
| 6309 GLuint null_id[2] = {kNewClientId, 0}; |
| 6310 cmd->Init(2, null_id); |
| 6311 EXPECT_EQ(error::kInvalidArguments, |
| 6312 ExecuteImmediateCmd(*cmd, sizeof(temp))); |
| 6313 EXPECT_TRUE(Get%(resource_name)s(kNewClientId) == NULL); |
| 6309 } | 6314 } |
| 6310 """ | 6315 """ |
| 6311 self.WriteValidUnitTest(func, f, duplicate_id_test, { | 6316 self.WriteValidUnitTest(func, f, duplicate_id_test, { |
| 6312 'resource_name': func.GetInfo('resource_type'), | 6317 'resource_name': func.GetInfo('resource_type'), |
| 6313 }, *extras) | 6318 }, *extras) |
| 6314 invalid_test = """ | 6319 invalid_test = """ |
| 6315 TEST_P(%(test_name)s, %(name)sInvalidArgs) { | 6320 TEST_P(%(test_name)s, %(name)sInvalidArgs) { |
| 6316 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); | 6321 EXPECT_CALL(*gl_, %(gl_func_name)s(_, _)).Times(0); |
| 6317 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); | 6322 cmds::%(name)s* cmd = GetImmediateAs<cmds::%(name)s>(); |
| 6318 SpecializedSetup<cmds::%(name)s, 0>(false); | 6323 SpecializedSetup<cmds::%(name)s, 0>(false); |
| (...skipping 5201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11520 Format(gen.generated_cpp_filenames) | 11525 Format(gen.generated_cpp_filenames) |
| 11521 | 11526 |
| 11522 if gen.errors > 0: | 11527 if gen.errors > 0: |
| 11523 print "%d errors" % gen.errors | 11528 print "%d errors" % gen.errors |
| 11524 return 1 | 11529 return 1 |
| 11525 return 0 | 11530 return 0 |
| 11526 | 11531 |
| 11527 | 11532 |
| 11528 if __name__ == '__main__': | 11533 if __name__ == '__main__': |
| 11529 sys.exit(main(sys.argv[1:])) | 11534 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |