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

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

Issue 2175043002: Add command buffer function glScheduleCALayerFilterEffectsCHROMIUM. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: blah nits. Created 4 years, 5 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
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 4407 matching lines...) Expand 10 before | Expand all | Expand 10 after
4418 }, 4418 },
4419 'ScheduleCALayerSharedStateCHROMIUM': { 4419 'ScheduleCALayerSharedStateCHROMIUM': {
4420 'type': 'Custom', 4420 'type': 'Custom',
4421 'impl_func': False, 4421 'impl_func': False,
4422 'client_test': False, 4422 'client_test': False,
4423 'cmd_args': 'GLfloat opacity, GLboolean is_clipped, ' 4423 'cmd_args': 'GLfloat opacity, GLboolean is_clipped, '
4424 'GLint sorting_context_id, GLuint shm_id, GLuint shm_offset', 4424 'GLint sorting_context_id, GLuint shm_id, GLuint shm_offset',
4425 'extension': 'CHROMIUM_schedule_ca_layer', 4425 'extension': 'CHROMIUM_schedule_ca_layer',
4426 'chromium': True, 4426 'chromium': True,
4427 }, 4427 },
4428 'ScheduleCALayerFilterEffectsCHROMIUM': {
4429 'type': 'PUTn',
4430 'count': 1,
4431 'impl_func': False,
4432 'client_test': False,
4433 'decoder_func': 'DoScheduleCALayerFilterEffectsCHROMIUM',
4434 'cmd_args': 'GLsizei count, const GLCALayerFilterEffect* effects',
4435 'extension': 'CHROMIUM_schedule_ca_layer',
4436 'chromium': True,
4437 },
4428 'ScheduleCALayerCHROMIUM': { 4438 'ScheduleCALayerCHROMIUM': {
4429 'type': 'Custom', 4439 'type': 'Custom',
4430 'impl_func': False, 4440 'impl_func': False,
4431 'client_test': False, 4441 'client_test': False,
4432 'cmd_args': 'GLuint contents_texture_id, GLuint background_color, ' 4442 'cmd_args': 'GLuint contents_texture_id, GLuint background_color, '
4433 'GLuint edge_aa_mask, GLuint filter, GLuint shm_id, ' 4443 'GLuint edge_aa_mask, GLuint filter, GLuint shm_id, '
4434 'GLuint shm_offset', 4444 'GLuint shm_offset',
4435 'extension': 'CHROMIUM_schedule_ca_layer', 4445 'extension': 'CHROMIUM_schedule_ca_layer',
4436 'chromium': True, 4446 'chromium': True,
4437 }, 4447 },
(...skipping 3188 matching lines...) Expand 10 before | Expand all | Expand 10 after
7626 """ 7636 """
7627 f.write(code % (self.GetArrayType(func), 7637 f.write(code % (self.GetArrayType(func),
7628 self.GetArrayCount(func))) 7638 self.GetArrayCount(func)))
7629 if func.IsImmediate(): 7639 if func.IsImmediate():
7630 f.write(" if (data_size > immediate_data_size) {\n") 7640 f.write(" if (data_size > immediate_data_size) {\n")
7631 f.write(" return error::kOutOfBounds;\n") 7641 f.write(" return error::kOutOfBounds;\n")
7632 f.write(" }\n") 7642 f.write(" }\n")
7633 7643
7634 def WriteGLES2Implementation(self, func, f): 7644 def WriteGLES2Implementation(self, func, f):
7635 """Overrriden from TypeHandler.""" 7645 """Overrriden from TypeHandler."""
7636 f.write("%s GLES2Implementation::%s(%s) {\n" % 7646 impl_func = func.GetInfo('impl_func')
7637 (func.return_type, func.original_name, 7647 if impl_func == None or impl_func == True:
7638 func.MakeTypedOriginalArgString(""))) 7648 f.write("%s GLES2Implementation::%s(%s) {\n" %
7639 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n") 7649 (func.return_type, func.original_name,
7640 func.WriteDestinationInitalizationValidation(f) 7650 func.MakeTypedOriginalArgString("")))
7641 self.WriteClientGLCallLog(func, f) 7651 f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
7642 last_pointer_name = func.GetLastOriginalPointerArg().name 7652 func.WriteDestinationInitalizationValidation(f)
7643 f.write(""" GPU_CLIENT_LOG_CODE_BLOCK({ 7653 self.WriteClientGLCallLog(func, f)
7644 for (GLsizei i = 0; i < count; ++i) { 7654 last_pointer_name = func.GetLastOriginalPointerArg().name
7645 """) 7655 f.write(""" GPU_CLIENT_LOG_CODE_BLOCK({
7646 values_str = ' << ", " << '.join( 7656 for (GLsizei i = 0; i < count; ++i) {
7647 ["%s[%d + i * %d]" % ( 7657 """)
7648 last_pointer_name, ndx, self.GetArrayCount(func)) for ndx in range( 7658 values_str = ' << ", " << '.join(
7649 0, self.GetArrayCount(func))]) 7659 ["%s[%d + i * %d]" % (
7650 f.write(' GPU_CLIENT_LOG(" " << i << ": " << %s);\n' % values_str) 7660 last_pointer_name, ndx, self.GetArrayCount(func)) for ndx in
7651 f.write(" }\n });\n") 7661 range(0, self.GetArrayCount(func))])
7652 for arg in func.GetOriginalArgs(): 7662 f.write(' GPU_CLIENT_LOG(" " << i << ": " << %s);\n' % values_str)
7653 arg.WriteClientSideValidationCode(f, func) 7663 f.write(" }\n });\n")
7654 f.write(" helper_->%sImmediate(%s);\n" % 7664 for arg in func.GetOriginalArgs():
7655 (func.name, func.MakeInitString(""))) 7665 arg.WriteClientSideValidationCode(f, func)
7656 f.write(" CheckGLError();\n") 7666 f.write(" helper_->%sImmediate(%s);\n" %
7657 f.write("}\n") 7667 (func.name, func.MakeInitString("")))
7658 f.write("\n") 7668 f.write(" CheckGLError();\n")
7669 f.write("}\n")
7670 f.write("\n")
7659 7671
7660 def WriteGLES2ImplementationUnitTest(self, func, f): 7672 def WriteGLES2ImplementationUnitTest(self, func, f):
7661 """Writes the GLES2 Implemention unit test.""" 7673 """Writes the GLES2 Implemention unit test."""
7662 code = """ 7674 code = """
7663 TEST_F(GLES2ImplementationTest, %(name)s) { 7675 TEST_F(GLES2ImplementationTest, %(name)s) {
7664 %(type)s data[%(count_param)d][%(count)d] = {{0}}; 7676 %(type)s data[%(count_param)d][%(count)d] = {{0}};
7665 struct Cmds { 7677 struct Cmds {
7666 cmds::%(name)sImmediate cmd; 7678 cmds::%(name)sImmediate cmd;
7667 %(type)s data[%(count_param)d][%(count)d]; 7679 %(type)s data[%(count_param)d][%(count)d];
7668 }; 7680 };
(...skipping 3864 matching lines...) Expand 10 before | Expand all | Expand 10 after
11533 Format(gen.generated_cpp_filenames) 11545 Format(gen.generated_cpp_filenames)
11534 11546
11535 if gen.errors > 0: 11547 if gen.errors > 0:
11536 print "%d errors" % gen.errors 11548 print "%d errors" % gen.errors
11537 return 1 11549 return 1
11538 return 0 11550 return 0
11539 11551
11540 11552
11541 if __name__ == '__main__': 11553 if __name__ == '__main__':
11542 sys.exit(main(sys.argv[1:])) 11554 sys.exit(main(sys.argv[1:]))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698