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

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

Issue 2389363002: Move special DEPTH_STENCIL attachment logic from command buffers to WebGL1 (Closed)
Patch Set: Created 4 years, 2 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 70bb5c70207b4a46a4f7aa0ad60e6eafffa36160..ccecbc2ddb119365c5b6aa7ea8cf156471f8083a 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h
+++ b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h
@@ -82,9 +82,6 @@ class WebGLFramebuffer final : public WebGLContextObject {
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:
@@ -125,13 +122,23 @@ class WebGLFramebuffer final : public WebGLContextObject {
// 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.
+ // 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;
@@ -140,6 +147,7 @@ class WebGLFramebuffer final : public WebGLContextObject {
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