OLD | NEW |
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/mus/gles2/command_buffer_local.h" | 5 #include "components/mus/gles2/command_buffer_local.h" |
6 | 6 |
7 #include "base/atomic_sequence_num.h" | 7 #include "base/atomic_sequence_num.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/memory/shared_memory.h" | 9 #include "base/memory/shared_memory.h" |
10 #include "components/mus/gles2/command_buffer_local_client.h" | 10 #include "components/mus/gles2/command_buffer_local_client.h" |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 decoder_->SetWaitSyncPointCallback( | 106 decoder_->SetWaitSyncPointCallback( |
107 base::Bind(&CommandBufferLocal::OnWaitSyncPoint, base::Unretained(this))); | 107 base::Bind(&CommandBufferLocal::OnWaitSyncPoint, base::Unretained(this))); |
108 decoder_->SetFenceSyncReleaseCallback(base::Bind( | 108 decoder_->SetFenceSyncReleaseCallback(base::Bind( |
109 &CommandBufferLocal::OnFenceSyncRelease, base::Unretained(this))); | 109 &CommandBufferLocal::OnFenceSyncRelease, base::Unretained(this))); |
110 decoder_->SetWaitFenceSyncCallback( | 110 decoder_->SetWaitFenceSyncCallback( |
111 base::Bind(&CommandBufferLocal::OnWaitFenceSync, base::Unretained(this))); | 111 base::Bind(&CommandBufferLocal::OnWaitFenceSync, base::Unretained(this))); |
112 | 112 |
113 gpu::gles2::DisallowedFeatures disallowed_features; | 113 gpu::gles2::DisallowedFeatures disallowed_features; |
114 | 114 |
115 // TODO(piman): attributes. | 115 // TODO(piman): attributes. |
116 std::vector<int32> attrib_vector; | 116 std::vector<int32_t> attrib_vector; |
117 if (!decoder_->Initialize(surface_, context_, false /* offscreen */, | 117 if (!decoder_->Initialize(surface_, context_, false /* offscreen */, |
118 gfx::Size(1, 1), disallowed_features, | 118 gfx::Size(1, 1), disallowed_features, |
119 attrib_vector)) | 119 attrib_vector)) |
120 return false; | 120 return false; |
121 | 121 |
122 command_buffer_->SetPutOffsetChangeCallback( | 122 command_buffer_->SetPutOffsetChangeCallback( |
123 base::Bind(&CommandBufferLocal::PumpCommands, base::Unretained(this))); | 123 base::Bind(&CommandBufferLocal::PumpCommands, base::Unretained(this))); |
124 command_buffer_->SetGetBufferChangeCallback(base::Bind( | 124 command_buffer_->SetGetBufferChangeCallback(base::Bind( |
125 &gpu::GpuScheduler::SetGetBuffer, base::Unretained(scheduler_.get()))); | 125 &gpu::GpuScheduler::SetGetBuffer, base::Unretained(scheduler_.get()))); |
126 command_buffer_->SetParseErrorCallback( | 126 command_buffer_->SetParseErrorCallback( |
(...skipping 24 matching lines...) Expand all Loading... |
151 scoped_refptr<gl::GLImageSharedMemory> image(new gl::GLImageSharedMemory( | 151 scoped_refptr<gl::GLImageSharedMemory> image(new gl::GLImageSharedMemory( |
152 gfx::Size(static_cast<int>(width), static_cast<int>(height)), | 152 gfx::Size(static_cast<int>(width), static_cast<int>(height)), |
153 internalformat)); | 153 internalformat)); |
154 if (!image->Initialize(base::SharedMemory::DuplicateHandle(handle.handle), | 154 if (!image->Initialize(base::SharedMemory::DuplicateHandle(handle.handle), |
155 handle.id, gpu_memory_buffer->GetFormat(), 0, | 155 handle.id, gpu_memory_buffer->GetFormat(), 0, |
156 gfx::RowSizeForBufferFormat( | 156 gfx::RowSizeForBufferFormat( |
157 width, gpu_memory_buffer->GetFormat(), 0))) { | 157 width, gpu_memory_buffer->GetFormat(), 0))) { |
158 return -1; | 158 return -1; |
159 } | 159 } |
160 | 160 |
161 static int32 next_id = 1; | 161 static int32_t next_id = 1; |
162 int32 new_id = next_id++; | 162 int32_t new_id = next_id++; |
163 | 163 |
164 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); | 164 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); |
165 DCHECK(image_manager); | 165 DCHECK(image_manager); |
166 image_manager->AddImage(image.get(), new_id); | 166 image_manager->AddImage(image.get(), new_id); |
167 return new_id; | 167 return new_id; |
168 } | 168 } |
169 | 169 |
170 void CommandBufferLocal::DestroyImage(int32 id) { | 170 void CommandBufferLocal::DestroyImage(int32_t id) { |
171 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); | 171 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); |
172 DCHECK(image_manager); | 172 DCHECK(image_manager); |
173 image_manager->RemoveImage(id); | 173 image_manager->RemoveImage(id); |
174 } | 174 } |
175 | 175 |
176 int32_t CommandBufferLocal::CreateGpuMemoryBufferImage(size_t width, | 176 int32_t CommandBufferLocal::CreateGpuMemoryBufferImage(size_t width, |
177 size_t height, | 177 size_t height, |
178 unsigned internalformat, | 178 unsigned internalformat, |
179 unsigned usage) { | 179 unsigned usage) { |
180 DCHECK_EQ(usage, static_cast<unsigned>(GL_READ_WRITE_CHROMIUM)); | 180 DCHECK_EQ(usage, static_cast<unsigned>(GL_READ_WRITE_CHROMIUM)); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 gpu::CommandBuffer::State state = command_buffer_->GetLastState(); | 340 gpu::CommandBuffer::State state = command_buffer_->GetLastState(); |
341 OnContextLost(state.context_lost_reason); | 341 OnContextLost(state.context_lost_reason); |
342 } | 342 } |
343 | 343 |
344 void CommandBufferLocal::OnContextLost(uint32_t reason) { | 344 void CommandBufferLocal::OnContextLost(uint32_t reason) { |
345 if (client_) | 345 if (client_) |
346 client_->DidLoseContext(); | 346 client_->DidLoseContext(); |
347 } | 347 } |
348 | 348 |
349 } // namespace mus | 349 } // namespace mus |
OLD | NEW |