Closed Bug 1328493 Opened 3 years ago Closed 3 years ago
Injecting DXGI resources to ANGLE as gl texture
We need this for rendering DXGI textures in webrender
I have successful injected the DXGI textures which are created by content client into ANGLE. However, the DXGI textures generated by WebGL fail to render because the DXGI textures created by WebGL using the D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flag but ANGLE didn't using key mutex before rendering. If I change the flag from D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX to D3D11_RESOURCE_MISC_SHARED then the result is good. I'll debug why ANGLE doesn't use key mutex before rendering.
After tweaking some ANGLE source code. I can get the result for WebGL. So my next tasks are: 1. Expose CreatePBufferFromClientBuffer in GLLibraryEGL. 2. Modify ANGLE so that ANGLE can handle the DXGI texture with keyed mutex. 3. Hook all things in our TextureClient/Host codes.
Attachment #8833227 - Flags: review?(jmuizelaar)
We need upstream this to ANGLE eventually. MozReview-Commit-ID: 65PEv0kbyiu
Comment on attachment 8833228 [details] [diff] [review] Let ANGLE handle DXGI texture with keyed mutex properly. We don't need this anymore since we can AcquireSync and ReleaaeSync by ourselves.
Attachment #8833228 - Attachment is obsolete: true
Attachment #8828840 - Attachment is obsolete: true
Jeff, review ping for the patch. Thanks very much.
Attachment #8833227 - Flags: review?(jmuizelaar) → review+
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/b0cbe5152086 Expose CreatePBufferFromClientBuffer and EGL_ANGLE_d3d_share_handle_client_buffer. r=jrmuizel
You need to log in before you can comment on or make changes to this bug.