| 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,
 | 
| 
 |