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

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

Issue 1427543002: Modified old wait sync point functions to also accept new sync tokens. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Folded sync_point into sync_tokens Created 5 years, 1 month 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
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/gl2.h> 9 #include <GLES2/gl2.h>
10 #include <GLES2/gl2ext.h> 10 #include <GLES2/gl2ext.h>
(...skipping 5348 matching lines...) Expand 10 before | Expand all | Expand 10 after
5359 return true; 5359 return true;
5360 } 5360 }
5361 5361
5362 GLuint GLES2Implementation::InsertSyncPointCHROMIUM() { 5362 GLuint GLES2Implementation::InsertSyncPointCHROMIUM() {
5363 GPU_CLIENT_SINGLE_THREAD_CHECK(); 5363 GPU_CLIENT_SINGLE_THREAD_CHECK();
5364 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glInsertSyncPointCHROMIUM"); 5364 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glInsertSyncPointCHROMIUM");
5365 helper_->CommandBufferHelper::Flush(); 5365 helper_->CommandBufferHelper::Flush();
5366 return gpu_control_->InsertSyncPoint(); 5366 return gpu_control_->InsertSyncPoint();
5367 } 5367 }
5368 5368
5369 void GLES2Implementation::WaitSyncPointCHROMIUM(GLuint sync_point) {
5370 // This should no longer be called.
5371 CHECK(false);
piman 2015/10/29 00:08:20 nit: NOTREACHED()
David Yen 2015/10/29 17:08:08 Done.
5372 }
5373
5369 GLuint GLES2Implementation::InsertFutureSyncPointCHROMIUM() { 5374 GLuint GLES2Implementation::InsertFutureSyncPointCHROMIUM() {
5370 GPU_CLIENT_SINGLE_THREAD_CHECK(); 5375 GPU_CLIENT_SINGLE_THREAD_CHECK();
5371 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glInsertFutureSyncPointCHROMIUM"); 5376 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glInsertFutureSyncPointCHROMIUM");
5372 DCHECK(capabilities_.future_sync_points); 5377 DCHECK(capabilities_.future_sync_points);
5373 return gpu_control_->InsertFutureSyncPoint(); 5378 return gpu_control_->InsertFutureSyncPoint();
5374 } 5379 }
5375 5380
5376 void GLES2Implementation::RetireSyncPointCHROMIUM(GLuint sync_point) { 5381 void GLES2Implementation::RetireSyncPointCHROMIUM(GLuint sync_point) {
5377 GPU_CLIENT_SINGLE_THREAD_CHECK(); 5382 GPU_CLIENT_SINGLE_THREAD_CHECK();
5378 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRetireSyncPointCHROMIUM(" 5383 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRetireSyncPointCHROMIUM("
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
5446 SyncToken sync_token_data; 5451 SyncToken sync_token_data;
5447 memcpy(&sync_token_data, sync_token, sizeof(SyncToken)); 5452 memcpy(&sync_token_data, sync_token, sizeof(SyncToken));
5448 5453
5449 if (!sync_token_data.verified_flush() && 5454 if (!sync_token_data.verified_flush() &&
5450 !gpu_control_->CanWaitUnverifiedSyncToken(&sync_token_data)) { 5455 !gpu_control_->CanWaitUnverifiedSyncToken(&sync_token_data)) {
5451 SetGLError(GL_INVALID_VALUE, "glWaitSyncTokenCHROMIUM", 5456 SetGLError(GL_INVALID_VALUE, "glWaitSyncTokenCHROMIUM",
5452 "Cannot wait on sync_token which has not been verified"); 5457 "Cannot wait on sync_token which has not been verified");
5453 return; 5458 return;
5454 } 5459 }
5455 5460
5456 helper_->WaitSyncTokenCHROMIUM(sync_token_data.namespace_id(), 5461 // TODO(dyen): Temporarily support old sync points, remove once all old sync
5457 sync_token_data.command_buffer_id(), 5462 // points have been removed.
5458 sync_token_data.release_count()); 5463 const gpu::CommandBufferNamespace namespace_id =
5464 sync_token_data.namespace_id();
5465 if (namespace_id == gpu::CommandBufferNamespace::OLD_SYNC_POINTS) {
5466 const uint32_t sync_point =
5467 static_cast<uint32_t>(sync_token_data.release_count());
5468 helper_->WaitSyncPointCHROMIUM(sync_point);
5469 return;
5470 }
5471
5472 helper_->WaitSyncTokenCHROMIUM(
5473 static_cast<GLuint>(sync_token_data.namespace_id()),
5474 sync_token_data.command_buffer_id(), sync_token_data.release_count());
5459 } 5475 }
5460 5476
5461 namespace { 5477 namespace {
5462 5478
5463 bool ValidImageFormat(GLenum internalformat, 5479 bool ValidImageFormat(GLenum internalformat,
5464 const Capabilities& capabilities) { 5480 const Capabilities& capabilities) {
5465 switch (internalformat) { 5481 switch (internalformat) {
5466 case GL_ATC_RGB_AMD: 5482 case GL_ATC_RGB_AMD:
5467 case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD: 5483 case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD:
5468 return capabilities.texture_format_atc; 5484 return capabilities.texture_format_atc;
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
5970 CheckGLError(); 5986 CheckGLError();
5971 } 5987 }
5972 5988
5973 // Include the auto-generated part of this file. We split this because it means 5989 // Include the auto-generated part of this file. We split this because it means
5974 // we can easily edit the non-auto generated parts right here in this file 5990 // we can easily edit the non-auto generated parts right here in this file
5975 // instead of having to edit some template or the code generator. 5991 // instead of having to edit some template or the code generator.
5976 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" 5992 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h"
5977 5993
5978 } // namespace gles2 5994 } // namespace gles2
5979 } // namespace gpu 5995 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698