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

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

Issue 555129: Add commands Jump, Call and Return... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 11 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
« no previous file with comments | « gpu/command_buffer/client/cmd_buffer_helper_test.cc ('k') | gpu/command_buffer/service/cmd_buffer_engine.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/common/cmd_buffer_common.h
===================================================================
--- gpu/command_buffer/common/cmd_buffer_common.h (revision 37239)
+++ gpu/command_buffer/common/cmd_buffer_common.h (working copy)
@@ -38,8 +38,10 @@
Uint32 size:21;
Uint32 command:11;
- void Init(uint32 _command, uint32 _size) {
- DCHECK_LE(_size, 1u << 22);
+ static const int32 kMaxSize = (1 << 21) - 1;
+
+ void Init(uint32 _command, int32 _size) {
+ DCHECK_LE(_size, kMaxSize);
command = _command;
size = _size;
}
@@ -180,7 +182,8 @@
static const cmd::ArgFlags kArgFlags = cmd::kAtLeastN;
void SetHeader(uint32 skip_count) {
- header.Init(kCmdId, skip_count + 1);
+ DCHECK_GT(skip_count, 0u);
+ header.Init(kCmdId, skip_count);
}
void Init(uint32 skip_count) {
@@ -239,30 +242,25 @@
header.SetCmd<ValueType>();
}
- void Init(uint32 _shared_memory_id, uint32 _shared_memory_offset) {
+ void Init(uint32 _offset) {
SetHeader();
- shared_memory_id = _shared_memory_id;
- shared_memory_offset = _shared_memory_offset;
+ offset = _offset;
}
static void* Set(
- void* cmd, uint32 _shared_memory_id, uint32 _shared_memory_offset) {
- static_cast<ValueType*>(cmd)->Init(
- _shared_memory_id, _shared_memory_offset);
+ void* cmd, uint32 _offset) {
+ static_cast<ValueType*>(cmd)->Init(_offset);
return NextCmdAddress<ValueType>(cmd);
}
CommandHeader header;
- uint32 shared_memory_id;
- uint32 shared_memory_offset;
+ uint32 offset;
};
-COMPILE_ASSERT(sizeof(Jump) == 12, Sizeof_Jump_is_not_12);
+COMPILE_ASSERT(sizeof(Jump) == 8, Sizeof_Jump_is_not_8);
COMPILE_ASSERT(offsetof(Jump, header) == 0,
Offsetof_Jump_header_not_0);
-COMPILE_ASSERT(offsetof(Jump, shared_memory_id) == 4,
- Offsetof_Jump_shared_memory_id_not_4);
-COMPILE_ASSERT(offsetof(Jump, shared_memory_offset) == 8,
- Offsetof_Jump_shared_memory_offset_not_8);
+COMPILE_ASSERT(offsetof(Jump, offset) == 4,
+ Offsetof_Jump_offset_not_4);
// The JumpRelative command jumps to another place in the command buffer
// relative to the end of this command. In other words. JumpRelative with an
@@ -306,30 +304,24 @@
header.SetCmd<ValueType>();
}
- void Init(uint32 _shared_memory_id, uint32 _shared_memory_offset) {
+ void Init(uint32 _offset) {
SetHeader();
- shared_memory_id = _shared_memory_id;
- shared_memory_offset = _shared_memory_offset;
+ offset = _offset;
}
- static void* Set(
- void* cmd, uint32 _shared_memory_id, uint32 _shared_memory_offset) {
- static_cast<ValueType*>(cmd)->Init(
- _shared_memory_id, _shared_memory_offset);
+ static void* Set(void* cmd, uint32 _offset) {
+ static_cast<ValueType*>(cmd)->Init(_offset);
return NextCmdAddress<ValueType>(cmd);
}
CommandHeader header;
- uint32 shared_memory_id;
- uint32 shared_memory_offset;
+ uint32 offset;
};
-COMPILE_ASSERT(sizeof(Call) == 12, Sizeof_Call_is_not_12);
+COMPILE_ASSERT(sizeof(Call) == 8, Sizeof_Call_is_not_8);
COMPILE_ASSERT(offsetof(Call, header) == 0,
Offsetof_Call_header_not_0);
-COMPILE_ASSERT(offsetof(Call, shared_memory_id) == 4,
- Offsetof_Call_shared_memory_id_not_4);
-COMPILE_ASSERT(offsetof(Call, shared_memory_offset) == 8,
- Offsetof_Call_shared_memory_offset_not_8);
+COMPILE_ASSERT(offsetof(Call, offset) == 4,
+ Offsetof_Call_offset_not_4);
// The CallRelative command jumps to a subroutine using a relative offset. The
// offset is relative to the end of this command..
« no previous file with comments | « gpu/command_buffer/client/cmd_buffer_helper_test.cc ('k') | gpu/command_buffer/service/cmd_buffer_engine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698