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

Unified 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: Fix autogenerated tests. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/GLES2/gl2extchromium.h ('k') | gpu/command_buffer/client/gles2_c_lib_autogen.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/build_gles2_cmd_buffer.py
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index d12671c251483281e78d28f45963c8608fc5046f..95f589be0138a38dd61fa172985dc705aa7857d1 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -4425,6 +4425,17 @@ _FUNCTION_INFO = {
'extension': 'CHROMIUM_schedule_ca_layer',
'chromium': True,
},
+ 'ScheduleCALayerFilterEffectsCHROMIUM': {
+ 'type': 'PUTn',
+ 'count': 1,
+ 'impl_func': False,
+ 'client_test': False,
+ 'decoder_func': 'DoScheduleCALayerFilterEffectsCHROMIUM',
+ 'cmd_args': 'GLsizei count, const GLCALayerFilterEffect* effects',
+ 'extension': 'CHROMIUM_schedule_ca_layer',
+ 'chromium': True,
+ 'unit_test': False,
+ },
'ScheduleCALayerCHROMIUM': {
'type': 'Custom',
'impl_func': False,
@@ -7633,32 +7644,37 @@ TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) {
def WriteGLES2Implementation(self, func, f):
"""Overrriden from TypeHandler."""
- f.write("%s GLES2Implementation::%s(%s) {\n" %
- (func.return_type, func.original_name,
- func.MakeTypedOriginalArgString("")))
- f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
- func.WriteDestinationInitalizationValidation(f)
- self.WriteClientGLCallLog(func, f)
- last_pointer_name = func.GetLastOriginalPointerArg().name
- f.write(""" GPU_CLIENT_LOG_CODE_BLOCK({
- for (GLsizei i = 0; i < count; ++i) {
-""")
- values_str = ' << ", " << '.join(
- ["%s[%d + i * %d]" % (
- last_pointer_name, ndx, self.GetArrayCount(func)) for ndx in range(
- 0, self.GetArrayCount(func))])
- f.write(' GPU_CLIENT_LOG(" " << i << ": " << %s);\n' % values_str)
- f.write(" }\n });\n")
- for arg in func.GetOriginalArgs():
- arg.WriteClientSideValidationCode(f, func)
- f.write(" helper_->%sImmediate(%s);\n" %
- (func.name, func.MakeInitString("")))
- f.write(" CheckGLError();\n")
- f.write("}\n")
- f.write("\n")
+ impl_func = func.GetInfo('impl_func')
+ if impl_func == None or impl_func == True:
+ f.write("%s GLES2Implementation::%s(%s) {\n" %
+ (func.return_type, func.original_name,
+ func.MakeTypedOriginalArgString("")))
+ f.write(" GPU_CLIENT_SINGLE_THREAD_CHECK();\n")
+ func.WriteDestinationInitalizationValidation(f)
+ self.WriteClientGLCallLog(func, f)
+ last_pointer_name = func.GetLastOriginalPointerArg().name
+ f.write(""" GPU_CLIENT_LOG_CODE_BLOCK({
+ for (GLsizei i = 0; i < count; ++i) {
+ """)
+ values_str = ' << ", " << '.join(
+ ["%s[%d + i * %d]" % (
+ last_pointer_name, ndx, self.GetArrayCount(func)) for ndx in
+ range(0, self.GetArrayCount(func))])
+ f.write(' GPU_CLIENT_LOG(" " << i << ": " << %s);\n' % values_str)
+ f.write(" }\n });\n")
+ for arg in func.GetOriginalArgs():
+ arg.WriteClientSideValidationCode(f, func)
+ f.write(" helper_->%sImmediate(%s);\n" %
+ (func.name, func.MakeInitString("")))
+ f.write(" CheckGLError();\n")
+ f.write("}\n")
+ f.write("\n")
def WriteGLES2ImplementationUnitTest(self, func, f):
"""Writes the GLES2 Implemention unit test."""
+ client_test = func.GetInfo('client_test')
+ if client_test is not None and client_test == False:
+ return
code = """
TEST_F(GLES2ImplementationTest, %(name)s) {
%(type)s data[%(count_param)d][%(count)d] = {{0}};
@@ -7827,14 +7843,13 @@ TEST_F(GLES2ImplementationTest, %(name)sInvalidConstantArg%(invalid_index)d) {
count_param = int(arg.GetValidClientSideCmdArg(func))
f.write("TEST_F(GLES2FormatTest, %s) {\n" % func.name)
f.write(" const int kSomeBaseValueToTestWith = 51;\n")
- f.write(" static %s data[] = {\n" % self.GetArrayType(func))
- for v in range(0, self.GetArrayCount(func) * count_param):
- f.write(" static_cast<%s>(kSomeBaseValueToTestWith + %d),\n" %
- (self.GetArrayType(func), v))
- f.write(" };\n")
+ f.write(" const GLsizei kNumElements = %d;\n" % count_param)
+ f.write(" std::vector<%s> vec;\n" % self.GetArrayType(func))
+ f.write(" vec.resize(kNumElements * %d);\n" % self.GetArrayCount(func))
+ f.write(" memset(vec.data(), kSomeBaseValueToTestWith, \n")
+ f.write(" sizeof(%s) * vec.size());\n" % self.GetArrayType(func))
f.write(" cmds::%s& cmd = *GetBufferAs<cmds::%s>();\n" %
(func.name, func.name))
- f.write(" const GLsizei kNumElements = %d;\n" % count_param)
f.write(" const size_t kExpectedCmdSize =\n")
f.write(" sizeof(cmd) + kNumElements * sizeof(%s) * %d;\n" %
(self.GetArrayType(func), self.GetArrayCount(func)))
@@ -7842,7 +7857,7 @@ TEST_F(GLES2ImplementationTest, %(name)sInvalidConstantArg%(invalid_index)d) {
f.write(" &cmd")
for value, arg in enumerate(args):
if arg.IsPointer():
- f.write(",\n data")
+ f.write(",\n vec.data()")
elif arg.IsConstant():
continue
else:
@@ -7859,7 +7874,8 @@ TEST_F(GLES2ImplementationTest, %(name)sInvalidConstantArg%(invalid_index)d) {
(arg.type, value + 1, arg.name))
f.write(" CheckBytesWrittenMatchesExpectedSize(\n")
f.write(" next_cmd, sizeof(cmd) +\n")
- f.write(" RoundSizeToMultipleOfEntries(sizeof(data)));\n")
+ f.write(" RoundSizeToMultipleOfEntries(sizeof(\n")
+ f.write(" %s) * vec.size()));\n" % self.GetArrayType(func))
# TODO: Check that data was inserted
f.write("}\n")
f.write("\n")
« no previous file with comments | « gpu/GLES2/gl2extchromium.h ('k') | gpu/command_buffer/client/gles2_c_lib_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698