Chromium Code Reviews

Side by Side Diff: gpu/command_buffer/client/gles2_implementation.cc

Issue 754433003: Update from https://crrev.com/305340 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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 // A class to emulate GLES2 over command buffers. 5 // A class to emulate GLES2 over command buffers.
6 6
7 #include "gpu/command_buffer/client/gles2_implementation.h" 7 #include "gpu/command_buffer/client/gles2_implementation.h"
8 8
9 #include <GLES2/gl2ext.h> 9 #include <GLES2/gl2ext.h>
10 #include <GLES2/gl2extchromium.h> 10 #include <GLES2/gl2extchromium.h>
(...skipping 192 matching lines...)
203 } 203 }
204 204
205 GLES2Implementation::~GLES2Implementation() { 205 GLES2Implementation::~GLES2Implementation() {
206 // Make sure the queries are finished otherwise we'll delete the 206 // Make sure the queries are finished otherwise we'll delete the
207 // shared memory (mapped_memory_) which will free the memory used 207 // shared memory (mapped_memory_) which will free the memory used
208 // by the queries. The GPU process when validating that memory is still 208 // by the queries. The GPU process when validating that memory is still
209 // shared will fail and abort (ie, it will stop running). 209 // shared will fail and abort (ie, it will stop running).
210 WaitForCmd(); 210 WaitForCmd();
211 query_tracker_.reset(); 211 query_tracker_.reset();
212 212
213 if (support_client_side_arrays_) 213 // GLES2Implementation::Initialize() could fail before allocating
214 // reserved_ids_, so we need delete them carefully.
215 if (support_client_side_arrays_ && reserved_ids_[0]) {
214 DeleteBuffers(arraysize(reserved_ids_), &reserved_ids_[0]); 216 DeleteBuffers(arraysize(reserved_ids_), &reserved_ids_[0]);
217 }
215 218
216 // Release any per-context data in share group. 219 // Release any per-context data in share group.
217 share_group_->FreeContext(this); 220 share_group_->FreeContext(this);
218 221
219 buffer_tracker_.reset(); 222 buffer_tracker_.reset();
220 223
221 FreeAllAsyncUploadBuffers(); 224 FreeAllAsyncUploadBuffers();
222 225
223 if (async_upload_sync_) { 226 if (async_upload_sync_) {
224 mapped_memory_->Free(async_upload_sync_); 227 mapped_memory_->Free(async_upload_sync_);
(...skipping 3677 matching lines...)
3902 return true; 3905 return true;
3903 } 3906 }
3904 3907
3905 // Include the auto-generated part of this file. We split this because it means 3908 // Include the auto-generated part of this file. We split this because it means
3906 // we can easily edit the non-auto generated parts right here in this file 3909 // we can easily edit the non-auto generated parts right here in this file
3907 // instead of having to edit some template or the code generator. 3910 // instead of having to edit some template or the code generator.
3908 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" 3911 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h"
3909 3912
3910 } // namespace gles2 3913 } // namespace gles2
3911 } // namespace gpu 3914 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/build_gles2_cmd_buffer.py ('k') | gpu/command_buffer/client/gles2_implementation_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine