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

Side by Side Diff: components/html_viewer/web_graphics_context_3d_command_buffer_impl.cc

Issue 1325433003: command_buffer: Add support for creating non-WebGL ES 3 contexts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: missing hunk 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 unified diff | Download patch
« no previous file with comments | « blimp/client/compositor/blimp_context_provider.cc ('k') | gpu/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/html_viewer/web_graphics_context_3d_command_buffer_impl.h" 5 #include "components/html_viewer/web_graphics_context_3d_command_buffer_impl.h"
6 6
7 #include "components/mus/public/interfaces/gpu.mojom.h" 7 #include "components/mus/public/interfaces/gpu.mojom.h"
8 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 8 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
9 #include "mojo/application/public/cpp/application_impl.h" 9 #include "mojo/application/public/cpp/application_impl.h"
10 #include "mojo/cc/context_provider_mojo.h" 10 #include "mojo/cc/context_provider_mojo.h"
(...skipping 14 matching lines...) Expand all
25 mojo::GpuPtr gpu_service; 25 mojo::GpuPtr gpu_service;
26 app->ConnectToService(request.Pass(), &gpu_service); 26 app->ConnectToService(request.Pass(), &gpu_service);
27 27
28 mojo::CommandBufferPtr cb; 28 mojo::CommandBufferPtr cb;
29 gpu_service->CreateOffscreenGLES2Context(GetProxy(&cb)); 29 gpu_service->CreateOffscreenGLES2Context(GetProxy(&cb));
30 command_buffer_handle_ = cb.PassInterface().PassHandle(); 30 command_buffer_handle_ = cb.PassInterface().PassHandle();
31 CHECK(command_buffer_handle_.is_valid()); 31 CHECK(command_buffer_handle_.is_valid());
32 // TODO(penghuang): Support share context. 32 // TODO(penghuang): Support share context.
33 // TODO(penghuang): Fill gl_info. 33 // TODO(penghuang): Fill gl_info.
34 gpu::gles2::ContextCreationAttribHelper attrib_helper; 34 gpu::gles2::ContextCreationAttribHelper attrib_helper;
35 attrib_helper.alpha_size = attributes.alpha ? 8 : 0; 35 ConvertAttributes(attributes, &attrib_helper);
36 attrib_helper.depth_size = attributes.depth ? 24 : 0;
37 attrib_helper.stencil_size = attributes.stencil ? 8 : 0;
38 attrib_helper.samples = attributes.antialias ? 4 : 0;
39 attrib_helper.sample_buffers = attributes.antialias ? 1 : 0;
40 attrib_helper.fail_if_major_perf_caveat =
41 attributes.failIfMajorPerformanceCaveat;
42 attrib_helper.bind_generates_resource = false;
43 attrib_helper.webgl_version = attributes.webGLVersion;
44 std::vector<int32_t> attrib_vector; 36 std::vector<int32_t> attrib_vector;
45 attrib_helper.Serialize(&attrib_vector); 37 attrib_helper.Serialize(&attrib_vector);
46 gles2_context_ = MojoGLES2CreateContext( 38 gles2_context_ = MojoGLES2CreateContext(
47 command_buffer_handle_.release().value(), 39 command_buffer_handle_.release().value(),
48 attrib_vector.data(), 40 attrib_vector.data(),
49 &ContextLostThunk, 41 &ContextLostThunk,
50 this, 42 this,
51 mojo::Environment::GetDefaultAsyncWaiter()); 43 mojo::Environment::GetDefaultAsyncWaiter());
52 context_gl_.reset(new mojo::MojoGLES2Impl(gles2_context_)); 44 context_gl_.reset(new mojo::MojoGLES2Impl(gles2_context_));
53 setGLInterface(context_gl_.get()); 45 setGLInterface(context_gl_.get());
(...skipping 16 matching lines...) Expand all
70 return new WebGraphicsContext3DCommandBufferImpl( 62 return new WebGraphicsContext3DCommandBufferImpl(
71 app, active_url, attributes, share_context, gl_info); 63 app, active_url, attributes, share_context, gl_info);
72 } 64 }
73 65
74 void WebGraphicsContext3DCommandBufferImpl::ContextLost() { 66 void WebGraphicsContext3DCommandBufferImpl::ContextLost() {
75 if (context_lost_callback_) 67 if (context_lost_callback_)
76 context_lost_callback_->onContextLost(); 68 context_lost_callback_->onContextLost();
77 } 69 }
78 70
79 } // namespace html_viewer 71 } // namespace html_viewer
OLDNEW
« no previous file with comments | « blimp/client/compositor/blimp_context_provider.cc ('k') | gpu/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698