Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 5f75f599fed356ce9ac1aa264ebdc8cf8d07b3a4..3651a90c5494e794652439e1b2b18b4e8a79b058 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -16030,6 +16030,9 @@ error::Error GLES2DecoderImpl::HandleInsertFenceSyncCHROMIUM( |
const uint64_t release_count = c.release_count(); |
if (!fence_sync_release_callback_.is_null()) |
fence_sync_release_callback_.Run(release_count); |
+ // Exit inner command processing loop so that we check the scheduling state |
+ // and yield if necessary as we may have unblocked a higher priority context. |
+ ExitCommandProcessingEarly(); |
return error::kNoError; |
} |