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

Side by Side Diff: ui/gl/gl_image_glx.cc

Issue 2449993005: Remove GLImage::Destroy(). (Closed)
Patch Set: One more Destroy() call on Mac. Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « ui/gl/gl_image_glx.h ('k') | ui/gl/gl_image_io_surface.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 extern "C" { 5 extern "C" {
6 #include <X11/Xlib.h> 6 #include <X11/Xlib.h>
7 } 7 }
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 97
98 return size; 98 return size;
99 } 99 }
100 100
101 } // namespace 101 } // namespace
102 102
103 GLImageGLX::GLImageGLX(const gfx::Size& size, unsigned internalformat) 103 GLImageGLX::GLImageGLX(const gfx::Size& size, unsigned internalformat)
104 : glx_pixmap_(0), size_(size), internalformat_(internalformat) {} 104 : glx_pixmap_(0), size_(size), internalformat_(internalformat) {}
105 105
106 GLImageGLX::~GLImageGLX() { 106 GLImageGLX::~GLImageGLX() {
107 DCHECK_EQ(0u, glx_pixmap_); 107 if (glx_pixmap_)
108 glXDestroyGLXPixmap(gfx::GetXDisplay(), glx_pixmap_);
108 } 109 }
109 110
110 bool GLImageGLX::Initialize(XID pixmap) { 111 bool GLImageGLX::Initialize(XID pixmap) {
111 if (!GLSurfaceGLX::IsTextureFromPixmapSupported()) { 112 if (!GLSurfaceGLX::IsTextureFromPixmapSupported()) {
112 DVLOG(0) << "GLX_EXT_texture_from_pixmap not supported."; 113 DVLOG(0) << "GLX_EXT_texture_from_pixmap not supported.";
113 return false; 114 return false;
114 } 115 }
115 116
116 if (!ValidFormat(internalformat_)) { 117 if (!ValidFormat(internalformat_)) {
117 DVLOG(0) << "Invalid format: " << internalformat_; 118 DVLOG(0) << "Invalid format: " << internalformat_;
(...skipping 27 matching lines...) Expand all
145 glx_pixmap_ = glXCreatePixmap(gfx::GetXDisplay(), *config.get(), pixmap, 146 glx_pixmap_ = glXCreatePixmap(gfx::GetXDisplay(), *config.get(), pixmap,
146 pixmap_attribs); 147 pixmap_attribs);
147 if (!glx_pixmap_) { 148 if (!glx_pixmap_) {
148 DVLOG(0) << "glXCreatePixmap failed."; 149 DVLOG(0) << "glXCreatePixmap failed.";
149 return false; 150 return false;
150 } 151 }
151 152
152 return true; 153 return true;
153 } 154 }
154 155
155 void GLImageGLX::Destroy(bool have_context) {
156 if (glx_pixmap_) {
157 glXDestroyGLXPixmap(gfx::GetXDisplay(), glx_pixmap_);
158 glx_pixmap_ = 0;
159 }
160 }
161
162 gfx::Size GLImageGLX::GetSize() { 156 gfx::Size GLImageGLX::GetSize() {
163 return size_; 157 return size_;
164 } 158 }
165 159
166 unsigned GLImageGLX::GetInternalFormat() { return internalformat_; } 160 unsigned GLImageGLX::GetInternalFormat() { return internalformat_; }
167 161
168 bool GLImageGLX::BindTexImage(unsigned target) { 162 bool GLImageGLX::BindTexImage(unsigned target) {
169 if (!glx_pixmap_) 163 if (!glx_pixmap_)
170 return false; 164 return false;
171 165
(...skipping 30 matching lines...) Expand all
202 return false; 196 return false;
203 } 197 }
204 198
205 void GLImageGLX::OnMemoryDump(base::trace_event::ProcessMemoryDump* pmd, 199 void GLImageGLX::OnMemoryDump(base::trace_event::ProcessMemoryDump* pmd,
206 uint64_t process_tracing_id, 200 uint64_t process_tracing_id,
207 const std::string& dump_name) { 201 const std::string& dump_name) {
208 // TODO(ericrk): Implement GLImage OnMemoryDump. crbug.com/514914 202 // TODO(ericrk): Implement GLImage OnMemoryDump. crbug.com/514914
209 } 203 }
210 204
211 } // namespace gl 205 } // namespace gl
OLDNEW
« no previous file with comments | « ui/gl/gl_image_glx.h ('k') | ui/gl/gl_image_io_surface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698