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

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: Some fixes Created 5 years, 3 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 69a0d5e3d377177d93a445abcf0c9249b64d44ac..19c500a39a89718494da1b63d51f3f3b3a42c912 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
@@ -13468,6 +13468,122 @@ 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(GLuint _release_count) {
+ SetHeader();
+ release_count = _release_count;
+ }
+
+ void* Set(void* cmd, GLuint _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(GLuint _fence_sync) {
+ uint32_t total_size = 0; // TODO(gman): get correct size.
+ SetHeader(total_size);
+ fence_sync = _fence_sync;
+ }
+
+ void* Set(void* cmd, GLuint _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(GLint _channel_id, GLuint _routing_id, GLuint _release_count) {
+ SetHeader();
+ channel_id = _channel_id;
+ routing_id = _routing_id;
+ release_count = _release_count;
+ }
+
+ void* Set(void* cmd,
+ GLint _channel_id,
+ GLuint _routing_id,
+ GLuint _release_count) {
+ static_cast<ValueType*>(cmd)
+ ->Init(_channel_id, _routing_id, _release_count);
+ return NextCmdAddress<ValueType>(cmd);
+ }
+
+ gpu::CommandHeader header;
+ int32_t channel_id;
+ uint32_t routing_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, channel_id) == 4,
+ "offset of WaitSyncTokenCHROMIUM channel_id should be 4");
+static_assert(offsetof(WaitSyncTokenCHROMIUM, routing_id) == 8,
+ "offset of WaitSyncTokenCHROMIUM routing_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;

Powered by Google App Engine
This is Rietveld 408576698