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

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

Issue 7253052: Execute all GL commands up to the put offset reported by a flush. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "../client/gles2_implementation.h" 7 #include "../client/gles2_implementation.h"
8 #include <GLES2/gles2_command_buffer.h> 8 #include <GLES2/gles2_command_buffer.h>
9 #include "../client/mapped_memory.h" 9 #include "../client/mapped_memory.h"
10 #include "../common/gles2_cmd_utils.h" 10 #include "../common/gles2_cmd_utils.h"
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 GPU_CLIENT_LOG("[" << this << "] glSwapBuffers()"); 797 GPU_CLIENT_LOG("[" << this << "] glSwapBuffers()");
798 // TODO(piman): Strictly speaking we'd want to insert the token after the 798 // TODO(piman): Strictly speaking we'd want to insert the token after the
799 // swap, but the state update with the updated token might not have happened 799 // swap, but the state update with the updated token might not have happened
800 // by the time the SwapBuffer callback gets called, forcing us to synchronize 800 // by the time the SwapBuffer callback gets called, forcing us to synchronize
801 // with the GPU process more than needed. So instead, make it happen before. 801 // with the GPU process more than needed. So instead, make it happen before.
802 // All it means is that we could be slightly looser on the kMaxSwapBuffers 802 // All it means is that we could be slightly looser on the kMaxSwapBuffers
803 // semantics if the client doesn't use the callback mechanism, and by chance 803 // semantics if the client doesn't use the callback mechanism, and by chance
804 // the scheduler yields between the InsertToken and the SwapBuffers. 804 // the scheduler yields between the InsertToken and the SwapBuffers.
805 swap_buffers_tokens_.push(helper_->InsertToken()); 805 swap_buffers_tokens_.push(helper_->InsertToken());
806 helper_->SwapBuffers(); 806 helper_->SwapBuffers();
807 helper_->YieldScheduler();
808 helper_->CommandBufferHelper::Flush(); 807 helper_->CommandBufferHelper::Flush();
809 // Wait if we added too many swap buffers. 808 // Wait if we added too many swap buffers.
810 if (swap_buffers_tokens_.size() > kMaxSwapBuffers) { 809 if (swap_buffers_tokens_.size() > kMaxSwapBuffers) {
811 helper_->WaitForToken(swap_buffers_tokens_.front()); 810 helper_->WaitForToken(swap_buffers_tokens_.front());
812 swap_buffers_tokens_.pop(); 811 swap_buffers_tokens_.pop();
813 } 812 }
814 } 813 }
815 814
816 void GLES2Implementation::CopyTextureToParentTextureCHROMIUM( 815 void GLES2Implementation::CopyTextureToParentTextureCHROMIUM(
817 GLuint client_child_id, GLuint client_parent_id) { 816 GLuint client_child_id, GLuint client_parent_id) {
(...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after
2145 GPU_CLIENT_LOG(" returned"); 2144 GPU_CLIENT_LOG(" returned");
2146 GPU_CLIENT_LOG_CODE_BLOCK({ 2145 GPU_CLIENT_LOG_CODE_BLOCK({
2147 for (int i = 0; i < num_results; ++i) { 2146 for (int i = 0; i < num_results; ++i) {
2148 GPU_CLIENT_LOG(" " << i << ": " << (results[i])); 2147 GPU_CLIENT_LOG(" " << i << ": " << (results[i]));
2149 } 2148 }
2150 }); 2149 });
2151 } 2150 }
2152 2151
2153 } // namespace gles2 2152 } // namespace gles2
2154 } // namespace gpu 2153 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698