Closed Bug 859608 Opened 11 years ago Closed 11 years ago

Tegra device fails with GL_OOM on 1.0.1/conformance/reading/read-pixels-test.html

Categories

(Core :: Graphics: CanvasWebGL, defect)

All
Android
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla24

People

(Reporter: jgilbert, Assigned: jgilbert)

References

()

Details

Attachments

(2 files)

On this test, Tegra devices (including the Galaxy Tab 10.1 tablets) generate a GL_OOM error, and subsequently fail to render properly.

This seems to be caused by the huge number of draw calls, which switch which texture unit they render from. (FWIW, switching this test to use bindTexture() instead makes this issue go away)

glFlushing seems to alleviate this, so maybe it's something weird with the driver's client-side internal command buffer.
Note that the canvas is really big. IIRC, I found it did not reproduce with very small canvases.
Attachment #734934 - Attachment is patch: false
Attachment #734934 - Attachment mime type: text/plain → text/html
Comment on attachment 734935 [details] [diff] [review]
Patch: Overdraw after each 100th draw call in a frame

Review of attachment 734935 [details] [diff] [review]:
-----------------------------------------------------------------

OK, good job on the investigation, the work-around seems justified.
Attachment #734935 - Flags: review?(bjacob) → review+
Ryan, would you by any chance know why this was failing on Tegras? I'd be very interested in the explanation. Tegras aren't deferred renderers, right? So it's not clear to me how doing many draw-calls can result in OOM.
https://hg.mozilla.org/mozilla-central/rev/c106dd2a27ad
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: