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