| Index: gpu/command_buffer/build_gles2_cmd_buffer.py
|
| ===================================================================
|
| --- gpu/command_buffer/build_gles2_cmd_buffer.py (revision 93075)
|
| +++ gpu/command_buffer/build_gles2_cmd_buffer.py (working copy)
|
| @@ -5718,24 +5718,25 @@
|
| file.Write(_LICENSE)
|
| file.Write(_DO_NOT_EDIT_WARNING)
|
|
|
| - file.Write("#include \"webkit/plugins/ppapi/ppb_opengles_impl.h\"\n\n")
|
| -
|
| + file.Write("#include \"ppapi/shared_impl/opengles2_impl.h\"\n\n")
|
| + file.Write("#include \"base/logging.h\"\n")
|
| file.Write("#include \"gpu/command_buffer/client/gles2_implementation.h\"\n")
|
| - file.Write("#include \"ppapi/c/dev/ppb_opengles_dev.h\"\n")
|
| - file.Write("#include \"ppapi/shared_impl/resource_object_base.h\"\n")
|
| - file.Write("#include \"ppapi/shared_impl/tracker_base.h\"\n")
|
| - file.Write("#include \"webkit/plugins/ppapi/ppb_context_3d_impl.h\"\n\n")
|
| + file.Write("#include \"ppapi/shared_impl/graphics_3d_impl.h\"\n")
|
| + file.Write("#include \"ppapi/thunk/enter.h\"\n")
|
| + file.Write("#include \"ppapi/thunk/ppb_context_3d_api.h\"\n\n")
|
|
|
| - file.Write("using ppapi::ResourceObjectBase;\n")
|
| - file.Write("using ppapi::TrackerBase;\n\n")
|
| - file.Write("namespace webkit {\n")
|
| file.Write("namespace ppapi {\n\n")
|
| file.Write("namespace {\n\n")
|
|
|
| file.Write("gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {\n")
|
| - file.Write(" ResourceObjectBase* base = TrackerBase::Get()->GetResourceAPI(context);\n")
|
| - file.Write(" DCHECK(base->AsPPB_Context3D_API());\n")
|
| - file.Write(" return static_cast<PPB_Context3D_Impl*>(base)->gles2_impl();\n")
|
| + file.Write(" thunk::EnterResource<thunk::PPB_Graphics3D_API> enter_g3d(context, false);\n")
|
| + file.Write(" if (enter_g3d.succeeded()) {\n")
|
| + file.Write(" return static_cast<Graphics3DImpl*>(enter_g3d.object())->gles2_impl();\n")
|
| + file.Write(" } else {\n")
|
| + file.Write(" thunk::EnterResource<thunk::PPB_Context3D_API> enter_c3d(context, true);\n")
|
| + file.Write(" DCHECK(enter_c3d.succeeded());\n")
|
| + file.Write(" return enter_c3d.object()->GetGLES2Impl();\n")
|
| + file.Write(" }\n")
|
| file.Write("}\n\n")
|
|
|
| for func in self.original_functions:
|
| @@ -5766,108 +5767,14 @@
|
| file.Write("} // namespace\n")
|
|
|
| file.Write("""
|
| -const PPB_OpenGLES2_Dev* PPB_OpenGLES_Impl::GetInterface() {
|
| +const PPB_OpenGLES2_Dev* OpenGLES2Impl::GetInterface() {
|
| return &ppb_opengles2;
|
| }
|
|
|
| """)
|
| file.Write("} // namespace ppapi\n")
|
| - file.Write("} // namespace webkit\n\n")
|
| -
|
| file.Close()
|
|
|
| - def WritePepperGLES2ProxyImplementation(self, filename):
|
| - """Writes the Pepper OpenGLES interface implementation."""
|
| -
|
| - file = CWriter(filename)
|
| - file.Write(_LICENSE)
|
| - file.Write(_DO_NOT_EDIT_WARNING)
|
| -
|
| - file.Write("#include \"ppapi/proxy/ppb_opengles2_proxy.h\"\n\n")
|
| -
|
| - file.Write("#include \"gpu/command_buffer/client/gles2_implementation.h\"\n")
|
| - file.Write("#include \"ppapi/c/pp_errors.h\"\n")
|
| - file.Write("#include \"ppapi/c/pp_resource.h\"\n")
|
| - file.Write("#include \"ppapi/c/dev/ppb_opengles_dev.h\"\n")
|
| - file.Write("#include \"ppapi/proxy/plugin_dispatcher.h\"\n")
|
| - file.Write("#include \"ppapi/proxy/plugin_resource.h\"\n")
|
| - file.Write("#include \"ppapi/proxy/ppb_context_3d_proxy.h\"\n")
|
| - file.Write("#include \"ppapi/shared_impl/resource_object_base.h\"\n")
|
| - file.Write("#include \"ppapi/shared_impl/tracker_base.h\"\n\n")
|
| -
|
| - file.Write("namespace pp {\n")
|
| - file.Write("namespace proxy {\n\n")
|
| - file.Write("namespace {\n\n")
|
| - file.Write("gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) {\n")
|
| - file.Write(" ppapi::ResourceObjectBase* base =\n")
|
| - file.Write(" ppapi::TrackerBase::Get()->GetResourceAPI(context);\n")
|
| - file.Write(" DCHECK(base->AsPPB_Context3D_API());\n")
|
| - file.Write(" return static_cast<Context3D*>(base)->gles2_impl();\n")
|
| - file.Write("}\n\n")
|
| -
|
| - for func in self.original_functions:
|
| - if not func.IsCoreGLFunction():
|
| - continue
|
| -
|
| - original_arg = func.MakeTypedOriginalArgString("")
|
| - context_arg = "PP_Resource context_id"
|
| - if len(original_arg):
|
| - arg = context_arg + ", " + original_arg
|
| - else:
|
| - arg = context_arg
|
| - file.Write("%s %s(%s) {\n" % (func.return_type, func.name, arg))
|
| -
|
| - return_str = "" if func.return_type == "void" else "return "
|
| - file.Write(" %sGetGLES(context_id)->%s(%s);\n" %
|
| - (return_str, func.original_name,
|
| - func.MakeOriginalArgString("")))
|
| - file.Write("}\n\n")
|
| -
|
| - file.Write("const struct PPB_OpenGLES2_Dev opengles2_interface = {\n")
|
| - file.Write(" &")
|
| - file.Write(",\n &".join(
|
| - f.name for f in self.original_functions if f.IsCoreGLFunction()))
|
| - file.Write("\n")
|
| - file.Write("};\n\n")
|
| -
|
| - file.Write("""
|
| -InterfaceProxy* CreateOpenGLES2Proxy(Dispatcher* dispatcher,
|
| - const void* target_interface) {
|
| - return new PPB_OpenGLES2_Proxy(dispatcher, target_interface);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -PPB_OpenGLES2_Proxy::PPB_OpenGLES2_Proxy(Dispatcher* dispatcher,
|
| - const void* target_interface)
|
| - : InterfaceProxy(dispatcher, target_interface) {
|
| -}
|
| -
|
| -PPB_OpenGLES2_Proxy::~PPB_OpenGLES2_Proxy() {
|
| -}
|
| -
|
| -// static
|
| -const InterfaceProxy::Info* PPB_OpenGLES2_Proxy::GetInfo() {
|
| - static const Info info = {
|
| - &opengles2_interface,
|
| - PPB_OPENGLES2_DEV_INTERFACE,
|
| - INTERFACE_ID_PPB_OPENGLES2,
|
| - false,
|
| - &CreateOpenGLES2Proxy,
|
| - };
|
| - return &info;
|
| -}
|
| -
|
| -bool PPB_OpenGLES2_Proxy::OnMessageReceived(const IPC::Message& msg) {
|
| - return false;
|
| -}
|
| -
|
| -""")
|
| - file.Write("} // namespace proxy\n")
|
| - file.Write("} // namespace pp\n")
|
| -
|
| - file.Close()
|
| -
|
| def WriteGLES2ToPPAPIBridge(self, filename):
|
| """Connects GLES2 helper library to PPB_OpenGLES2 interface"""
|
|
|
| @@ -5995,13 +5902,8 @@
|
|
|
| elif options.alternate_mode == "chrome_ppapi":
|
| # To trigger this action, do "make ppapi_gles_implementation"
|
| - gen.WritePepperGLES2Implementation(
|
| - "webkit/plugins/ppapi/ppb_opengles_impl.cc")
|
| + gen.WritePepperGLES2Implementation("ppapi/shared_impl/opengles2_impl.cc")
|
|
|
| - elif options.alternate_mode == "chrome_ppapi_proxy":
|
| - gen.WritePepperGLES2ProxyImplementation(
|
| - "ppapi/proxy/ppb_opengles2_proxy.cc")
|
| -
|
| elif options.alternate_mode == "nacl_ppapi":
|
| gen.WritePepperGLES2NaClProxy(
|
| "native_client/src/shared/ppapi_proxy/plugin_opengles.cc")
|
|
|