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

Unified Diff: third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h

Issue 2372953002: Move special DEPTH_STENCIL attachment logic from command buffers to WebGL1 (Closed)
Patch Set: add more tests Created 4 years, 3 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: third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h
diff --git a/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h
index 792c773e5b07fe710bb2175a07a13434ac4a342a..afdd232caa0692ccf321e17d585dd234a4e895a4 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h
+++ b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h
@@ -70,8 +70,6 @@ public:
void setAttachmentForBoundFramebuffer(GLenum target, GLenum attachment, WebGLRenderbuffer*);
// If an object is attached to the currently bound framebuffer, remove it.
void removeAttachmentFromBoundFramebuffer(GLenum target, WebGLSharedObject*);
- // If a given attachment point for the currently bound framebuffer is not null, remove the attached object.
- void removeAttachmentFromBoundFramebuffer(GLenum target, GLenum attachment);
WebGLSharedObject* getAttachmentObject(GLenum) const;
// WebGL 1 specific:
@@ -110,12 +108,16 @@ private:
// Check if the framebuffer is currently bound.
bool isBound(GLenum target) const;
- // attach 'attachment' at 'attachmentPoint'.
- void attach(GLenum target, GLenum attachment, GLenum attachmentPoint);
-
// Check if a new drawBuffers call should be issued. This is called when we add or remove an attachment.
void drawBuffersIfNecessary(bool force);
+ void setAttachmentInternal(GLenum target, GLenum attachment, GLenum texTarget, WebGLTexture*, GLint level, GLint layer);
+ void setAttachmentInternal(GLenum target, GLenum attachment, WebGLRenderbuffer*);
+ // If a given attachment point for the currently bound framebuffer is not null, remove the attached object.
+ void removeAttachmentInternal(GLenum target, GLenum attachment);
+
+ void commitWebGL1DepthStencilIfConsistent(GLenum target);
+
GLuint m_object;
typedef HeapHashMap<GLenum, Member<WebGLAttachment>> AttachmentMap;
@@ -124,6 +126,7 @@ private:
bool m_destructionInProgress;
bool m_hasEverBeenBound;
+ bool m_webGL1DepthStencilConsistent;
Vector<GLenum> m_drawBuffers;
Vector<GLenum> m_filteredDrawBuffers;

Powered by Google App Engine
This is Rietveld 408576698