Bug 1692095 - Change DirectComposition virtual surface format to DXGI_FORMAT_R8G8B8A8_UNORM r=jrmuizel

In order to hit the fast path in ANGLE for readback from the
DirectComposition surface tiles, we need to ensure it uses
the same format as intermediate surfaces we are reading back to.

DirectComposition docs claim that both RGBA8 and BGRA8 formats
are supported for surfaces, and doesn't mention any performance
concerns.

I did some basic testing on an NVIDIA GTX 1050 and an Intel
HD530 and didn't notice any performance difference in Gecko
or in DWM.

This patch lands just the format change, so we can easily detect
any correctness or performance issues from the format change.

Differential Revision: https://phabricator.services.mozilla.com/D104771
This commit is contained in:
Glenn Watson 2021-02-11 05:11:10 +00:00
Родитель d3343662ce
Коммит e257367647
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -592,7 +592,7 @@ bool DCSurface::Initialize() {
mIsOpaque ? DXGI_ALPHA_MODE_IGNORE : DXGI_ALPHA_MODE_PREMULTIPLIED;
hr = dCompDevice->CreateVirtualSurface(
VIRTUAL_SURFACE_SIZE, VIRTUAL_SURFACE_SIZE, DXGI_FORMAT_B8G8R8A8_UNORM,
VIRTUAL_SURFACE_SIZE, VIRTUAL_SURFACE_SIZE, DXGI_FORMAT_R8G8B8A8_UNORM,
alpha_mode, getter_AddRefs(mVirtualSurface));
MOZ_ASSERT(SUCCEEDED(hr));