Index: content/common/gpu/media/dxva_video_decode_accelerator_win.cc |
diff --git a/content/common/gpu/media/dxva_video_decode_accelerator_win.cc b/content/common/gpu/media/dxva_video_decode_accelerator_win.cc |
index 111193febecfbf29f4fbf526194d60bf95dc2c4f..b4ee8f0b682e59b2309eac1898e05a2b30f5146c 100644 |
--- a/content/common/gpu/media/dxva_video_decode_accelerator_win.cc |
+++ b/content/common/gpu/media/dxva_video_decode_accelerator_win.cc |
@@ -1036,6 +1036,13 @@ bool DXVAVideoDecodeAccelerator::CreateD3DDevManager() { |
hr = Direct3DCreate9Ex(D3D_SDK_VERSION, d3d9_.Receive()); |
RETURN_ON_HR_FAILURE(hr, "Direct3DCreate9Ex failed", false); |
+ hr = d3d9_->CheckDeviceFormatConversion( |
+ D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, |
+ static_cast<D3DFORMAT>(MAKEFOURCC('N', 'V', '1', '2')), |
+ D3DFMT_X8R8G8B8); |
+ RETURN_ON_HR_FAILURE(hr, |
+ "D3D9 driver does not support H/W format conversion", false); |
+ |
base::win::ScopedComPtr<IDirect3DDevice9> angle_device = |
QueryDeviceObjectFromANGLE<IDirect3DDevice9>(EGL_D3D9_DEVICE_ANGLE); |
if (angle_device.get()) |
@@ -1063,8 +1070,7 @@ bool DXVAVideoDecodeAccelerator::CreateD3DDevManager() { |
D3DDEVTYPE_HAL, |
NULL, |
D3DCREATE_FPU_PRESERVE | |
- D3DCREATE_HARDWARE_VERTEXPROCESSING | |
- D3DCREATE_DISABLE_PSGP_THREADING | |
+ D3DCREATE_MIXED_VERTEXPROCESSING | |
D3DCREATE_MULTITHREADED, |
&present_params, |
NULL, |