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

Unified Diff: gpu/command_buffer/common/gles2_cmd_format_autogen.h

Issue 1331843005: Implemented new fence syncs which replaces the old sync points. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reverted mojo readme, changed wait() to take a pointer Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/common/gles2_cmd_format_autogen.h
diff --git a/gpu/command_buffer/common/gles2_cmd_format_autogen.h b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
index 3f288cb3ebd45f1e2df76470057a9a3d52ea21a1..7dea6b589e2b25f47cd50f9e0fade5e030d959d3 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
@@ -13468,6 +13468,124 @@ static_assert(offsetof(WaitSyncPointCHROMIUM, header) == 0,
static_assert(offsetof(WaitSyncPointCHROMIUM, sync_point) == 4,
"offset of WaitSyncPointCHROMIUM sync_point should be 4");
+struct InsertFenceSyncCHROMIUM {
+ typedef InsertFenceSyncCHROMIUM ValueType;
+ static const CommandId kCmdId = kInsertFenceSyncCHROMIUM;
+ static const cmd::ArgFlags kArgFlags = cmd::kFixed;
+ static const uint8 cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(1);
+
+ static uint32_t ComputeSize() {
+ return static_cast<uint32_t>(sizeof(ValueType)); // NOLINT
+ }
+
+ void SetHeader() { header.SetCmd<ValueType>(); }
+
+ void Init(GLuint64 _release_count) {
+ SetHeader();
+ release_count = _release_count;
+ }
+
+ void* Set(void* cmd, GLuint64 _release_count) {
+ static_cast<ValueType*>(cmd)->Init(_release_count);
+ return NextCmdAddress<ValueType>(cmd);
+ }
+
+ gpu::CommandHeader header;
+ uint32_t release_count;
+};
+
+static_assert(sizeof(InsertFenceSyncCHROMIUM) == 8,
+ "size of InsertFenceSyncCHROMIUM should be 8");
+static_assert(offsetof(InsertFenceSyncCHROMIUM, header) == 0,
+ "offset of InsertFenceSyncCHROMIUM header should be 0");
+static_assert(offsetof(InsertFenceSyncCHROMIUM, release_count) == 4,
+ "offset of InsertFenceSyncCHROMIUM release_count should be 4");
+
+struct GenSyncTokenCHROMIUMImmediate {
+ typedef GenSyncTokenCHROMIUMImmediate ValueType;
+ static const CommandId kCmdId = kGenSyncTokenCHROMIUMImmediate;
+ static const cmd::ArgFlags kArgFlags = cmd::kAtLeastN;
+ static const uint8 cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(3);
+
+ static uint32_t ComputeSize(uint32_t size_in_bytes) {
+ return static_cast<uint32_t>(sizeof(ValueType) + // NOLINT
+ RoundSizeToMultipleOfEntries(size_in_bytes));
+ }
+
+ void SetHeader(uint32_t size_in_bytes) {
+ header.SetCmdByTotalSize<ValueType>(size_in_bytes);
+ }
+
+ void Init(GLuint64 _fence_sync) {
+ uint32_t total_size = 0; // TODO(gman): get correct size.
+ SetHeader(total_size);
+ fence_sync = _fence_sync;
+ }
+
+ void* Set(void* cmd, GLuint64 _fence_sync) {
+ uint32_t total_size = 0; // TODO(gman): get correct size.
+ static_cast<ValueType*>(cmd)->Init(_fence_sync);
+ return NextImmediateCmdAddressTotalSize<ValueType>(cmd, total_size);
+ }
+
+ gpu::CommandHeader header;
+ uint32_t fence_sync;
+};
+
+static_assert(sizeof(GenSyncTokenCHROMIUMImmediate) == 8,
+ "size of GenSyncTokenCHROMIUMImmediate should be 8");
+static_assert(offsetof(GenSyncTokenCHROMIUMImmediate, header) == 0,
+ "offset of GenSyncTokenCHROMIUMImmediate header should be 0");
+static_assert(offsetof(GenSyncTokenCHROMIUMImmediate, fence_sync) == 4,
+ "offset of GenSyncTokenCHROMIUMImmediate fence_sync should be 4");
+
+struct WaitSyncTokenCHROMIUM {
+ typedef WaitSyncTokenCHROMIUM ValueType;
+ static const CommandId kCmdId = kWaitSyncTokenCHROMIUM;
+ static const cmd::ArgFlags kArgFlags = cmd::kFixed;
+ static const uint8 cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(3);
+
+ static uint32_t ComputeSize() {
+ return static_cast<uint32_t>(sizeof(ValueType)); // NOLINT
+ }
+
+ void SetHeader() { header.SetCmd<ValueType>(); }
+
+ void Init(GLuint _namespace_id,
+ GLuint64 _command_buffer_id,
+ GLuint64 _release_count) {
+ SetHeader();
+ namespace_id = _namespace_id;
+ command_buffer_id = _command_buffer_id;
+ release_count = _release_count;
+ }
+
+ void* Set(void* cmd,
+ GLuint _namespace_id,
+ GLuint64 _command_buffer_id,
+ GLuint64 _release_count) {
+ static_cast<ValueType*>(cmd)
+ ->Init(_namespace_id, _command_buffer_id, _release_count);
+ return NextCmdAddress<ValueType>(cmd);
+ }
+
+ gpu::CommandHeader header;
+ uint32_t namespace_id;
+ uint32_t command_buffer_id;
+ uint32_t release_count;
+};
+
+static_assert(sizeof(WaitSyncTokenCHROMIUM) == 16,
+ "size of WaitSyncTokenCHROMIUM should be 16");
+static_assert(offsetof(WaitSyncTokenCHROMIUM, header) == 0,
+ "offset of WaitSyncTokenCHROMIUM header should be 0");
+static_assert(offsetof(WaitSyncTokenCHROMIUM, namespace_id) == 4,
+ "offset of WaitSyncTokenCHROMIUM namespace_id should be 4");
+static_assert(offsetof(WaitSyncTokenCHROMIUM, command_buffer_id) == 8,
+ "offset of WaitSyncTokenCHROMIUM command_buffer_id should be 8");
+static_assert(offsetof(WaitSyncTokenCHROMIUM, release_count) == 12,
+ "offset of WaitSyncTokenCHROMIUM release_count should be 12");
+
struct DrawBuffersEXTImmediate {
typedef DrawBuffersEXTImmediate ValueType;
static const CommandId kCmdId = kDrawBuffersEXTImmediate;
« no previous file with comments | « gpu/command_buffer/common/gles2_cmd_format.h ('k') | gpu/command_buffer/common/gles2_cmd_format_test_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698