Closed Bug 1483256 Opened 6 years ago Closed 6 years ago

Record atomic accesses in MemoryTextureReadLock

Categories

(Core Graveyard :: Web Replay, defect)

defect
Not set
normal

Tracking

(firefox63 fixed)

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
The read counter in MemoryTextureReadLock is used for synchronizing between threads, but the PR_ATOMIC macros it is implemented with are not recorded by Web Replay, and can lead to inconsistent counter values being read during replay and different behavior later on (e.g. TextureClientPool::ReturnUnlockedClients).

The attached patch changes this counter to use mozilla::Atomic<>, which by default records accesses on the atomic so that they occur at consistent points during replay.
Attachment #8999971 - Flags: review?(nical.bugzilla)
Attachment #8999971 - Flags: review?(nical.bugzilla) → review+
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0e8748072c49
Use mozilla::Atomic in MemoryTextureReadLock, r=nical.
https://hg.mozilla.org/mozilla-central/rev/0e8748072c49
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: