On Tue Feb 21 04:48:55 2023 +0000, Paul Gofman wrote:
Won't this patchset regress a lot (starting from many CEF versions) by making DCompositionCreateDevice / DCompositionCreateDevice2 succeed now without actual implementation? I think now many CEF flavours call that but fallback to other ways of rendering when that fails. If that is the case, maybe it is best to get the dxgi.CreateSwapchainForComposition implementation first which I guess is potentially most problematic for basic dcomp support?
I don't think so.
For CEF versions that are affected by the Windows version bump, they will black screen until all the used DirectComposition APIs are implemented. See https://github.com/google/angle/commit/49ae88bad9c6a1c9a52728755c632b3a39438.... First, libANGLE tries DCompositionCreateDevice, and then CreateTargetForHwnd(), CreateVisual, and CreateSwapChainForComposition(). If any of these functions fail, NativeWindow::createSwapChain() fails. So DCompositionCreateDevice() succeeding now should not make a difference for CEF versions that are affected.
But then, there is no harm in upstreaming IDXGIFactory2::CreateSwapChainForComposition() first. I can get it in first.