Title: [129439] trunk/Source/WebCore
Revision
129439
Author
[email protected]
Date
2012-09-24 18:14:48 -0700 (Mon, 24 Sep 2012)

Log Message

[WebGL] Intel Mac needs built-in function emulation
https://bugs.webkit.org/show_bug.cgi?id=96140

Reviewed by Sam Weinig.

Temporarily turn on built-in function emulation for Intel GPUs
on OS X. This is a work-around for a driver bug, and
will be removed once the driver is updated:
https://bugs.webkit.org/show_bug.cgi?id=97503

This can be tested using the Khronos WebGL conformance
suite, in particular:

conformance/glsl/functions/glsl-function-dot.html
conformance/glsl/functions/glsl-function-length.html
conformance/glsl/functions/glsl-function-normalize.html
conformance/glsl/functions/glsl-function-reflect.html

Note that the faceforward built-in will still cause
problems on Intel GPUs, but this would require an unnecessary
change in the ANGLE project (remember, we're going to
remove this code once the driver is fixed).

* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
    Temporarily add "Intel" to the list of GPUs we do translation
    for in the shader compiler.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (129438 => 129439)


--- trunk/Source/WebCore/ChangeLog	2012-09-25 01:05:43 UTC (rev 129438)
+++ trunk/Source/WebCore/ChangeLog	2012-09-25 01:14:48 UTC (rev 129439)
@@ -1,3 +1,33 @@
+2012-09-24  Dean Jackson  <[email protected]>
+
+        [WebGL] Intel Mac needs built-in function emulation
+        https://bugs.webkit.org/show_bug.cgi?id=96140
+
+        Reviewed by Sam Weinig.
+
+        Temporarily turn on built-in function emulation for Intel GPUs
+        on OS X. This is a work-around for a driver bug, and
+        will be removed once the driver is updated:
+        https://bugs.webkit.org/show_bug.cgi?id=97503
+
+        This can be tested using the Khronos WebGL conformance
+        suite, in particular:
+
+        conformance/glsl/functions/glsl-function-dot.html
+        conformance/glsl/functions/glsl-function-length.html
+        conformance/glsl/functions/glsl-function-normalize.html
+        conformance/glsl/functions/glsl-function-reflect.html
+
+        Note that the faceforward built-in will still cause
+        problems on Intel GPUs, but this would require an unnecessary
+        change in the ANGLE project (remember, we're going to
+        remove this code once the driver is fixed).
+
+        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
+        (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
+            Temporarily add "Intel" to the list of GPUs we do translation
+            for in the shader compiler.
+
 2012-09-24  Peter Wang  <[email protected]>
 
         There is a mistake in InspectorProfilerAgent::enable(bool skipRecompile)

Modified: trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp (129438 => 129439)


--- trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp	2012-09-25 01:05:43 UTC (rev 129438)
+++ trunk/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp	2012-09-25 01:14:48 UTC (rev 129439)
@@ -125,7 +125,7 @@
 
 #if PLATFORM(MAC)
     const char* vendor = reinterpret_cast<const char*>(::glGetString(GL_VENDOR));
-    if (vendor && (std::strstr(vendor, "ATI") || std::strstr(vendor, "AMD")))
+    if (vendor && (std::strstr(vendor, "ATI") || std::strstr(vendor, "AMD") || std::strstr(vendor, "Intel")))
         extraCompileOptions |= SH_EMULATE_BUILT_IN_FUNCTIONS;
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to