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

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

Issue 1278333003: Fix crash caused by concurrent access to framebuffer_combo_complete_map_. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 5 years, 4 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/command_buffer_service.gypi ('k') | no next file » | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/display.h" 5 #include "gpu/gles2_conform_support/egl/display.h"
6 6
7 #include <vector> 7 #include <vector>
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "gpu/command_buffer/client/gles2_implementation.h" 10 #include "gpu/command_buffer/client/gles2_implementation.h"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 { 109 {
110 gpu::TransferBufferManager* manager = new gpu::TransferBufferManager(); 110 gpu::TransferBufferManager* manager = new gpu::TransferBufferManager();
111 transfer_buffer_manager_ = manager; 111 transfer_buffer_manager_ = manager;
112 manager->Initialize(); 112 manager->Initialize();
113 } 113 }
114 scoped_ptr<gpu::CommandBufferService> command_buffer( 114 scoped_ptr<gpu::CommandBufferService> command_buffer(
115 new gpu::CommandBufferService(transfer_buffer_manager_.get())); 115 new gpu::CommandBufferService(transfer_buffer_manager_.get()));
116 if (!command_buffer->Initialize()) 116 if (!command_buffer->Initialize())
117 return NULL; 117 return NULL;
118 118
119 scoped_refptr<gpu::gles2::ContextGroup> group( 119 scoped_refptr<gpu::gles2::ContextGroup> group(new gpu::gles2::ContextGroup(
120 new gpu::gles2::ContextGroup(NULL, 120 NULL, NULL, new gpu::gles2::ShaderTranslatorCache,
121 NULL, 121 new gpu::gles2::FramebufferCompletenessCache, NULL, NULL, NULL, true));
122 new gpu::gles2::ShaderTranslatorCache,
123 NULL,
124 NULL,
125 NULL,
126 true));
127 122
128 decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get())); 123 decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get()));
129 if (!decoder_.get()) 124 if (!decoder_.get())
130 return EGL_NO_SURFACE; 125 return EGL_NO_SURFACE;
131 126
132 gpu_scheduler_.reset(new gpu::GpuScheduler(command_buffer.get(), 127 gpu_scheduler_.reset(new gpu::GpuScheduler(command_buffer.get(),
133 decoder_.get(), 128 decoder_.get(),
134 NULL)); 129 NULL));
135 130
136 decoder_->set_engine(gpu_scheduler_.get()); 131 decoder_->set_engine(gpu_scheduler_.get());
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 void Display::SetLock(base::Lock*) { 333 void Display::SetLock(base::Lock*) {
339 NOTIMPLEMENTED(); 334 NOTIMPLEMENTED();
340 } 335 }
341 336
342 bool Display::IsGpuChannelLost() { 337 bool Display::IsGpuChannelLost() {
343 NOTIMPLEMENTED(); 338 NOTIMPLEMENTED();
344 return false; 339 return false;
345 } 340 }
346 341
347 } // namespace egl 342 } // namespace egl
OLDNEW
« no previous file with comments | « gpu/command_buffer_service.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698