Chromium Code Reviews| Index: cc/resources/resource_provider.cc |
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc |
| index e58ed0b73b7c33c01b62ae654d8ec3bdf1664704..e1e66fafbb1a5ec6cc140bfd6fd7f89d6528336d 100644 |
| --- a/cc/resources/resource_provider.cc |
| +++ b/cc/resources/resource_provider.cc |
| @@ -2150,10 +2150,14 @@ uint8_t* ResourceProvider::MapImage(const Resource* resource, int* stride) { |
| DCHECK(resource->image_id); |
| GLES2Interface* gl = ContextGL(); |
| DCHECK(gl); |
| + // For SurfaceTexture-backed GpuMemoryBuffer, the actual |
| + // Stride can only be got after it is mapped and ANativeWindow_Buffer |
| + // is locked. |
|
reveman
2014/02/26 08:02:34
We should probably make this a general requirement
|
| + uint8_t* ret = static_cast<uint8_t*>( |
| + gl->MapImageCHROMIUM(resource->image_id, GL_READ_WRITE)); |
| gl->GetImageParameterivCHROMIUM( |
| resource->image_id, GL_IMAGE_ROWBYTES_CHROMIUM, stride); |
| - return static_cast<uint8_t*>( |
| - gl->MapImageCHROMIUM(resource->image_id, GL_READ_WRITE)); |
| + return ret; |
| } |
| DCHECK_EQ(Bitmap, resource->type); |
| *stride = 0; |