Title: [161375] trunk
Revision
161375
Author
[email protected]
Date
2014-01-06 14:43:20 -0800 (Mon, 06 Jan 2014)

Log Message

[WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
https://bugs.webkit.org/show_bug.cgi?id=126538
<rdar://problem/15201336>

Reviewed by Dean Jackson.

Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html

* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
type.

Modified Paths

Diff

Modified: trunk/LayoutTests/webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html (161374 => 161375)


--- trunk/LayoutTests/webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html	2014-01-06 22:38:12 UTC (rev 161374)
+++ trunk/LayoutTests/webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html	2014-01-06 22:43:20 UTC (rev 161375)
@@ -206,6 +206,7 @@
             gl.framebufferRenderbuffer(gl.FRAMEBUFFER, test.firstAttach, gl.RENDERBUFFER, firstRb);
 
             shouldBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
+            //gl.clear(gl.DEPTH_BUFFER_BIT);
             gl.enable(gl.DEPTH_TEST);
             var program = wtu.setupColorQuad(gl);
             // Test it works

Modified: trunk/LayoutTests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js (161374 => 161375)


--- trunk/LayoutTests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js	2014-01-06 22:38:12 UTC (rev 161374)
+++ trunk/LayoutTests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js	2014-01-06 22:43:20 UTC (rev 161375)
@@ -863,7 +863,7 @@
         }
         logFn('at (' + (x + (i % width)) + ', ' + (y + Math.floor(i / width)) +
               ') expected: ' + color + ' was ' + was);
-        return;
+        //return;
       }
     }
   }

Modified: trunk/Source/WebCore/ChangeLog (161374 => 161375)


--- trunk/Source/WebCore/ChangeLog	2014-01-06 22:38:12 UTC (rev 161374)
+++ trunk/Source/WebCore/ChangeLog	2014-01-06 22:43:20 UTC (rev 161375)
@@ -1,3 +1,18 @@
+2014-01-06  Brent Fulgham  <[email protected]>
+
+        [WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
+        https://bugs.webkit.org/show_bug.cgi?id=126538
+        <rdar://problem/15201336>
+
+        Reviewed by Dean Jackson.
+
+        Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html
+
+        * html/canvas/WebGLFramebuffer.cpp:
+        (WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
+        default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
+        type.
+
 2014-01-06  Simon Fraser  <[email protected]>
 
         Add new files for UI-side scrolling

Modified: trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp (161374 => 161375)


--- trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp	2014-01-06 22:38:12 UTC (rev 161374)
+++ trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp	2014-01-06 22:43:20 UTC (rev 161375)
@@ -538,7 +538,7 @@
     if (initDepth) {
         g3d->getFloatv(GraphicsContext3D::DEPTH_CLEAR_VALUE, &depthClearValue);
         g3d->getBooleanv(GraphicsContext3D::DEPTH_WRITEMASK, &depthMask);
-        g3d->clearDepth(0);
+        g3d->clearDepth(1.0f);
         g3d->depthMask(true);
     }
     if (initStencil) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to