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

Unified Diff: content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc

Issue 263553009: content: Cleanup GpuMemoryBuffer allocation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: mac build fix Created 6 years, 7 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: content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
index 0f682a4ec3e25c2fb2f9e1b76e78260987b510bd..f6080506caadab0bfbdbb6aba88c7ee5a1289ec9 100644
--- a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
+++ b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
@@ -11,6 +11,18 @@
namespace content {
+GpuMemoryBufferImplSurfaceTexture::GpuMemoryBufferImplSurfaceTexture(
+ const gfx::Size& size,
+ unsigned internalformat)
+ : GpuMemoryBufferImpl(size, internalformat),
+ native_window_(NULL),
+ stride_(0u) {}
+
+GpuMemoryBufferImplSurfaceTexture::~GpuMemoryBufferImplSurfaceTexture() {
+ if (native_window_)
+ ANativeWindow_release(native_window_);
+}
+
// static
bool GpuMemoryBufferImplSurfaceTexture::IsFormatSupported(
unsigned internalformat) {
@@ -33,6 +45,13 @@ bool GpuMemoryBufferImplSurfaceTexture::IsUsageSupported(unsigned usage) {
}
// static
+bool GpuMemoryBufferImplSurfaceTexture::IsConfigurationSupported(
+ unsigned internalformat,
+ unsigned usage) {
+ return IsFormatSupported(internalformat) && IsUsageSupported(usage);
+}
+
+// static
int GpuMemoryBufferImplSurfaceTexture::WindowFormat(unsigned internalformat) {
switch (internalformat) {
case GL_RGBA8_OES:
@@ -43,22 +62,12 @@ int GpuMemoryBufferImplSurfaceTexture::WindowFormat(unsigned internalformat) {
}
}
-GpuMemoryBufferImplSurfaceTexture::GpuMemoryBufferImplSurfaceTexture(
- gfx::Size size,
- unsigned internalformat)
- : GpuMemoryBufferImpl(size, internalformat),
- native_window_(NULL),
- stride_(0u) {}
-
-GpuMemoryBufferImplSurfaceTexture::~GpuMemoryBufferImplSurfaceTexture() {
- if (native_window_)
- ANativeWindow_release(native_window_);
-}
-
-bool GpuMemoryBufferImplSurfaceTexture::Initialize(
+bool GpuMemoryBufferImplSurfaceTexture::InitializeFromHandle(
gfx::GpuMemoryBufferHandle handle) {
- TRACE_EVENT0("gpu", "GpuMemoryBufferImplSurfaceTexture::Initialize");
+ TRACE_EVENT0("gpu",
+ "GpuMemoryBufferImplSurfaceTexture::InitializeFromHandle");
+ DCHECK(IsFormatSupported(internalformat_));
DCHECK(!native_window_);
native_window_ = SurfaceTextureLookup::GetInstance()->AcquireNativeWidget(
handle.surface_texture_id.primary_id,

Powered by Google App Engine
This is Rietveld 408576698