Closed Bug 1285692 Opened 4 years ago Closed 4 years ago

DX_interop must LockObject or FBs may return FRAMEBUFFER_UNSUPPORTED

Categories

(Core :: Canvas: WebGL, defect)

50 Branch
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox50 --- affected
firefox51 --- fixed

People

(Reporter: jgilbert, Assigned: jgilbert)

References

(Depends on 1 open bug)

Details

Attachments

(3 files)

No description provided.
Review commit: https://reviewboard.mozilla.org/r/63328/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/63328/
Attachment #8769400 - Flags: review?(mtseng)
Attachment #8769401 - Flags: review?(jmuizelaar)
Attachment #8769402 - Flags: review?(jmuizelaar)
While we've been doing AcquireSync()+LockObject() previously, this doesn't
seem to be required. It makes sense that LockObject would AcquireSync (or
in-driver equivalent) when given a KeyedMutex'd D3D11Texture, given the
wording of the spec that (Un)LockObject synchronizes GL with D3D.
Unfortunately, the extension spec doesn't explicitly state this.

Review commit: https://reviewboard.mozilla.org/r/63332/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/63332/
Attachment #8769401 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8769402 [details]
Bug 1285692 - Remove unnecessary KeyedMutex usage with DX_interop. -

https://reviewboard.mozilla.org/r/63332/#review62050
Attachment #8769402 - Flags: review?(jmuizelaar) → review+
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1fbada95de3a
Add IsProducerAcquired(). - r=mtseng
https://hg.mozilla.org/integration/mozilla-inbound/rev/9d0676755cf8
Acquire surface to allow FB completeness. - r=jrmuizel
https://hg.mozilla.org/integration/mozilla-inbound/rev/45136034045a
Remove unnecessary KeyedMutex usage with DX_interop. - r=jrmuizel
Blocks: 1287653
I suspect the failure is due to:
https://reviewboard.mozilla.org/r/63330/diff/#index_header

Since we allow the framebuffer to be complete now, instead of failing the test, we pass it, but fail to read-back from one of the surfaces.

I can't reproduce this locally. It may be due to win7 slaves having a weird config.

This may be our slaves' drivers being old-and-busted, too, but this seems like an assert that's an error in our code. The code that's asserting is just failing to give us what's just effectively a raw buffer wrapped in a useful wrapper.
Hi Jeff, as discussed on irc i had to back this out because even with the patches we still have issues liek https://treeherder.mozilla.org/logviewer.html#?job_id=32090799&repo=mozilla-inbound#L5538
Flags: needinfo?(jgilbert)
Flags: needinfo?(jgilbert)
Depends on: 1291582
Depends on: 1290989
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b6c64d5ccdd6
Add IsProducerAcquired(). - r=mtseng
https://hg.mozilla.org/integration/mozilla-inbound/rev/a67661b37e17
Acquire surface to allow FB completeness. - r=jrmuizel
https://hg.mozilla.org/integration/mozilla-inbound/rev/92796a154d60
Remove unnecessary KeyedMutex usage with DX_interop. - r=jrmuizel
Depends on: 1296651
Depends on: 1296644
Blocks: 1296996
No longer blocks: 1296996
Depends on: 1296996
You need to log in before you can comment on or make changes to this bug.