| Index: gpu/command_buffer/common/gles2_cmd_format.h
|
| diff --git a/gpu/command_buffer/common/gles2_cmd_format.h b/gpu/command_buffer/common/gles2_cmd_format.h
|
| index 252aafd06cf800695b969d1518bb344dcdacfe05..1c2534b18c27a1364bfa1798efd1678bb6f061a0 100644
|
| --- a/gpu/command_buffer/common/gles2_cmd_format.h
|
| +++ b/gpu/command_buffer/common/gles2_cmd_format.h
|
| @@ -12,6 +12,7 @@
|
|
|
| #include <string.h>
|
|
|
| +#include "base/atomicops.h"
|
| #include "gpu/command_buffer/common/bitfield_helpers.h"
|
| #include "gpu/command_buffer/common/cmd_buffer_common.h"
|
| #include "gpu/command_buffer/common/gles2_cmd_ids.h"
|
| @@ -150,6 +151,25 @@ struct QuerySync {
|
| uint64 result;
|
| };
|
|
|
| +struct AsyncUploadSync {
|
| + void Reset() {
|
| + base::subtle::Release_Store(&async_upload_token, 0);
|
| + }
|
| +
|
| + void SetAsyncUploadToken(uint32 token) {
|
| + DCHECK_NE(token, 0u);
|
| + base::subtle::Release_Store(&async_upload_token, token);
|
| + }
|
| +
|
| + bool HasAsyncUploadTokenPassed(uint32 token) {
|
| + DCHECK_NE(token, 0u);
|
| + uint32_t current_token = base::subtle::Acquire_Load(&async_upload_token);
|
| + return (current_token - token < 0x80000000);
|
| + }
|
| +
|
| + base::subtle::Atomic32 async_upload_token;
|
| +};
|
| +
|
| COMPILE_ASSERT(sizeof(ProgramInput) == 20, ProgramInput_size_not_20);
|
| COMPILE_ASSERT(offsetof(ProgramInput, type) == 0,
|
| OffsetOf_ProgramInput_type_not_0);
|
|
|