Bug 1911237 - Disable SurfaceDescriptorD3D10 fast path of CanvasRenderingContext2D::DrawImage() with remote Canvas2d r=gfx-reviewers,lsalzman

STR of Bug 1911237 caused different flickering on different GPUs.  It is better to disable the SurfaceDescriptorD3D10  video rendering optimization of CanvasRenderingContext2D::DrawImage() for now. Though it causes huge performance regression.

Differential Revision: https://phabricator.services.mozilla.com/D218631
This commit is contained in:
sotaro 2024-08-06 23:18:34 +00:00
Родитель a3e0575036
Коммит 1549859da8
2 изменённых файлов: 7 добавлений и 1 удалений

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

@ -5459,7 +5459,8 @@ MaybeGetSurfaceDescriptorForRemoteCanvas(
return sd;
}
if (subdescType ==
layers::RemoteDecoderVideoSubDescriptor::TSurfaceDescriptorD3D10) {
layers::RemoteDecoderVideoSubDescriptor::TSurfaceDescriptorD3D10 &&
StaticPrefs::gfx_canvas_remote_use_draw_image_fast_path_d3d()) {
auto& descD3D10 = subdesc.get_SurfaceDescriptorD3D10();
if (descD3D10.gpuProcessQueryId().isSome() &&
descD3D10.gpuProcessQueryId().ref().mOnlyForOverlay) {

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

@ -5971,6 +5971,11 @@
value: true
mirror: always
- name: gfx.canvas.remote.use-draw-image-fast-path-d3d
type: RelaxedAtomicBool
value: false
mirror: always
- name: gfx.canvas.remote.recycle-used-data-surface
type: RelaxedAtomicBool
value: true