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

Unified Diff: gpu/command_buffer/service/in_process_command_buffer.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 side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/in_process_command_buffer.cc
diff --git a/gpu/command_buffer/service/in_process_command_buffer.cc b/gpu/command_buffer/service/in_process_command_buffer.cc
index f5ad4da1559a54973a38901cf5123fada23516d3..6b072bf540d5c1965c7fbebe58a526cfc96c275b 100644
--- a/gpu/command_buffer/service/in_process_command_buffer.cc
+++ b/gpu/command_buffer/service/in_process_command_buffer.cc
@@ -299,11 +299,10 @@ bool InProcessCommandBuffer::InitializeOnGpuThread(
decoder_.reset(gles2::GLES2Decoder::Create(
params.context_group
? params.context_group->decoder_->GetContextGroup()
- : new gles2::ContextGroup(service_->mailbox_manager(),
- NULL,
+ : new gles2::ContextGroup(service_->mailbox_manager(), NULL,
service_->shader_translator_cache(),
- NULL,
- service_->subscription_ref_set(),
+ service_->framebuffer_completeness_cache(),
+ NULL, service_->subscription_ref_set(),
service_->pending_valuebuffer_state(),
bind_generates_resource)));
@@ -925,6 +924,14 @@ GpuInProcessThread::shader_translator_cache() {
return shader_translator_cache_;
}
+scoped_refptr<gles2::FramebufferCompletenessCache>
+GpuInProcessThread::framebuffer_completeness_cache() {
+ if (!framebuffer_completeness_cache_.get())
+ framebuffer_completeness_cache_ =
+ new gpu::gles2::FramebufferCompletenessCache;
+ return framebuffer_completeness_cache_;
+}
+
SyncPointManager* GpuInProcessThread::sync_point_manager() {
return sync_point_manager_;
}
« no previous file with comments | « gpu/command_buffer/service/in_process_command_buffer.h ('k') | gpu/command_buffer/service/texture_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698