Index: ui/gl/gl_image_memory.h |
diff --git a/ui/gl/gl_image_memory.h b/ui/gl/gl_image_memory.h |
index 4f1fe045920bdb68769b4b31057237e6c9f0cf7b..10b1a3bc60b911ff5d51d4f4ed72569676961368 100644 |
--- a/ui/gl/gl_image_memory.h |
+++ b/ui/gl/gl_image_memory.h |
@@ -7,8 +7,14 @@ |
#include "ui/gl/gl_image.h" |
+#if defined(OS_WIN) || defined(USE_X11) || defined(OS_ANDROID) || \ |
+ defined(USE_OZONE) |
+#include <EGL/egl.h> |
+#include <EGL/eglext.h> |
+#endif |
+ |
#include "base/numerics/safe_math.h" |
-#include "ui/gfx/buffer_types.h" |
+#include "ui/gfx/gpu_memory_buffer.h" |
namespace gfx { |
@@ -28,15 +34,24 @@ |
unsigned GetInternalFormat() override; |
bool BindTexImage(unsigned target) override; |
void ReleaseTexImage(unsigned target) override {} |
- bool CopyTexImage(unsigned target) override; |
bool CopyTexSubImage(unsigned target, |
const Point& offset, |
const Rect& rect) override; |
+ void WillUseTexImage() override; |
+ void DidUseTexImage() override; |
+ void WillModifyTexImage() override {} |
+ void DidModifyTexImage() override {} |
bool ScheduleOverlayPlane(AcceleratedWidget widget, |
int z_order, |
OverlayTransform transform, |
const Rect& bounds_rect, |
const RectF& crop_rect) override; |
+ |
+ // Only dumps the GLTexture portion of the memory usage. Subclasses are |
+ // responsible for dumping the CPU-side memory. |
+ void OnMemoryDump(base::trace_event::ProcessMemoryDump* pmd, |
+ uint64_t process_tracing_id, |
+ const std::string& dump_name) override; |
protected: |
~GLImageMemory() override; |
@@ -44,10 +59,20 @@ |
BufferFormat format() const { return format_; } |
private: |
+ void DoBindTexImage(unsigned target); |
+ |
const Size size_; |
const unsigned internalformat_; |
const unsigned char* memory_; |
BufferFormat format_; |
+ bool in_use_; |
+ unsigned target_; |
+ bool need_do_bind_tex_image_; |
+#if defined(OS_WIN) || defined(USE_X11) || defined(OS_ANDROID) || \ |
+ defined(USE_OZONE) |
+ unsigned egl_texture_id_; |
+ EGLImageKHR egl_image_; |
+#endif |
DISALLOW_COPY_AND_ASSIGN(GLImageMemory); |
}; |