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

Side by Side Diff: gpu/gles2_conform_support/egl/context.cc

Issue 1998723002: Move code in ui/gl/* from gfx:: to gl:: (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 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 | « gpu/gles2_conform_support/egl/context.h ('k') | gpu/gles2_conform_support/egl/display.cc » ('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 (c) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 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 "gpu/gles2_conform_support/egl/context.h" 5 #include "gpu/gles2_conform_support/egl/context.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "gpu/command_buffer/client/gles2_implementation.h" 10 #include "gpu/command_buffer/client/gles2_implementation.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 223
224 void Context::SignalSyncToken(const gpu::SyncToken& sync_token, 224 void Context::SignalSyncToken(const gpu::SyncToken& sync_token,
225 const base::Closure& callback) { 225 const base::Closure& callback) {
226 NOTIMPLEMENTED(); 226 NOTIMPLEMENTED();
227 } 227 }
228 228
229 bool Context::CanWaitUnverifiedSyncToken(const gpu::SyncToken* sync_token) { 229 bool Context::CanWaitUnverifiedSyncToken(const gpu::SyncToken* sync_token) {
230 return false; 230 return false;
231 } 231 }
232 232
233 void Context::ApplyCurrentContext(gfx::GLSurface* current_surface) { 233 void Context::ApplyCurrentContext(gl::GLSurface* current_surface) {
234 DCHECK(HasService()); 234 DCHECK(HasService());
235 // The current_surface will be the same as 235 // The current_surface will be the same as
236 // the surface of the decoder. We can not DCHECK as there is 236 // the surface of the decoder. We can not DCHECK as there is
237 // no accessor. 237 // no accessor.
238 if (!WasServiceContextLost()) { 238 if (!WasServiceContextLost()) {
239 if (!gl_context_->MakeCurrent(current_surface)) 239 if (!gl_context_->MakeCurrent(current_surface))
240 MarkServiceContextLost(); 240 MarkServiceContextLost();
241 } 241 }
242 gles2::SetGLContext(client_gl_context_.get()); 242 gles2::SetGLContext(client_gl_context_.get());
243 } 243 }
244 244
245 void Context::ApplyContextReleased() { 245 void Context::ApplyContextReleased() {
246 gles2::SetGLContext(nullptr); 246 gles2::SetGLContext(nullptr);
247 } 247 }
248 248
249 bool Context::CreateService(gfx::GLSurface* gl_surface) { 249 bool Context::CreateService(gl::GLSurface* gl_surface) {
250 scoped_refptr<gpu::TransferBufferManager> transfer_buffer_manager( 250 scoped_refptr<gpu::TransferBufferManager> transfer_buffer_manager(
251 new gpu::TransferBufferManager(nullptr)); 251 new gpu::TransferBufferManager(nullptr));
252 transfer_buffer_manager->Initialize(); 252 transfer_buffer_manager->Initialize();
253 253
254 std::unique_ptr<gpu::CommandBufferService> command_buffer( 254 std::unique_ptr<gpu::CommandBufferService> command_buffer(
255 new gpu::CommandBufferService(transfer_buffer_manager.get())); 255 new gpu::CommandBufferService(transfer_buffer_manager.get()));
256 256
257 scoped_refptr<gpu::gles2::FeatureInfo> feature_info( 257 scoped_refptr<gpu::gles2::FeatureInfo> feature_info(
258 new gpu::gles2::FeatureInfo(gpu_driver_bug_workarounds_)); 258 new gpu::gles2::FeatureInfo(gpu_driver_bug_workarounds_));
259 scoped_refptr<gpu::gles2::ContextGroup> group(new gpu::gles2::ContextGroup( 259 scoped_refptr<gpu::gles2::ContextGroup> group(new gpu::gles2::ContextGroup(
260 gpu_preferences_, nullptr, nullptr, 260 gpu_preferences_, nullptr, nullptr,
261 new gpu::gles2::ShaderTranslatorCache(gpu_preferences_), 261 new gpu::gles2::ShaderTranslatorCache(gpu_preferences_),
262 new gpu::gles2::FramebufferCompletenessCache, feature_info, true)); 262 new gpu::gles2::FramebufferCompletenessCache, feature_info, true));
263 263
264 std::unique_ptr<gpu::gles2::GLES2Decoder> decoder( 264 std::unique_ptr<gpu::gles2::GLES2Decoder> decoder(
265 gpu::gles2::GLES2Decoder::Create(group.get())); 265 gpu::gles2::GLES2Decoder::Create(group.get()));
266 if (!decoder.get()) 266 if (!decoder.get())
267 return false; 267 return false;
268 268
269 std::unique_ptr<gpu::CommandExecutor> command_executor( 269 std::unique_ptr<gpu::CommandExecutor> command_executor(
270 new gpu::CommandExecutor(command_buffer.get(), decoder.get(), 270 new gpu::CommandExecutor(command_buffer.get(), decoder.get(),
271 decoder.get())); 271 decoder.get()));
272 272
273 decoder->set_engine(command_executor.get()); 273 decoder->set_engine(command_executor.get());
274 274
275 scoped_refptr<gfx::GLContext> gl_context( 275 scoped_refptr<gl::GLContext> gl_context(
276 gl::init::CreateGLContext(nullptr, gl_surface, gfx::PreferDiscreteGpu)); 276 gl::init::CreateGLContext(nullptr, gl_surface, gl::PreferDiscreteGpu));
277 if (!gl_context) 277 if (!gl_context)
278 return false; 278 return false;
279 279
280 gl_context->MakeCurrent(gl_surface); 280 gl_context->MakeCurrent(gl_surface);
281 281
282 gpu::gles2::ContextCreationAttribHelper helper; 282 gpu::gles2::ContextCreationAttribHelper helper;
283 config_->GetAttrib(EGL_ALPHA_SIZE, &helper.alpha_size); 283 config_->GetAttrib(EGL_ALPHA_SIZE, &helper.alpha_size);
284 config_->GetAttrib(EGL_DEPTH_SIZE, &helper.depth_size); 284 config_->GetAttrib(EGL_DEPTH_SIZE, &helper.depth_size);
285 config_->GetAttrib(EGL_STENCIL_SIZE, &helper.stencil_size); 285 config_->GetAttrib(EGL_STENCIL_SIZE, &helper.stencil_size);
286 286
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 // because GTF windowless window surfaces might be emulated with offscreen 374 // because GTF windowless window surfaces might be emulated with offscreen
375 // surfaces. 375 // surfaces.
376 EGLint value = EGL_NONE; 376 EGLint value = EGL_NONE;
377 config_->GetAttrib(EGL_SURFACE_TYPE, &value); 377 config_->GetAttrib(EGL_SURFACE_TYPE, &value);
378 bool context_config_is_offscreen = (value & EGL_PBUFFER_BIT) != 0; 378 bool context_config_is_offscreen = (value & EGL_PBUFFER_BIT) != 0;
379 surface->config()->GetAttrib(EGL_SURFACE_TYPE, &value); 379 surface->config()->GetAttrib(EGL_SURFACE_TYPE, &value);
380 bool surface_config_is_offscreen = (value & EGL_PBUFFER_BIT) != 0; 380 bool surface_config_is_offscreen = (value & EGL_PBUFFER_BIT) != 0;
381 return surface_config_is_offscreen == context_config_is_offscreen; 381 return surface_config_is_offscreen == context_config_is_offscreen;
382 } 382 }
383 383
384 bool Context::Flush(gfx::GLSurface* gl_surface) { 384 bool Context::Flush(gl::GLSurface* gl_surface) {
385 if (WasServiceContextLost()) 385 if (WasServiceContextLost())
386 return false; 386 return false;
387 if (!gl_context_->MakeCurrent(gl_surface)) { 387 if (!gl_context_->MakeCurrent(gl_surface)) {
388 MarkServiceContextLost(); 388 MarkServiceContextLost();
389 return false; 389 return false;
390 } 390 }
391 client_gl_context_->Flush(); 391 client_gl_context_->Flush();
392 return true; 392 return true;
393 } 393 }
394 394
395 } // namespace egl 395 } // namespace egl
OLDNEW
« no previous file with comments | « gpu/gles2_conform_support/egl/context.h ('k') | gpu/gles2_conform_support/egl/display.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698