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

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

Issue 200127: Made gyp file for command buffer libraries.... (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/texture_cb.h ('k') | core/win/d3d9/utils_d3d9.h » ('j') | 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 25949)
+++ core/cross/command_buffer/texture_cb.cc (working copy)
@@ -106,13 +106,20 @@
unsigned int dst_pitch) {
const uint8* src = static_cast<const uint8*>(src_data);
uint8* dst = static_cast<uint8*>(dst_buffer);
- size_t bytes_per_line = image::ComputePitch(format, src_width);
- for (unsigned yy = 0; yy < src_height; ++yy) {
- memcpy(dst, src, bytes_per_line);
+
+ size_t bytes_per_row = image::ComputePitch(format, src_width);
+ unsigned num_rows = src_height;
+ if (Texture::IsCompressedFormat(format)) {
+ num_rows = (num_rows + 3) / 4;
+ }
+
+ for (unsigned yy = 0; yy < num_rows; ++yy) {
+ memcpy(dst, src, bytes_per_row);
src += src_pitch;
dst += dst_pitch;
}
}
+
// Sends the SET_TEXTURE_DATA command after formatting the args properly.
void SetTextureData(RendererCB *renderer,
ResourceID texture_id,
@@ -402,7 +409,7 @@
DCHECK_EQ(backing_bitmap_->width(), width());
DCHECK_EQ(backing_bitmap_->height(), height());
DCHECK_EQ(backing_bitmap_->format(), format());
- DCHECK_GT(backing_bitmap_->num_mipmaps(), level);
+ DCHECK_GT(backing_bitmap_->num_mipmaps(), static_cast<unsigned int>(level));
CopyBackResourceToBitmap(renderer_, resource_id_, level,
TextureCUBE::FACE_POSITIVE_X,
*backing_bitmap_.Get());
@@ -421,7 +428,7 @@
DCHECK_EQ(backing_bitmap_->width(), width());
DCHECK_EQ(backing_bitmap_->height(), height());
DCHECK_EQ(backing_bitmap_->format(), format());
- DCHECK_GT(backing_bitmap_->num_mipmaps(), level);
+ DCHECK_GT(backing_bitmap_->num_mipmaps(), static_cast<unsigned int>(level));
if (LockedMode(level) != kReadOnly) {
UpdateResourceFromBitmap(renderer_, resource_id_, level,
TextureCUBE::FACE_POSITIVE_X,
@@ -634,7 +641,7 @@
DCHECK_EQ(backing_bitmap->width(), edge_length());
DCHECK_EQ(backing_bitmap->height(), edge_length());
DCHECK_EQ(backing_bitmap->format(), format());
- DCHECK_GT(backing_bitmap->num_mipmaps(), level);
+ DCHECK_GT(backing_bitmap->num_mipmaps(), static_cast<unsigned int>(level));
CopyBackResourceToBitmap(renderer_, resource_id_, level,
TextureCUBE::FACE_POSITIVE_X, *backing_bitmap);
has_levels_[face] |= 1 << level;
@@ -652,7 +659,7 @@
DCHECK_EQ(backing_bitmap->width(), edge_length());
DCHECK_EQ(backing_bitmap->height(), edge_length());
DCHECK_EQ(backing_bitmap->format(), format());
- DCHECK_GT(backing_bitmap->num_mipmaps(), level);
+ DCHECK_GT(backing_bitmap->num_mipmaps(), static_cast<unsigned int>(level));
if (LockedMode(face, level) != kReadOnly) {
UpdateResourceFromBitmap(renderer_, resource_id_, level, face,
« no previous file with comments | « core/cross/command_buffer/texture_cb.h ('k') | core/win/d3d9/utils_d3d9.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698