Bug 1586627 Comment 31 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Here's a similar testcase that produces the wrong output even before CoreAnimation, e.g. on Firefox Release 69.0.3, on this particular GPU. It renders correctly everywhere else.
This demonstrates that there was an existing problem on this GPU that websites could run into, but it is harder to hit so fewer websites were affected by it.

The testcase is different to the previous one in that it wraps everything inside another opacity group, so it forces the bad rendering to happen inside an intermediate surface. Intermediate surfaces are offscreen framebuffers in the OpenGL compositior.
This finding indicates that the brokenness affects offscreen framebuffers but not the default framebuffer ("framebuffer 0"). When we use CoreAnimation, we always render "offscreen" (we render into a framebuffer that is backed by an IOSurface), so we now hit the bug even for the window itself, not only for intermediate surfaces.
Here's a similar testcase that produces the wrong output even before CoreAnimation, e.g. on Firefox Release 69.0.3, on this particular GPU. It renders correctly on other GPUs or in other browsers.
This demonstrates that there was an existing problem on this GPU that websites could run into, but it is harder to hit so fewer websites were affected by it.

The testcase is different to the previous one in that it wraps everything inside another opacity group, so it forces the bad rendering to happen inside an intermediate surface. Intermediate surfaces are offscreen framebuffers in the OpenGL compositior.
This finding indicates that the brokenness affects offscreen framebuffers but not the default framebuffer ("framebuffer 0"). When we use CoreAnimation, we always render "offscreen" (we render into a framebuffer that is backed by an IOSurface), so we now hit the bug even for the window itself, not only for intermediate surfaces.
Here's a similar testcase that produces the wrong output even before CoreAnimation, e.g. on Firefox Release 69.0.3, on this particular GPU. It renders correctly on other GPUs or in other browsers.
This demonstrates that there was an existing problem on this GPU that websites could run into, but it is harder to hit, so fewer websites were affected by it.

The testcase is different to the previous one in that it wraps everything inside another opacity group, so it forces the bad rendering to happen inside an intermediate surface. Intermediate surfaces are offscreen framebuffers in the OpenGL compositior.
This finding indicates that the brokenness affects offscreen framebuffers but not the default framebuffer ("framebuffer 0"). When we use CoreAnimation, we always render "offscreen" (we render into a framebuffer that is backed by an IOSurface), so we now hit the bug even for the window itself, not only for intermediate surfaces.
Here's a similar testcase that produces the wrong output even before CoreAnimation, e.g. on Firefox Release 69.0.3, on this particular GPU. It renders correctly on other GPUs or in other browsers.
This demonstrates that there was an existing problem on this GPU that websites could run into, but it was harder to hit, so fewer websites were affected by it.

The testcase is different to the previous one in that it wraps everything inside another opacity group, so it forces the bad rendering to happen inside an intermediate surface. Intermediate surfaces are offscreen framebuffers in the OpenGL compositior.
This finding indicates that the brokenness affects offscreen framebuffers but not the default framebuffer ("framebuffer 0"). When we use CoreAnimation, we always render "offscreen" (we render into a framebuffer that is backed by an IOSurface), so we now hit the bug even for the window itself, not only for intermediate surfaces.

Back to Bug 1586627 Comment 31