Open Bug 1546823 Opened 6 years ago Updated 8 months ago

Use DirectComposition for WebGL on Windows

Categories

(Core :: Graphics: WebRender, enhancement, P2)

enhancement

Tracking

()

People

(Reporter: sotaro, Unassigned)

References

(Blocks 2 open bugs)

Details

(Whiteboard: wr-planning)

Attachments

(1 file, 1 obsolete file)

We want a way to directly composite WebGL frames if possible with DirectComposition.

Blocks: 1460499
Priority: -- → P2
Type: defect → task
Whiteboard: [wr-q2][wr-june]
Whiteboard: [wr-q2][wr-june] → [wr-q3][wr-aug]
Depends on: 1575159
Type: task → enhancement

The temporal patch implements DCompositionSurface usage than SwapChain.
When DCompositionSurface was used, rendering was slide down a bit. Origin of y seems different.

The patch test if the following copy function works for copying data from WebGL's D3D11Texture2D to SwapBuffer's D3D11Texture2D. But it did not work :( From the result, it seems better to use Bug 1575159 instead of this bug for WebGL :(

  • ID3D11DeviceContext::CopyResource
  • ID3D11DeviceContext::CopySubresourceRegion
Summary: Use DirectComposition for WebGL on Window → Use DirectComposition for WebGL on Windows

(In reply to Sotaro Ikeda [:sotaro] from comment #2)

Created attachment 9088288 [details] [diff] [review]
temporal patch - Test if CopyResource works

The patch test if the following copy function works for copying data from WebGL's D3D11Texture2D to SwapBuffer's D3D11Texture2D. But it did not work :( From the result, it seems better to use Bug 1575159 instead of this bug for WebGL :(

  • ID3D11DeviceContext::CopyResource
  • ID3D11DeviceContext::CopySubresourceRegion

Is this because the textures are using different D3DDevices?

Flags: needinfo?(sotaro.ikeda.g)

(In reply to Jeff Muizelaar [:jrmuizel] from comment #3)

Is this because the textures are using different D3DDevices?

It might be related. But we do not know it. CopyResource and CopySubresourceRegion do not return error.

Flags: needinfo?(sotaro.ikeda.g)

If WebGL operation happens in GPU process(Bug 1477756), WebGL rendering could be done directly to dc layer(SwapChain).

See Also: → webgl-ipc-refactor
No longer depends on: 1575159
Whiteboard: [wr-q3][wr-aug] → [wr-q41]
Attachment #9087633 - Attachment is obsolete: true
No longer blocks: 1460499
Whiteboard: [wr-q41] → wr-planning
Severity: normal → S3
Blocks: wr-todos
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: