Граф коммитов

10 Коммитов

Автор SHA1 Сообщение Дата
Andrew Osmond b93a311529 Bug 1763642 - Fix assertion where we try to free stale blob keys. r=gfx-reviewers,lsalzman
We get consistent crashtest failures in CI when image.svg.blob-image
is set to true. This is because on some teardown paths, we don't verify
to see if the layer manager still owns the namespace used for the blob
keys.

Differential Revision: https://phabricator.services.mozilla.com/D143189
2022-04-07 16:07:36 +00:00
Lee Salzman d22d724cc2 Bug 1511493 - Ensure PushGlyphs uses the current transaction's IpcResourceUpdateQueue. r=emilio
WebRenderBridgeChild::GetFontKeyForScaledFont can currently cause a IpcResourceUpdateQueue race.
If we're in the middle of a transaction building a blob image, GetFontKeyForScaledFont is called
in the blob image building code using the transaction's IpcResourceUpdateQueue as expected, such
that resource updates are sent out when the transaction is finalized.

However, TextDrawTarget calls into PushGlyphs without passing along its IpcResourceUpdateQueue,
calling GetFontKeyForScaledFont without it, and causing it to immediately send out the resource
update.

So if a blob image uses a font key and submits a resource update, but a display list is built
after that also using the font key within the transaction, the display list will fail to send
the resource update because it thinks the blob image already did, even though the blob image
transaction has not yet been finalized.

The simple fix is to just pass IpcResourceUpdateQueue from TextDrawTarget into PushGlyphs, thus
ensuring the resource updates are properly ordered.

Differential Revision: https://phabricator.services.mozilla.com/D140438
2022-03-05 23:35:16 +00:00
Andrew Osmond 6c26762435 Bug 1711061 - Part 10. Implement BlobSurfaceProvider for non-rasterized blob recordings. r=tnikkel
This WebRenderImageProvider/ISurfaceProvider subclass provides the
implementation for blob recordings. This is mostly just taking the
functionality that was previously in SourceSurfaceBlobImage.

Differential Revision: https://phabricator.services.mozilla.com/D126602
2021-11-27 11:47:39 +00:00
Andrew Osmond 3a3c39b1b5 Bug 1711061 - Part 8. Rename SourceSurfaceBlobImage.h/cpp to BlobSurfaceProvider.h/cpp. r=tnikkel
Rename the file in preparation for the switch over to
WebRenderImageProvider.

Differential Revision: https://phabricator.services.mozilla.com/D126601
2021-11-27 11:47:38 +00:00
Sandor Molnar f5bbecdcc2 Backed out 13 changesets (bug 1711061) on devs request. CLOSED TREE
Backed out changeset c4f073f7e3a3 (bug 1711061)
Backed out changeset aced4b672fb4 (bug 1711061)
Backed out changeset 3687e798f665 (bug 1711061)
Backed out changeset 7b471990ea86 (bug 1711061)
Backed out changeset 1014a95f540e (bug 1711061)
Backed out changeset a37b3091281d (bug 1711061)
Backed out changeset 96a0ef35881b (bug 1711061)
Backed out changeset 38890cc266fb (bug 1711061)
Backed out changeset be73004c0850 (bug 1711061)
Backed out changeset b964576ae53d (bug 1711061)
Backed out changeset d453c5219255 (bug 1711061)
Backed out changeset 0145b538175b (bug 1711061)
Backed out changeset 41ba2e2a2d13 (bug 1711061)
2021-10-29 00:36:30 +03:00
Andrew Osmond ec74a54cb1 Bug 1711061 - Part 10. Implement BlobSurfaceProvider for non-rasterized blob recordings. r=tnikkel
This WebRenderImageProvider/ISurfaceProvider subclass provides the
implementation for blob recordings. This is mostly just taking the
functionality that was previously in SourceSurfaceBlobImage.

Differential Revision: https://phabricator.services.mozilla.com/D126602
2021-10-27 01:24:35 +00:00
Andrew Osmond b82d7db9d5 Bug 1711061 - Part 8. Rename SourceSurfaceBlobImage.h/cpp to BlobSurfaceProvider.h/cpp. r=tnikkel
Rename the file in preparation for the switch over to
WebRenderImageProvider.

Differential Revision: https://phabricator.services.mozilla.com/D126601
2021-10-27 01:24:34 +00:00
Sandor Molnar 6632079d8d Backed out 13 changesets (bug 1711061) for causing browser-chrome failures in test/performance/browser_startup_images. CLOSED TREE
Backed out changeset 5988220f56b8 (bug 1711061)
Backed out changeset cb7721d7ce49 (bug 1711061)
Backed out changeset 343746ffae73 (bug 1711061)
Backed out changeset 000940244dcf (bug 1711061)
Backed out changeset 27565d5ae08d (bug 1711061)
Backed out changeset f3b2379d971b (bug 1711061)
Backed out changeset d4b3d0fa1771 (bug 1711061)
Backed out changeset 9af5b3f2225f (bug 1711061)
Backed out changeset da992effeff1 (bug 1711061)
Backed out changeset 6b2bc6c16b9f (bug 1711061)
Backed out changeset ac2792d42be2 (bug 1711061)
Backed out changeset cb00177e655e (bug 1711061)
Backed out changeset 8d5261184226 (bug 1711061)
2021-10-26 18:04:34 +03:00
Andrew Osmond a99494da7c Bug 1711061 - Part 10. Implement BlobSurfaceProvider for non-rasterized blob recordings. r=tnikkel
This WebRenderImageProvider/ISurfaceProvider subclass provides the
implementation for blob recordings. This is mostly just taking the
functionality that was previously in SourceSurfaceBlobImage.

Differential Revision: https://phabricator.services.mozilla.com/D126602
2021-10-26 13:28:26 +00:00
Andrew Osmond 51e934d3bd Bug 1711061 - Part 8. Rename SourceSurfaceBlobImage.h/cpp to BlobSurfaceProvider.h/cpp. r=tnikkel
Rename the file in preparation for the switch over to
WebRenderImageProvider.

Differential Revision: https://phabricator.services.mozilla.com/D126601
2021-10-26 13:28:25 +00:00