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 16035 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16046 error::Error GLES2DecoderImpl::HandleInsertFenceSyncCHROMIUM( | 16046 error::Error GLES2DecoderImpl::HandleInsertFenceSyncCHROMIUM( |
16047 uint32_t immediate_data_size, | 16047 uint32_t immediate_data_size, |
16048 const volatile void* cmd_data) { | 16048 const volatile void* cmd_data) { |
16049 const volatile gles2::cmds::InsertFenceSyncCHROMIUM& c = | 16049 const volatile gles2::cmds::InsertFenceSyncCHROMIUM& c = |
16050 *static_cast<const volatile gles2::cmds::InsertFenceSyncCHROMIUM*>( | 16050 *static_cast<const volatile gles2::cmds::InsertFenceSyncCHROMIUM*>( |
16051 cmd_data); | 16051 cmd_data); |
16052 | 16052 |
16053 const uint64_t release_count = c.release_count(); | 16053 const uint64_t release_count = c.release_count(); |
16054 if (!fence_sync_release_callback_.is_null()) | 16054 if (!fence_sync_release_callback_.is_null()) |
16055 fence_sync_release_callback_.Run(release_count); | 16055 fence_sync_release_callback_.Run(release_count); |
| 16056 // Exit inner command processing loop so that we check the scheduling state |
| 16057 // and yield if necessary as we may have unblocked a higher priority context. |
| 16058 ExitCommandProcessingEarly(); |
16056 return error::kNoError; | 16059 return error::kNoError; |
16057 } | 16060 } |
16058 | 16061 |
16059 error::Error GLES2DecoderImpl::HandleWaitSyncTokenCHROMIUM( | 16062 error::Error GLES2DecoderImpl::HandleWaitSyncTokenCHROMIUM( |
16060 uint32_t immediate_data_size, | 16063 uint32_t immediate_data_size, |
16061 const volatile void* cmd_data) { | 16064 const volatile void* cmd_data) { |
16062 const volatile gles2::cmds::WaitSyncTokenCHROMIUM& c = | 16065 const volatile gles2::cmds::WaitSyncTokenCHROMIUM& c = |
16063 *static_cast<const volatile gles2::cmds::WaitSyncTokenCHROMIUM*>( | 16066 *static_cast<const volatile gles2::cmds::WaitSyncTokenCHROMIUM*>( |
16064 cmd_data); | 16067 cmd_data); |
16065 | 16068 |
(...skipping 3594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19660 } | 19663 } |
19661 | 19664 |
19662 // Include the auto-generated part of this file. We split this because it means | 19665 // Include the auto-generated part of this file. We split this because it means |
19663 // we can easily edit the non-auto generated parts right here in this file | 19666 // we can easily edit the non-auto generated parts right here in this file |
19664 // instead of having to edit some template or the code generator. | 19667 // instead of having to edit some template or the code generator. |
19665 #include "base/macros.h" | 19668 #include "base/macros.h" |
19666 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 19669 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |
19667 | 19670 |
19668 } // namespace gles2 | 19671 } // namespace gles2 |
19669 } // namespace gpu | 19672 } // namespace gpu |
OLD | NEW |