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

Unified Diff: ui/gl/gl_image_memory.cc

Issue 806653006: Update GPU memory buffers to use StrideInBytes internally. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use CheckedNumeric Created 5 years, 11 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
Index: ui/gl/gl_image_memory.cc
diff --git a/ui/gl/gl_image_memory.cc b/ui/gl/gl_image_memory.cc
index 0a67e000665b6a5806a0f935f61e02faaf540a15..3879d30a641691ab51955900c508bbc152a32d73 100644
--- a/ui/gl/gl_image_memory.cc
+++ b/ui/gl/gl_image_memory.cc
@@ -100,18 +100,25 @@ GLImageMemory::~GLImageMemory() {
}
// static
-size_t GLImageMemory::BytesPerPixel(gfx::GpuMemoryBuffer::Format format) {
+bool GLImageMemory::StrideInBytes(size_t width,
+ gfx::GpuMemoryBuffer::Format format,
+ size_t* stride_in_bytes) {
+ base::CheckedNumeric<size_t> w = width;
reveman 2015/01/13 16:04:40 nit: s/w/s/ for stride?
switch (format) {
case gfx::GpuMemoryBuffer::RGBA_8888:
case gfx::GpuMemoryBuffer::BGRA_8888:
- return 4;
+ w *= 4;
+ break;
case gfx::GpuMemoryBuffer::RGBX_8888:
NOTREACHED();
- return 0;
+ return false;
}
- NOTREACHED();
- return 0;
+ if (!w.IsValid())
+ return false;
+
+ *stride_in_bytes = w.ValueOrDie();
+ return true;
reveman 2015/01/13 16:04:40 nit: would be nice to have a NOTREACHED check here
}
bool GLImageMemory::Initialize(const unsigned char* memory,

Powered by Google App Engine
This is Rietveld 408576698