Index: core/cross/command_buffer/buffer_cb.cc |
=================================================================== |
--- core/cross/command_buffer/buffer_cb.cc (revision 26638) |
+++ core/cross/command_buffer/buffer_cb.cc (working copy) |
@@ -56,29 +56,23 @@ |
ConcreteFree(); |
} |
-// Sends the DESTROY_VERTEX_BUFFER command, and frees the ID from the allocator. |
+// Sends the DestroyVertexBuffer command, and frees the ID from the allocator. |
void VertexBufferCB::ConcreteFree() { |
if (resource_id_ != command_buffer::kInvalidResource) { |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[1]; |
- args[0].value_uint32 = resource_id_; |
- helper->AddCommand(command_buffer::DESTROY_VERTEX_BUFFER, 1, args); |
+ helper->DestroyVertexBuffer(resource_id_); |
renderer_->vertex_buffer_ids().FreeID(resource_id_); |
resource_id_ = command_buffer::kInvalidResource; |
} |
} |
-// Allocates a resource ID, and sends the CREATE_VERTEX_BUFFER command. |
+// Allocates a resource ID, and sends the CreateVertexBuffer command. |
bool VertexBufferCB::ConcreteAllocate(size_t size_in_bytes) { |
ConcreteFree(); |
if (size_in_bytes > 0) { |
resource_id_ = renderer_->vertex_buffer_ids().AllocateID(); |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[3]; |
- args[0].value_uint32 = resource_id_; |
- args[1].value_uint32 = size_in_bytes; |
- args[2].value_uint32 = 0; // no flags. |
- helper->AddCommand(command_buffer::CREATE_VERTEX_BUFFER, 3, args); |
+ helper->CreateVertexBuffer(resource_id_, size_in_bytes, 0); |
has_data_ = false; |
} |
return true; |
@@ -86,7 +80,7 @@ |
// Allocates the locked region into the transfer shared memory area. If the |
// buffer resource contains data, copies it back (by sending the |
-// GET_VERTEX_BUFFER_DATA command). |
+// GetVertexBufferData command). |
bool VertexBufferCB::ConcreteLock(AccessMode access_mode, void **buffer_data) { |
*buffer_data = NULL; |
if (GetSizeInBytes() == 0 || lock_pointer_) |
@@ -95,32 +89,27 @@ |
if (!lock_pointer_) return false; |
if (has_data_) { |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[5]; |
- args[0].value_uint32 = resource_id_; |
- args[1].value_uint32 = 0; |
- args[2].value_uint32 = GetSizeInBytes(); |
- args[3].value_uint32 = renderer_->transfer_shm_id(); |
- args[4].value_uint32 = renderer_->allocator()->GetOffset(lock_pointer_); |
- helper->AddCommand(command_buffer::GET_VERTEX_BUFFER_DATA, 5, args); |
+ helper->GetVertexBufferData( |
+ resource_id_, 0, GetSizeInBytes(), |
+ renderer_->transfer_shm_id(), |
+ renderer_->allocator()->GetOffset(lock_pointer_)); |
helper->Finish(); |
} |
*buffer_data = lock_pointer_; |
return true; |
} |
-// Copies the data into the resource by sending the SET_VERTEX_BUFFER_DATA |
+// Copies the data into the resource by sending the SetVertexBufferData |
// command, then frees the shared memory, pending the transfer completion. |
bool VertexBufferCB::ConcreteUnlock() { |
if (GetSizeInBytes() == 0 || !lock_pointer_) |
return false; |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[5]; |
- args[0].value_uint32 = resource_id_; |
- args[1].value_uint32 = 0; |
- args[2].value_uint32 = GetSizeInBytes(); |
- args[3].value_uint32 = renderer_->transfer_shm_id(); |
- args[4].value_uint32 = renderer_->allocator()->GetOffset(lock_pointer_); |
- helper->AddCommand(command_buffer::SET_VERTEX_BUFFER_DATA, 5, args); |
+ helper->SetVertexBufferData( |
+ resource_id_, 0, GetSizeInBytes(), |
+ renderer_->transfer_shm_id(), |
+ renderer_->allocator()->GetOffset(lock_pointer_)); |
+ |
renderer_->allocator()->FreePendingToken(lock_pointer_, |
helper->InsertToken()); |
lock_pointer_ = NULL; |
@@ -142,29 +131,25 @@ |
ConcreteFree(); |
} |
-// Sends the DESTROY_INDEX_BUFFER command, and frees the ID from the allocator. |
+// Sends the DestroyIndexBuffer command, and frees the ID from the allocator. |
void IndexBufferCB::ConcreteFree() { |
if (resource_id_ != command_buffer::kInvalidResource) { |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[1]; |
- args[0].value_uint32 = resource_id_; |
- helper->AddCommand(command_buffer::DESTROY_INDEX_BUFFER, 1, args); |
+ helper->DestroyIndexBuffer(resource_id_); |
renderer_->index_buffer_ids().FreeID(resource_id_); |
resource_id_ = command_buffer::kInvalidResource; |
} |
} |
-// Allocates a resource ID, and sends the CREATE_INDEX_BUFFER command. |
+// Allocates a resource ID, and sends the CreateIndexBuffer command. |
bool IndexBufferCB::ConcreteAllocate(size_t size_in_bytes) { |
ConcreteFree(); |
if (size_in_bytes > 0) { |
resource_id_ = renderer_->index_buffer_ids().AllocateID(); |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[3]; |
- args[0].value_uint32 = resource_id_; |
- args[1].value_uint32 = size_in_bytes; |
- args[2].value_uint32 = command_buffer::index_buffer::INDEX_32BIT; |
- helper->AddCommand(command_buffer::CREATE_INDEX_BUFFER, 3, args); |
+ helper->CreateIndexBuffer( |
+ resource_id_, size_in_bytes, |
+ command_buffer::index_buffer::INDEX_32BIT); |
has_data_ = false; |
} |
return true; |
@@ -172,7 +157,7 @@ |
// Allocates the locked region into the transfer shared memory area. If the |
// buffer resource contains data, copies it back (by sending the |
-// GET_INDEX_BUFFER_DATA command). |
+// GetIndexBufferData command). |
bool IndexBufferCB::ConcreteLock(AccessMode access_mode, void **buffer_data) { |
*buffer_data = NULL; |
if (GetSizeInBytes() == 0 || lock_pointer_) |
@@ -181,32 +166,26 @@ |
if (!lock_pointer_) return false; |
if (has_data_) { |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[5]; |
- args[0].value_uint32 = resource_id_; |
- args[1].value_uint32 = 0; |
- args[2].value_uint32 = GetSizeInBytes(); |
- args[3].value_uint32 = renderer_->transfer_shm_id(); |
- args[4].value_uint32 = renderer_->allocator()->GetOffset(lock_pointer_); |
- helper->AddCommand(command_buffer::GET_INDEX_BUFFER_DATA, 5, args); |
+ helper->GetIndexBufferData( |
+ resource_id_, 0, GetSizeInBytes(), |
+ renderer_->transfer_shm_id(), |
+ renderer_->allocator()->GetOffset(lock_pointer_)); |
helper->Finish(); |
} |
*buffer_data = lock_pointer_; |
return true; |
} |
-// Copies the data into the resource by sending the SET_INDEX_BUFFER_DATA |
+// Copies the data into the resource by sending the SetIndexBufferData |
// command, then frees the shared memory, pending the transfer completion. |
bool IndexBufferCB::ConcreteUnlock() { |
if (GetSizeInBytes() == 0 || !lock_pointer_) |
return false; |
CommandBufferHelper *helper = renderer_->helper(); |
- CommandBufferEntry args[5]; |
- args[0].value_uint32 = resource_id_; |
- args[1].value_uint32 = 0; |
- args[2].value_uint32 = GetSizeInBytes(); |
- args[3].value_uint32 = renderer_->transfer_shm_id(); |
- args[4].value_uint32 = renderer_->allocator()->GetOffset(lock_pointer_); |
- helper->AddCommand(command_buffer::SET_INDEX_BUFFER_DATA, 5, args); |
+ helper->SetIndexBufferData( |
+ resource_id_, 0, GetSizeInBytes(), |
+ renderer_->transfer_shm_id(), |
+ renderer_->allocator()->GetOffset(lock_pointer_)); |
renderer_->allocator()->FreePendingToken(lock_pointer_, |
helper->InsertToken()); |
lock_pointer_ = NULL; |