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

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h

Issue 2547813002: Remove WebGLObject maps from WebGLRenderingContextBase and WebGLContextGroup. (Closed)
Patch Set: Fixed WebGLContextObject::validate. Made WebGLExtension non-finalized. Created 4 years 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 27 matching lines...) Expand all
38 38
39 namespace blink { 39 namespace blink {
40 40
41 class WebGLRenderbuffer; 41 class WebGLRenderbuffer;
42 class WebGLTexture; 42 class WebGLTexture;
43 43
44 class WebGLFramebuffer final : public WebGLContextObject { 44 class WebGLFramebuffer final : public WebGLContextObject {
45 DEFINE_WRAPPERTYPEINFO(); 45 DEFINE_WRAPPERTYPEINFO();
46 46
47 public: 47 public:
48 class WebGLAttachment : public GarbageCollectedFinalized<WebGLAttachment> { 48 class WebGLAttachment : public GarbageCollected<WebGLAttachment> {
49 public: 49 public:
50 virtual ~WebGLAttachment();
51
52 virtual WebGLSharedObject* object() const = 0; 50 virtual WebGLSharedObject* object() const = 0;
53 virtual bool isSharedObject(WebGLSharedObject*) const = 0; 51 virtual bool isSharedObject(WebGLSharedObject*) const = 0;
54 virtual bool valid() const = 0; 52 virtual bool valid() const = 0;
55 virtual void onDetached(gpu::gles2::GLES2Interface*) = 0; 53 virtual void onDetached(gpu::gles2::GLES2Interface*) = 0;
56 virtual void attach(gpu::gles2::GLES2Interface*, 54 virtual void attach(gpu::gles2::GLES2Interface*,
57 GLenum target, 55 GLenum target,
58 GLenum attachment) = 0; 56 GLenum attachment) = 0;
59 virtual void unattach(gpu::gles2::GLES2Interface*, 57 virtual void unattach(gpu::gles2::GLES2Interface*,
60 GLenum target, 58 GLenum target,
61 GLenum attachment) = 0; 59 GLenum attachment) = 0;
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 void removeAttachmentInternal(GLenum target, GLenum attachment); 140 void removeAttachmentInternal(GLenum target, GLenum attachment);
143 141
144 void commitWebGL1DepthStencilIfConsistent(GLenum target); 142 void commitWebGL1DepthStencilIfConsistent(GLenum target);
145 143
146 GLuint m_object; 144 GLuint m_object;
147 145
148 typedef HeapHashMap<GLenum, TraceWrapperMember<WebGLAttachment>> 146 typedef HeapHashMap<GLenum, TraceWrapperMember<WebGLAttachment>>
149 AttachmentMap; 147 AttachmentMap;
150 148
151 AttachmentMap m_attachments; 149 AttachmentMap m_attachments;
152 bool m_destructionInProgress;
153 150
154 bool m_hasEverBeenBound; 151 bool m_hasEverBeenBound;
155 bool m_webGL1DepthStencilConsistent; 152 bool m_webGL1DepthStencilConsistent;
156 153
157 Vector<GLenum> m_drawBuffers; 154 Vector<GLenum> m_drawBuffers;
158 Vector<GLenum> m_filteredDrawBuffers; 155 Vector<GLenum> m_filteredDrawBuffers;
159 156
160 GLenum m_readBuffer; 157 GLenum m_readBuffer;
161 }; 158 };
162 159
163 } // namespace blink 160 } // namespace blink
164 161
165 #endif // WebGLFramebuffer_h 162 #endif // WebGLFramebuffer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698