| Index: ui/gfx/surface/accelerated_surface_win.cc
|
| ===================================================================
|
| --- ui/gfx/surface/accelerated_surface_win.cc (revision 110925)
|
| +++ ui/gfx/surface/accelerated_surface_win.cc (working copy)
|
| @@ -27,8 +27,14 @@
|
|
|
| namespace {
|
|
|
| +typedef HRESULT (WINAPI *Direct3DCreate9ExFunc)(UINT sdk_version,
|
| + IDirect3D9Ex **d3d);
|
| +
|
| const int64 kPollQueryInterval = 1;
|
|
|
| +const wchar_t kD3D9ModuleName[] = L"d3d9.dll";
|
| +const char kCreate3D9DeviceExName[] = "Direct3DCreate9Ex";
|
| +
|
| class QuerySyncThread
|
| : public base::Thread,
|
| public base::RefCounted<QuerySyncThread> {
|
| @@ -330,8 +336,17 @@
|
|
|
| HRESULT hr;
|
|
|
| + HMODULE module = GetModuleHandle(kD3D9ModuleName);
|
| + if (!module)
|
| + return;
|
| +
|
| + Direct3DCreate9ExFunc create_func = reinterpret_cast<Direct3DCreate9ExFunc>(
|
| + GetProcAddress(module, kCreate3D9DeviceExName));
|
| + if (!create_func)
|
| + return;
|
| +
|
| base::win::ScopedComPtr<IDirect3D9Ex> d3d;
|
| - hr = Direct3DCreate9Ex(D3D_SDK_VERSION, d3d.Receive());
|
| + hr = create_func(D3D_SDK_VERSION, d3d.Receive());
|
| if (FAILED(hr))
|
| return;
|
|
|
|
|