Title: [189581] trunk/Source/WebCore
Revision
189581
Author
[email protected]
Date
2015-09-10 11:57:01 -0700 (Thu, 10 Sep 2015)

Log Message

[WebGL][GLES] bad shaders should not be linked not only for GL but also for GL ES
https://bugs.webkit.org/show_bug.cgi?id=148794

Patch by Jinyoung Hur <[email protected]> on 2015-09-10
Reviewed by Dean Jackson.

Checking bad shaders, precision matching and varyings packing are all valid for GL ES too.

Test: webgl/1.0.2/conformance/programs/program-test.html

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::linkProgram):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (189580 => 189581)


--- trunk/Source/WebCore/ChangeLog	2015-09-10 18:47:56 UTC (rev 189580)
+++ trunk/Source/WebCore/ChangeLog	2015-09-10 18:57:01 UTC (rev 189581)
@@ -1,5 +1,19 @@
 2015-09-10  Jinyoung Hur  <[email protected]>
 
+        [WebGL][GLES] bad shaders should not be linked not only for GL but also for GL ES
+        https://bugs.webkit.org/show_bug.cgi?id=148794
+
+        Reviewed by Dean Jackson.
+
+        Checking bad shaders, precision matching and varyings packing are all valid for GL ES too.
+
+        Test: webgl/1.0.2/conformance/programs/program-test.html
+
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        (WebCore::WebGLRenderingContextBase::linkProgram):
+
+2015-09-10  Jinyoung Hur  <[email protected]>
+
         Static variables in GraphicsContext3DOpenGLCommon should be avoided because of the race condition
         https://bugs.webkit.org/show_bug.cgi?id=148957
 

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (189580 => 189581)


--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2015-09-10 18:47:56 UTC (rev 189580)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2015-09-10 18:57:01 UTC (rev 189581)
@@ -2744,13 +2744,11 @@
     UNUSED_PARAM(ec);
     if (isContextLostOrPending() || !validateWebGLObject("linkProgram", program))
         return;
-    if (!isGLES2Compliant()) {
-        WebGLShader* vertexShader = program->getAttachedShader(GraphicsContext3D::VERTEX_SHADER);
-        WebGLShader* fragmentShader = program->getAttachedShader(GraphicsContext3D::FRAGMENT_SHADER);
-        if (!vertexShader || !vertexShader->isValid() || !fragmentShader || !fragmentShader->isValid() || !m_context->precisionsMatch(objectOrZero(vertexShader), objectOrZero(fragmentShader)) || !m_context->checkVaryingsPacking(objectOrZero(vertexShader), objectOrZero(fragmentShader))) {
-            program->setLinkStatus(false);
-            return;
-        }
+    WebGLShader* vertexShader = program->getAttachedShader(GraphicsContext3D::VERTEX_SHADER);
+    WebGLShader* fragmentShader = program->getAttachedShader(GraphicsContext3D::FRAGMENT_SHADER);
+    if (!vertexShader || !vertexShader->isValid() || !fragmentShader || !fragmentShader->isValid() || !m_context->precisionsMatch(objectOrZero(vertexShader), objectOrZero(fragmentShader)) || !m_context->checkVaryingsPacking(objectOrZero(vertexShader), objectOrZero(fragmentShader))) {
+        program->setLinkStatus(false);
+        return;
     }
 
     m_context->linkProgram(objectOrZero(program));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to