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

Unified Diff: gpu/command_buffer/service/renderbuffer_manager.h

Issue 12326146: Refactor/Rename a bunch of GPU stuff (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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: gpu/command_buffer/service/renderbuffer_manager.h
diff --git a/gpu/command_buffer/service/renderbuffer_manager.h b/gpu/command_buffer/service/renderbuffer_manager.h
index 7107493712685b62d14141a889e9ff4db680d321..cadf04a4ecb25ded38689cf2c732843145bcb1f5 100644
--- a/gpu/command_buffer/service/renderbuffer_manager.h
+++ b/gpu/command_buffer/service/renderbuffer_manager.h
@@ -17,117 +17,106 @@
namespace gpu {
namespace gles2 {
-// This class keeps track of the renderbuffers and whether or not they have
-// been cleared.
-class GPU_EXPORT RenderbufferManager {
+class RenderbufferManager;
+
+// Info about a Renderbuffer.
+class GPU_EXPORT Renderbuffer
+ : public base::RefCounted<Renderbuffer> {
public:
- // Info about Renderbuffers currently in the system.
- class GPU_EXPORT RenderbufferInfo
- : public base::RefCounted<RenderbufferInfo> {
- public:
- typedef scoped_refptr<RenderbufferInfo> Ref;
-
- RenderbufferInfo(RenderbufferManager* manager, GLuint service_id)
- : manager_(manager),
- deleted_(false),
- service_id_(service_id),
- cleared_(true),
- has_been_bound_(false),
- samples_(0),
- internal_format_(GL_RGBA4),
- width_(0),
- height_(0) {
- manager_->StartTracking(this);
- }
+ Renderbuffer(RenderbufferManager* manager, GLuint service_id);
- GLuint service_id() const {
- return service_id_;
- }
+ GLuint service_id() const {
+ return service_id_;
+ }
- bool cleared() const {
- return cleared_;
- }
+ bool cleared() const {
+ return cleared_;
+ }
- GLenum internal_format() const {
- return internal_format_;
- }
+ GLenum internal_format() const {
+ return internal_format_;
+ }
- GLsizei samples() const {
- return samples_;
- }
+ GLsizei samples() const {
+ return samples_;
+ }
- GLsizei width() const {
- return width_;
- }
+ GLsizei width() const {
+ return width_;
+ }
- GLsizei height() const {
- return height_;
- }
+ GLsizei height() const {
+ return height_;
+ }
- bool IsDeleted() const {
- return deleted_;
- }
+ bool IsDeleted() const {
+ return deleted_;
+ }
- void MarkAsValid() {
- has_been_bound_ = true;
- }
+ void MarkAsValid() {
+ has_been_bound_ = true;
+ }
- bool IsValid() const {
- return has_been_bound_ && !IsDeleted();
- }
+ bool IsValid() const {
+ return has_been_bound_ && !IsDeleted();
+ }
- size_t EstimatedSize();
+ size_t EstimatedSize();
- void AddToSignature(std::string* signature) const;
+ void AddToSignature(std::string* signature) const;
- private:
- friend class RenderbufferManager;
- friend class base::RefCounted<RenderbufferInfo>;
+ private:
+ friend class RenderbufferManager;
+ friend class base::RefCounted<Renderbuffer>;
- ~RenderbufferInfo();
+ ~Renderbuffer();
- void set_cleared(bool cleared) {
- cleared_ = cleared;
- }
+ void set_cleared(bool cleared) {
+ cleared_ = cleared;
+ }
- void SetInfo(
- GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
- samples_ = samples;
- internal_format_ = internalformat;
- width_ = width;
- height_ = height;
- cleared_ = false;
- }
+ void SetInfo(
+ GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
+ samples_ = samples;
+ internal_format_ = internalformat;
+ width_ = width;
+ height_ = height;
+ cleared_ = false;
+ }
- void MarkAsDeleted() {
- deleted_ = true;
- }
+ void MarkAsDeleted() {
+ deleted_ = true;
+ }
- // RenderbufferManager that owns this RenderbufferInfo.
- RenderbufferManager* manager_;
+ // RenderbufferManager that owns this Renderbuffer.
+ RenderbufferManager* manager_;
- bool deleted_;
+ bool deleted_;
- // Service side renderbuffer id.
- GLuint service_id_;
+ // Service side renderbuffer id.
+ GLuint service_id_;
- // Whether this renderbuffer has been cleared
- bool cleared_;
+ // Whether this renderbuffer has been cleared
+ bool cleared_;
- // Whether this renderbuffer has ever been bound.
- bool has_been_bound_;
+ // Whether this renderbuffer has ever been bound.
+ bool has_been_bound_;
- // Number of samples (for multi-sampled renderbuffers)
- GLsizei samples_;
+ // Number of samples (for multi-sampled renderbuffers)
+ GLsizei samples_;
- // Renderbuffer internalformat set through RenderbufferStorage().
- GLenum internal_format_;
+ // Renderbuffer internalformat set through RenderbufferStorage().
+ GLenum internal_format_;
- // Dimensions of renderbuffer.
- GLsizei width_;
- GLsizei height_;
- };
+ // Dimensions of renderbuffer.
+ GLsizei width_;
+ GLsizei height_;
+};
+// This class keeps track of the renderbuffers and whether or not they have
+// been cleared.
+class GPU_EXPORT RenderbufferManager {
+ public:
RenderbufferManager(MemoryTracker* memory_tracker,
GLint max_renderbuffer_size,
GLint max_samples);
@@ -146,22 +135,22 @@ class GPU_EXPORT RenderbufferManager {
}
void SetInfo(
- RenderbufferInfo* renderbuffer,
+ Renderbuffer* renderbuffer,
GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
- void SetCleared(RenderbufferInfo* renderbuffer, bool cleared);
+ void SetCleared(Renderbuffer* renderbuffer, bool cleared);
// Must call before destruction.
void Destroy(bool have_context);
- // Creates a RenderbufferInfo for the given renderbuffer.
- void CreateRenderbufferInfo(GLuint client_id, GLuint service_id);
+ // Creates a Renderbuffer for the given renderbuffer.
+ void CreateRenderbuffer(GLuint client_id, GLuint service_id);
// Gets the renderbuffer info for the given renderbuffer.
- RenderbufferInfo* GetRenderbufferInfo(GLuint client_id);
+ Renderbuffer* GetRenderbuffer(GLuint client_id);
// Removes a renderbuffer info for the given renderbuffer.
- void RemoveRenderbufferInfo(GLuint client_id);
+ void RemoveRenderbuffer(GLuint client_id);
// Gets a client id for a given service id.
bool GetClientId(GLuint service_id, GLuint* client_id) const;
@@ -175,8 +164,10 @@ class GPU_EXPORT RenderbufferManager {
static GLenum InternalRenderbufferFormatToImplFormat(GLenum impl_format);
private:
- void StartTracking(RenderbufferInfo* renderbuffer);
- void StopTracking(RenderbufferInfo* renderbuffer);
+ friend class Renderbuffer;
+
+ void StartTracking(Renderbuffer* renderbuffer);
+ void StopTracking(Renderbuffer* renderbuffer);
scoped_ptr<MemoryTypeTracker> memory_tracker_;
@@ -185,14 +176,15 @@ class GPU_EXPORT RenderbufferManager {
int num_uncleared_renderbuffers_;
- // Counts the number of RenderbufferInfo allocated with 'this' as its manager.
- // Allows to check no RenderbufferInfo will outlive this.
+ // Counts the number of Renderbuffer allocated with 'this' as its manager.
+ // Allows to check no Renderbuffer will outlive this.
unsigned renderbuffer_info_count_;
bool have_context_;
// Info for each renderbuffer in the system.
- typedef base::hash_map<GLuint, RenderbufferInfo::Ref> RenderbufferInfoMap;
+ typedef base::hash_map<GLuint,
+ scoped_refptr<Renderbuffer> > RenderbufferInfoMap;
RenderbufferInfoMap renderbuffer_infos_;
DISALLOW_COPY_AND_ASSIGN(RenderbufferManager);
« no previous file with comments | « gpu/command_buffer/service/query_manager_unittest.cc ('k') | gpu/command_buffer/service/renderbuffer_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698