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

Unified Diff: gpu/command_buffer/build_gles2_cmd_buffer.py

Issue 1349233002: Mandoline: Enable more GL commands which are used by WebGL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review issue Created 5 years, 3 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 | « components/html_viewer/web_graphics_context_3d_command_buffer_impl.cc ('k') | mojo/gles2/gles2_impl.cc » ('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 00c64147934d13b49b7f540685b1b9cdc3f8609a..679eeeaee7814d0601dfbea7728d7a16d8aa1af1 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -2136,6 +2136,7 @@ _FUNCTION_INFO = {
},
'ApplyScreenSpaceAntialiasingCHROMIUM': {
'decoder_func': 'DoApplyScreenSpaceAntialiasingCHROMIUM',
+ 'extension': 'CHROMIUM_screen_space_antialiasing',
'extension_flag': 'chromium_screen_space_antialiasing',
'unit_test': False,
'client_test': False,
@@ -2325,7 +2326,7 @@ _FUNCTION_INFO = {
'resource_type': 'Valuebuffer',
'resource_types': 'Valuebuffers',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_subscribe_uniform',
'chromium': True,
},
'DeleteValuebuffersCHROMIUM': {
@@ -2334,14 +2335,14 @@ _FUNCTION_INFO = {
'resource_type': 'Valuebuffer',
'resource_types': 'Valuebuffers',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_subscribe_uniform',
'chromium': True,
},
'IsValuebufferCHROMIUM': {
'type': 'Is',
'decoder_func': 'DoIsValuebufferCHROMIUM',
'expectation': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_subscribe_uniform',
'chromium': True,
},
'BindValuebufferCHROMIUM': {
@@ -2349,25 +2350,25 @@ _FUNCTION_INFO = {
'decoder_func': 'DoBindValueBufferCHROMIUM',
'gen_func': 'GenValueBuffersCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_subscribe_uniform',
'chromium': True,
},
'SubscribeValueCHROMIUM': {
'decoder_func': 'DoSubscribeValueCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_subscribe_uniform',
'chromium': True,
},
'PopulateSubscribedValuesCHROMIUM': {
'decoder_func': 'DoPopulateSubscribedValuesCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_subscribe_uniform',
'chromium': True,
},
'UniformValuebufferCHROMIUM': {
'decoder_func': 'DoUniformValueBufferCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_subscribe_uniform',
'chromium': True,
},
'ClearStencil': {
@@ -2381,7 +2382,7 @@ _FUNCTION_INFO = {
'expectation': False,
'cmd_args': 'GLuint bucket_id, GLint* result',
'result': ['GLint'],
- 'extension': True,
+ 'extension': 'GL_CHROMIUM_enable_feature',
'chromium': True,
'pepper_interface': 'ChromiumEnableFeature',
},
@@ -2455,7 +2456,7 @@ _FUNCTION_INFO = {
'client_test': False,
'gen_cmd': False,
'expectation': False,
- 'extension': "CHROMIUM_image",
+ 'extension': "CHROMIUM_gpu_memory_buffer_image",
'chromium': True,
'trace_level': 1,
},
@@ -2495,7 +2496,7 @@ _FUNCTION_INFO = {
},
'BlendBarrierKHR': {
'gl_test_func': 'glBlendBarrierKHR',
- 'extension': True,
+ 'extension': 'KHR_blend_equation_advanced',
'extension_flag': 'blend_equation_advanced',
'client_test': False,
},
@@ -2666,6 +2667,7 @@ _FUNCTION_INFO = {
'gl_test_func': 'glFramebufferTexture2DMultisampleEXT',
'expectation': False,
'unit_test': False,
+ 'extension': 'EXT_multisampled_render_to_texture',
'extension_flag': 'multisampled_render_to_texture',
'trace_level': 1,
},
@@ -2893,7 +2895,7 @@ _FUNCTION_INFO = {
'type': 'Custom',
'expectation': False,
'impl_func': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_get_multiple',
'chromium': True,
'client_test': False,
'cmd_args': 'GLidProgram program, uint32_t bucket_id',
@@ -3196,7 +3198,7 @@ _FUNCTION_INFO = {
},
'MapBufferSubDataCHROMIUM': {
'gen_cmd': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_map_sub',
'chromium': True,
'client_test': False,
'pepper_interface': 'ChromiumMapSub',
@@ -3281,6 +3283,7 @@ _FUNCTION_INFO = {
'gl_test_func': 'glRenderbufferStorageMultisampleEXT',
'expectation': False,
'unit_test': False,
+ 'extension': 'EXT_multisampled_render_to_texture',
'extension_flag': 'multisampled_render_to_texture',
'trace_level': 1,
},
@@ -3633,7 +3636,7 @@ _FUNCTION_INFO = {
},
'UnmapBufferSubDataCHROMIUM': {
'gen_cmd': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_map_sub',
'chromium': True,
'client_test': False,
'pepper_interface': 'ChromiumMapSub',
@@ -3752,7 +3755,7 @@ _FUNCTION_INFO = {
'impl_func': False,
'client_test': False,
'cmd_args': 'uint32_t bucket_id',
- 'extension': True,
+ 'extension': 'CHROMIUM_request_extension',
'chromium': True,
},
'RateLimitOffscreenContextCHROMIUM': {
@@ -3793,18 +3796,18 @@ _FUNCTION_INFO = {
'CompressedCopyTextureCHROMIUM': {
'decoder_func': 'DoCompressedCopyTextureCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_copy_compressed_texture',
'chromium': True,
},
'CompressedCopySubTextureCHROMIUM': {
'decoder_func': 'DoCompressedCopySubTextureCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_copy_compressed_texture',
'chromium': True,
},
'TexStorage2DEXT': {
'unit_test': False,
- 'extension': True,
+ 'extension': 'EXT_texture_storage',
'decoder_func': 'DoTexStorage2DEXT',
'trace_level': 2,
},
@@ -3812,7 +3815,7 @@ _FUNCTION_INFO = {
'type': 'Manual',
'cmd_args': 'GLenumDrawMode mode, GLint first, GLsizei count, '
'GLsizei primcount',
- 'extension': True,
+ 'extension': 'ANGLE_instanced_arrays',
'unit_test': False,
'pepper_interface': 'InstancedArrays',
'defer_draws': True,
@@ -3826,7 +3829,7 @@ _FUNCTION_INFO = {
'unit_test': False,
# could use 'extension_flag': 'ext_draw_buffers' but currently expected to
# work without.
- 'extension': True,
+ 'extension': 'EXT_draw_buffers',
'pepper_interface': 'DrawBuffers',
'trace_level': 2,
},
@@ -3834,7 +3837,7 @@ _FUNCTION_INFO = {
'type': 'Manual',
'cmd_args': 'GLenumDrawMode mode, GLsizei count, '
'GLenumIndexType type, GLuint index_offset, GLsizei primcount',
- 'extension': True,
+ 'extension': 'ANGLE_instanced_arrays',
'unit_test': False,
'client_test': False,
'pepper_interface': 'InstancedArrays',
@@ -3844,7 +3847,7 @@ _FUNCTION_INFO = {
'VertexAttribDivisorANGLE': {
'type': 'Manual',
'cmd_args': 'GLuint index, GLuint divisor',
- 'extension': True,
+ 'extension': 'ANGLE_instanced_arrays',
'unit_test': False,
'pepper_interface': 'InstancedArrays',
},
@@ -3952,7 +3955,7 @@ _FUNCTION_INFO = {
},
'BindUniformLocationCHROMIUM': {
'type': 'GLchar',
- 'extension': True,
+ 'extension': 'CHROMIUM_bind_uniform_location',
'data_transfer_methods': ['bucket'],
'needs_size': True,
'gl_test_func': 'DoBindUniformLocationCHROMIUM',
@@ -3961,24 +3964,24 @@ _FUNCTION_INFO = {
'type': 'GLcharN',
'decoder_func': 'DoInsertEventMarkerEXT',
'expectation': False,
- 'extension': True,
+ 'extension': 'EXT_debug_marker',
},
'PushGroupMarkerEXT': {
'type': 'GLcharN',
'decoder_func': 'DoPushGroupMarkerEXT',
'expectation': False,
- 'extension': True,
+ 'extension': 'EXT_debug_marker',
},
'PopGroupMarkerEXT': {
'decoder_func': 'DoPopGroupMarkerEXT',
'expectation': False,
- 'extension': True,
+ 'extension': 'EXT_debug_marker',
'impl_func': False,
},
'GenVertexArraysOES': {
'type': 'GENn',
- 'extension': True,
+ 'extension': 'OES_vertex_array_object',
'gl_test_func': 'glGenVertexArraysOES',
'resource_type': 'VertexArray',
'resource_types': 'VertexArrays',
@@ -3987,7 +3990,7 @@ _FUNCTION_INFO = {
},
'BindVertexArrayOES': {
'type': 'Bind',
- 'extension': True,
+ 'extension': 'OES_vertex_array_object',
'gl_test_func': 'glBindVertexArrayOES',
'decoder_func': 'DoBindVertexArrayOES',
'gen_func': 'GenVertexArraysOES',
@@ -3997,7 +4000,7 @@ _FUNCTION_INFO = {
},
'DeleteVertexArraysOES': {
'type': 'DELn',
- 'extension': True,
+ 'extension': 'OES_vertex_array_object',
'gl_test_func': 'glDeleteVertexArraysOES',
'resource_type': 'VertexArray',
'resource_types': 'VertexArrays',
@@ -4006,7 +4009,7 @@ _FUNCTION_INFO = {
},
'IsVertexArrayOES': {
'type': 'Is',
- 'extension': True,
+ 'extension': 'OES_vertex_array_object',
'gl_test_func': 'glIsVertexArrayOES',
'decoder_func': 'DoIsVertexArrayOES',
'expectation': False,
@@ -4051,7 +4054,7 @@ _FUNCTION_INFO = {
'impl_func': False,
'client_test': False,
'cmd_args': 'GLuint category_bucket_id, GLuint name_bucket_id',
- 'extension': True,
+ 'extension': 'CHROMIUM_trace_marker',
'chromium': True,
},
'TraceEndCHROMIUM': {
@@ -4059,7 +4062,7 @@ _FUNCTION_INFO = {
'client_test': False,
'decoder_func': 'DoTraceEndCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_trace_marker',
'chromium': True,
},
'DiscardFramebufferEXT': {
@@ -4068,13 +4071,14 @@ _FUNCTION_INFO = {
'decoder_func': 'DoDiscardFramebufferEXT',
'unit_test': False,
'client_test': False,
+ 'extension': 'EXT_discard_framebuffer',
'extension_flag': 'ext_discard_framebuffer',
'trace_level': 2,
},
'LoseContextCHROMIUM': {
'decoder_func': 'DoLoseContextCHROMIUM',
'unit_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_lose_context',
'chromium': True,
'trace_level': 1,
},
@@ -4104,7 +4108,7 @@ _FUNCTION_INFO = {
'impl_func': True,
'unit_test': False,
'client_test': False,
- 'extension': True,
+ 'extension': 'CHROMIUM_schedule_overlay_plane',
'chromium': True,
},
'MatrixLoadfCHROMIUM': {
@@ -4114,21 +4118,21 @@ _FUNCTION_INFO = {
'decoder_func': 'DoMatrixLoadfCHROMIUM',
'gl_test_func': 'glMatrixLoadfEXT',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'MatrixLoadIdentityCHROMIUM': {
'decoder_func': 'DoMatrixLoadIdentityCHROMIUM',
'gl_test_func': 'glMatrixLoadIdentityEXT',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'GenPathsCHROMIUM': {
'type': 'Custom',
'cmd_args': 'GLuint first_client_id, GLsizei range',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'DeletePathsCHROMIUM': {
@@ -4137,7 +4141,7 @@ _FUNCTION_INFO = {
'impl_func': False,
'unit_test': False,
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'IsPathCHROMIUM': {
@@ -4145,26 +4149,26 @@ _FUNCTION_INFO = {
'decoder_func': 'DoIsPathCHROMIUM',
'gl_test_func': 'glIsPathNV',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'PathCommandsCHROMIUM': {
'type': 'Manual',
'immediate': False,
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'PathParameterfCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'PathParameteriCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'PathStencilFuncCHROMIUM': {
@@ -4172,43 +4176,43 @@ _FUNCTION_INFO = {
'state': 'PathStencilFuncCHROMIUM',
'decoder_func': 'glPathStencilFuncNV',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'StencilFillPathCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'StencilStrokePathCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'CoverFillPathCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'CoverStrokePathCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'StencilThenCoverFillPathCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
'StencilThenCoverStrokePathCHROMIUM': {
'type': 'Custom',
'chromium': True,
- 'extension': True,
+ 'extension': 'CHROMIUM_path_rendering',
'extension_flag': 'chromium_path_rendering',
},
@@ -4872,13 +4876,10 @@ TEST_P(%(test_name)s, %(name)sInvalidArgs%(arg_index)d_%(value_index)d) {
f.write("%s MojoGLES2Impl::%s(%s) {\n" %
(func.return_type, func.original_name,
func.MakeTypedOriginalArgString("")))
- extensions = ["CHROMIUM_sync_point", "CHROMIUM_texture_mailbox",
- "CHROMIUM_sub_image", "CHROMIUM_miscellaneous",
- "occlusion_query_EXT", "CHROMIUM_image",
- "CHROMIUM_copy_texture",
- "CHROMIUM_pixel_transfer_buffer_object",
- "chromium_framebuffer_multisample"]
- if func.IsCoreGLFunction() or func.GetInfo("extension") in extensions:
+ is_core_gl_func = func.IsCoreGLFunction()
+ is_ext = bool(func.GetInfo("extension"))
+ is_safe = not func.IsUnsafe()
+ if is_core_gl_func or (is_safe and is_ext):
f.write("MojoGLES2MakeCurrent(context_);");
func_return = "gl" + func.original_name + "(" + \
func.MakeOriginalArgString("") + ");"
@@ -10458,16 +10459,8 @@ class MojoGLES2Impl : public gpu::gles2::GLES2Interface {
#include "mojo/gpu/mojo_gles2_impl_autogen.h"
#include "base/logging.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_copy_texture.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_framebuffer_multisample.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_image.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_miscellaneous.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_pixel_transfer_buffer_object.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_sub_image.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_sync_point.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/chromium_texture_mailbox.h"
+#include "third_party/mojo/src/mojo/public/c/gles2/chromium_extension.h"
#include "third_party/mojo/src/mojo/public/c/gles2/gles2.h"
-#include "third_party/mojo/src/mojo/public/c/gles2/occlusion_query_ext.h"
namespace mojo {
@@ -10886,11 +10879,13 @@ const size_t GLES2Util::enum_to_string_table_len_ =
func.MakeOriginalArgString("")))
self.generated_cpp_filenames.append(filename)
- def WriteMojoGLCallVisitorForExtension(self, filename, extension):
- """Provides the GL implementation for mojo for a particular extension"""
+ def WriteMojoGLCallVisitorForExtension(self, filename):
+ """Provides the GL implementation for mojo for all extensions"""
with CWriter(filename) as f:
for func in self.original_functions:
- if func.GetInfo("extension") != extension:
+ if not func.GetInfo("extension"):
+ continue
+ if func.IsUnsafe():
continue
f.write("VISIT_GL_CALL(%s, %s, (%s), (%s))\n" %
(func.name, func.return_type,
@@ -11011,32 +11006,7 @@ def main(argv):
"gles2_call_visitor")
gen.WriteMojoGLCallVisitor(mojo_gles2_prefix + "_autogen.h")
gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_texture_mailbox_autogen.h",
- "CHROMIUM_texture_mailbox")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_sync_point_autogen.h",
- "CHROMIUM_sync_point")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_sub_image_autogen.h",
- "CHROMIUM_sub_image")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_miscellaneous_autogen.h",
- "CHROMIUM_miscellaneous")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_occlusion_query_ext_autogen.h",
- "occlusion_query_EXT")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_image_autogen.h",
- "CHROMIUM_image")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_copy_texture_autogen.h",
- "CHROMIUM_copy_texture")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_pixel_transfer_buffer_object_autogen.h",
- "CHROMIUM_pixel_transfer_buffer_object")
- gen.WriteMojoGLCallVisitorForExtension(
- mojo_gles2_prefix + "_chromium_framebuffer_multisample_autogen.h",
- "chromium_framebuffer_multisample")
+ mojo_gles2_prefix + "_chromium_extension_autogen.h")
Format(gen.generated_cpp_filenames)
« no previous file with comments | « components/html_viewer/web_graphics_context_3d_command_buffer_impl.cc ('k') | mojo/gles2/gles2_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698