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

Unified Diff: core/cross/command_buffer/texture_cb.cc

Issue 212018: Change command buffer client code to use structures.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: '' Created 11 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
« no previous file with comments | « core/cross/command_buffer/stream_bank_cb.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/cross/command_buffer/texture_cb.cc
===================================================================
--- core/cross/command_buffer/texture_cb.cc (revision 26638)
+++ core/cross/command_buffer/texture_cb.cc (working copy)
@@ -120,7 +120,7 @@
}
}
-// Sends the SET_TEXTURE_DATA command after formatting the args properly.
+// Sends the SetTextureData command after formatting the args properly.
void SetTextureData(RendererCB *renderer,
ResourceID texture_id,
unsigned int x,
@@ -136,27 +136,16 @@
unsigned char* mip_data) {
FencedAllocatorWrapper *allocator = renderer->allocator();
CommandBufferHelper *helper = renderer->helper();
-
- CommandBufferEntry args[10];
- args[0].value_uint32 = texture_id;
- args[1].value_uint32 =
- set_texture_data_cmd::X::MakeValue(x) |
- set_texture_data_cmd::Y::MakeValue(y);
- args[2].value_uint32 =
- set_texture_data_cmd::Width::MakeValue(mip_width) |
- set_texture_data_cmd::Height::MakeValue(mip_height);
- args[3].value_uint32 =
- set_texture_data_cmd::Z::MakeValue(z) |
- set_texture_data_cmd::Depth::MakeValue(depth);
- args[4].value_uint32 =
- set_texture_data_cmd::Level::MakeValue(level) |
- set_texture_data_cmd::Face::MakeValue(face);
- args[5].value_uint32 = pitch;
- args[6].value_uint32 = 0; // slice_pitch
- args[7].value_uint32 = mip_size;
- args[8].value_uint32 = renderer->transfer_shm_id();
- args[9].value_uint32 = allocator->GetOffset(mip_data);
- helper->AddCommand(command_buffer::SET_TEXTURE_DATA, 10, args);
+ helper->SetTextureData(
+ texture_id,
+ x, y, z,
+ mip_width, mip_height, depth,
+ level, face,
+ pitch,
+ 0, // slice_pitch
+ mip_size,
+ renderer->transfer_shm_id(),
+ allocator->GetOffset(mip_data));
allocator->FreePendingToken(mip_data, helper->InsertToken());
}
// Updates a command buffer texture resource from a bitmap, rescaling if
@@ -213,26 +202,21 @@
size_t pitch = image::ComputeBufferSize(mip_width, 1, bitmap.format());
- CommandBufferEntry args[10];
- args[0].value_uint32 = texture_id;
- args[1].value_uint32 =
- get_texture_data_cmd::X::MakeValue(0) |
- get_texture_data_cmd::Y::MakeValue(0);
- args[2].value_uint32 =
- get_texture_data_cmd::Width::MakeValue(mip_width) |
- get_texture_data_cmd::Height::MakeValue(mip_height);
- args[3].value_uint32 =
- get_texture_data_cmd::Z::MakeValue(0) |
- get_texture_data_cmd::Depth::MakeValue(1);
- args[4].value_uint32 =
- get_texture_data_cmd::Level::MakeValue(level) |
- get_texture_data_cmd::Face::MakeValue(face);
- args[5].value_uint32 = pitch;
- args[6].value_uint32 = 0; // slice_pitch
- args[7].value_uint32 = mip_size;
- args[8].value_uint32 = renderer->transfer_shm_id();
- args[9].value_uint32 = allocator->GetOffset(buffer);
- helper->AddCommand(command_buffer::GET_TEXTURE_DATA, 10, args);
+ helper->GetTextureData(
+ texture_id,
+ 0,
+ 0,
+ 0,
+ mip_width,
+ mip_height,
+ 1,
+ level,
+ face,
+ pitch,
+ 0,
+ mip_size,
+ renderer->transfer_shm_id(),
+ allocator->GetOffset(buffer));
helper->Finish();
memcpy(bitmap.GetMipData(level), buffer, mip_size);
allocator->Free(buffer);
@@ -272,9 +256,7 @@
Texture2DCB::~Texture2DCB() {
if (resource_id_ != command_buffer::kInvalidResource) {
- CommandBufferEntry args[1];
- args[0].value_uint32 = resource_id_;
- renderer_->helper()->AddCommand(command_buffer::DESTROY_TEXTURE, 1, args);
+ renderer_->helper()->DestroyTexture(resource_id_);
}
}
@@ -301,16 +283,10 @@
}
ResourceID texture_id = renderer->texture_ids().AllocateID();
- CommandBufferEntry args[3];
- args[0].value_uint32 = texture_id;
- args[1].value_uint32 =
- create_texture_2d_cmd::Width::MakeValue(width) |
- create_texture_2d_cmd::Height::MakeValue(height);
- args[2].value_uint32 =
- create_texture_2d_cmd::Levels::MakeValue(levels) |
- create_texture_2d_cmd::Format::MakeValue(cb_format) |
- create_texture_2d_cmd::Flags::MakeValue(enable_render_surfaces);
- renderer->helper()->AddCommand(command_buffer::CREATE_TEXTURE_2D, 3, args);
+ renderer->helper()->CreateTexture2d(
+ texture_id,
+ width, height,
+ levels, cb_format, enable_render_surfaces);
Texture2DCB *texture = new Texture2DCB(service_locator, texture_id,
format, levels, width, height,
@@ -496,9 +472,7 @@
TextureCUBECB::~TextureCUBECB() {
if (resource_id_ != command_buffer::kInvalidResource) {
- CommandBufferEntry args[1];
- args[0].value_uint32 = resource_id_;
- renderer_->helper()->AddCommand(command_buffer::DESTROY_TEXTURE, 1, args);
+ renderer_->helper()->DestroyTexture(resource_id_);
}
}
@@ -524,14 +498,10 @@
}
ResourceID texture_id = renderer->texture_ids().AllocateID();
- CommandBufferEntry args[3];
- args[0].value_uint32 = texture_id;
- args[1].value_uint32 = create_texture_cube_cmd::Side::MakeValue(edge_length);
- args[2].value_uint32 =
- create_texture_cube_cmd::Levels::MakeValue(levels) |
- create_texture_cube_cmd::Format::MakeValue(cb_format) |
- create_texture_cube_cmd::Flags::MakeValue(enable_render_surfaces);
- renderer->helper()->AddCommand(command_buffer::CREATE_TEXTURE_CUBE, 3, args);
+ renderer->helper()->CreateTextureCube(
+ texture_id,
+ edge_length,
+ levels, cb_format, enable_render_surfaces);
TextureCUBECB* texture =
new TextureCUBECB(service_locator, texture_id, format, levels,
« no previous file with comments | « core/cross/command_buffer/stream_bank_cb.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698