Closed Bug 735560 Opened 12 years ago Closed 12 years ago

WebGL multiple conformance-test-suite crashes in glsl/functions/

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla16

People

(Reporter: posidron, Assigned: jgilbert)

References

Details

(Keywords: crash, testcase)

Attachments

(2 files, 1 obsolete file)

Attached file callstack-function-dot
Attached is the callstack for the glsl-function-dot testcase.

Multiple testcases in the category "glsl/functions" of the conformance test suite 1.0.1 seem to fail with a crash whereby the callstack seems to be the same.

Those testcases are:

  glsl-function-dot
  glsl-function-faceforward
  glsl-function-length
  glsl-function-normalize
  glsl-function-reflect
jviereck's MacBook Pro also has this problem.
I've isolated it down to any of the 'Geometric Functions' in the GLES2 GLSL spec section 8.4 (length, distance, dot, normalize, faceforward, reflect, refract), when passed float arguments, appear to crash. These functions are supposed take and return args of type T, where T is one of {float, vec2, vec3, vec4}. I have not tested the vec2/3/4 versions much, but what I have seems to work fine. All float versions crash, with the exception of 'distance', which seems to work properly.

Affected system:
MacBook Pro
13-inh, Early 2011
Intel Mac OS X 10.7.3
2.3GHz Intel Core i5
8GB 1333MHz DDR3
Intel HD Graphics 3000 512MB
Vendor ID: 0x8086
Device ID: 0x0126
Intel Inc. -- Intel HD Graphics 3000 OpenGL Engine -- 2.1 APPLE-7.18.11

Also note that in addition to the above-noted tests, glsl-function-refract also crashes, but currently appears to be unused/untested?
Chrome does not crash, but it does look like the graphics thread is crashing. The test simply fails there.
If this hasn't been file with Apple, we should. The testcase is any vertex shader with something of the form 'dot(float, float)' (or any of the other functions I noted). We should also blocklist the configuration until the fix is shipped. This also wouldn't be hard to emulate, but I don't know if that's Easy or Hard.
This is Apple Radar 10670574 according to https://cvs.khronos.org/wiki/index.php/WebGL#Mac_bugs. If we do not blacklist the affected versions, this bug should do that.
We should be able to just switch on GLSL math emulation, as in bug 769810.
Depends on: 769810
Attached patch patch (obsolete) — Splinter Review
Assignee: nobody → jgilbert
Status: NEW → ASSIGNED
Attachment #638459 - Flags: review?(bjacob)
Try build coming at:
https://tbpl.mozilla.org/?tree=Try&rev=77f416f13a6a

We'll need to run the testcase on a currently-affected mac to check, though. Try is already running this without problem.
Attachment #638459 - Flags: review?(bjacob) → review+
Attached patch patchSplinter Review
R+ carried forward. Bit-rot update.
Attachment #638459 - Attachment is obsolete: true
Attachment #639530 - Flags: review+
With this patch, on a macbook air, among all the test pages in the 1.0.1 conformance suite under glsl/functions/,
 - faceforward crashes
 - asin and gentype fail but dont crash,
 - all other pages succeed.
On current Nightly, this crash and these 2 page failures also occur. So, there is no regression here.

Land away!
Blocks: 771406
https://hg.mozilla.org/mozilla-central/rev/aff063e52fc6
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: