Closed Bug 721205 Opened 8 years ago Closed 8 years ago

GLContext::fReadPixels uses format GL_BGRA on Android, causing GL_INVALID_OPERATION

Categories

(Core :: Canvas: WebGL, defect)

ARM
Android
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla12

People

(Reporter: ajuma, Assigned: jgilbert)

References

Details

Attachments

(1 file)

With Attachment 591529 [details] [diff], Bug 720467 applied, the WebGL demo at http://spidergl.org/example.php?id=1 on XUL Fennec on a Nexus S causes GLContext::fReadPixels to be called with format GL_BGRA and type GL_UNSIGNED_BYTE, resulting in GL_INVALID_OPERATION.

Since that patch doesn't change the logic used to choose the format for fReadPixels, we have a bug somewhere else.
According to specs for ES extensions:
EXT_bgra explicitly adds support for GL_BGRA+GL_UNSIGNED_BYTE readPixels.
EXT_read_format_bgra and IMG_read_format allow for the auxiliary format discovery for BGRA+UBYTE via GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE.
Assignee: nobody → jgilbert
Status: NEW → ASSIGNED
Attachment #591633 - Flags: review?(bjacob) → review+
With this patch applied, I'm still seeing the same problem. GL_IMPLEMENTATION_COLOR_READ_FORMAT and TYPE are BGRA and UNSIGNED_BYTE on this device, so it still tries to use GL_BGRA and causes a GL_INVALID_OPERATION error. So we seem to be running into a driver bug.
https://hg.mozilla.org/mozilla-central/rev/fccccb47213e
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Depends on: 724476
Blocks: 724476
No longer depends on: 724476
You need to log in before you can comment on or make changes to this bug.