OLD | NEW |
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 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
6 | 6 |
7 #include <limits.h> | 7 #include <limits.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <stdio.h> | 10 #include <stdio.h> |
(...skipping 16012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16023 error::Error GLES2DecoderImpl::HandleInsertFenceSyncCHROMIUM( | 16023 error::Error GLES2DecoderImpl::HandleInsertFenceSyncCHROMIUM( |
16024 uint32_t immediate_data_size, | 16024 uint32_t immediate_data_size, |
16025 const volatile void* cmd_data) { | 16025 const volatile void* cmd_data) { |
16026 const volatile gles2::cmds::InsertFenceSyncCHROMIUM& c = | 16026 const volatile gles2::cmds::InsertFenceSyncCHROMIUM& c = |
16027 *static_cast<const volatile gles2::cmds::InsertFenceSyncCHROMIUM*>( | 16027 *static_cast<const volatile gles2::cmds::InsertFenceSyncCHROMIUM*>( |
16028 cmd_data); | 16028 cmd_data); |
16029 | 16029 |
16030 const uint64_t release_count = c.release_count(); | 16030 const uint64_t release_count = c.release_count(); |
16031 if (!fence_sync_release_callback_.is_null()) | 16031 if (!fence_sync_release_callback_.is_null()) |
16032 fence_sync_release_callback_.Run(release_count); | 16032 fence_sync_release_callback_.Run(release_count); |
| 16033 // Exit inner command processing loop so that we check the scheduling state |
| 16034 // and yield if necessary as we may have unblocked a higher priority context. |
| 16035 ExitCommandProcessingEarly(); |
16033 return error::kNoError; | 16036 return error::kNoError; |
16034 } | 16037 } |
16035 | 16038 |
16036 error::Error GLES2DecoderImpl::HandleWaitSyncTokenCHROMIUM( | 16039 error::Error GLES2DecoderImpl::HandleWaitSyncTokenCHROMIUM( |
16037 uint32_t immediate_data_size, | 16040 uint32_t immediate_data_size, |
16038 const volatile void* cmd_data) { | 16041 const volatile void* cmd_data) { |
16039 const volatile gles2::cmds::WaitSyncTokenCHROMIUM& c = | 16042 const volatile gles2::cmds::WaitSyncTokenCHROMIUM& c = |
16040 *static_cast<const volatile gles2::cmds::WaitSyncTokenCHROMIUM*>( | 16043 *static_cast<const volatile gles2::cmds::WaitSyncTokenCHROMIUM*>( |
16041 cmd_data); | 16044 cmd_data); |
16042 | 16045 |
(...skipping 3594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19637 } | 19640 } |
19638 | 19641 |
19639 // Include the auto-generated part of this file. We split this because it means | 19642 // Include the auto-generated part of this file. We split this because it means |
19640 // we can easily edit the non-auto generated parts right here in this file | 19643 // we can easily edit the non-auto generated parts right here in this file |
19641 // instead of having to edit some template or the code generator. | 19644 // instead of having to edit some template or the code generator. |
19642 #include "base/macros.h" | 19645 #include "base/macros.h" |
19643 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 19646 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |
19644 | 19647 |
19645 } // namespace gles2 | 19648 } // namespace gles2 |
19646 } // namespace gpu | 19649 } // namespace gpu |
OLD | NEW |