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

Side by Side Diff: gpu/command_buffer/service/texture_manager.h

Issue 15798014: Replace context parenting by sharing through mailboxes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
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 #ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
7 7
8 #include <list> 8 #include <list>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 bool CanRenderTo() const { 74 bool CanRenderTo() const {
75 return !stream_texture_ && target_ != GL_TEXTURE_EXTERNAL_OES; 75 return !stream_texture_ && target_ != GL_TEXTURE_EXTERNAL_OES;
76 } 76 }
77 77
78 // The service side OpenGL id of the texture. 78 // The service side OpenGL id of the texture.
79 GLuint service_id() const { 79 GLuint service_id() const {
80 return service_id_; 80 return service_id_;
81 } 81 }
82 82
83 void SetServiceId(GLuint service_id) { 83 void SetServiceId(GLuint service_id) {
84 DCHECK(service_id);
84 service_id_ = service_id; 85 service_id_ = service_id;
85 } 86 }
86 87
87 // Returns the target this texure was first bound to or 0 if it has not 88 // Returns the target this texure was first bound to or 0 if it has not
88 // been bound. Once a texture is bound to a specific target it can never be 89 // been bound. Once a texture is bound to a specific target it can never be
89 // bound to a different target. 90 // bound to a different target.
90 GLenum target() const { 91 GLenum target() const {
91 return target_; 92 return target_;
92 } 93 }
93 94
(...skipping 23 matching lines...) Expand all
117 GLint yoffset, 118 GLint yoffset,
118 GLsizei width, 119 GLsizei width,
119 GLsizei height, 120 GLsizei height,
120 GLenum format, 121 GLenum format,
121 GLenum type) const; 122 GLenum type) const;
122 123
123 bool IsValid() const { 124 bool IsValid() const {
124 return !!target(); 125 return !!target();
125 } 126 }
126 127
127 void SetNotOwned() {
128 owned_ = false;
129 }
130
131 bool IsAttachedToFramebuffer() const { 128 bool IsAttachedToFramebuffer() const {
132 return framebuffer_attachment_count_ != 0; 129 return framebuffer_attachment_count_ != 0;
133 } 130 }
134 131
135 void AttachToFramebuffer() { 132 void AttachToFramebuffer() {
136 ++framebuffer_attachment_count_; 133 ++framebuffer_attachment_count_;
137 } 134 }
138 135
139 void DetachFromFramebuffer() { 136 void DetachFromFramebuffer() {
140 DCHECK_GT(framebuffer_attachment_count_, 0); 137 DCHECK_GT(framebuffer_attachment_count_, 0);
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 358
362 // Whether or not this texture is non-power-of-two 359 // Whether or not this texture is non-power-of-two
363 bool npot_; 360 bool npot_;
364 361
365 // Whether this texture has ever been bound. 362 // Whether this texture has ever been bound.
366 bool has_been_bound_; 363 bool has_been_bound_;
367 364
368 // The number of framebuffers this texture is attached to. 365 // The number of framebuffers this texture is attached to.
369 int framebuffer_attachment_count_; 366 int framebuffer_attachment_count_;
370 367
371 // Whether the associated context group owns this texture and should delete
372 // it.
373 bool owned_;
374
375 // Whether this is a special streaming texture. 368 // Whether this is a special streaming texture.
376 bool stream_texture_; 369 bool stream_texture_;
377 370
378 // Whether the texture is immutable and no further changes to the format 371 // Whether the texture is immutable and no further changes to the format
379 // or dimensions of the texture object can be made. 372 // or dimensions of the texture object can be made.
380 bool immutable_; 373 bool immutable_;
381 374
382 // Size in bytes this texture is assumed to take in memory. 375 // Size in bytes this texture is assumed to take in memory.
383 uint32 estimated_size_; 376 uint32 estimated_size_;
384 377
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 702
710 ObserverList<DestructionObserver> destruction_observers_; 703 ObserverList<DestructionObserver> destruction_observers_;
711 704
712 DISALLOW_COPY_AND_ASSIGN(TextureManager); 705 DISALLOW_COPY_AND_ASSIGN(TextureManager);
713 }; 706 };
714 707
715 } // namespace gles2 708 } // namespace gles2
716 } // namespace gpu 709 } // namespace gpu
717 710
718 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_ 711 #endif // GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_mock.h ('k') | gpu/command_buffer/service/texture_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698