3261N/A * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 430N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 430N/A * This code is free software; you can redistribute it and/or modify it 430N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 430N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 430N/A * This code is distributed in the hope that it will be useful, but WITHOUT 430N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 430N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 430N/A * version 2 for more details (a copy is included in the LICENSE file that 430N/A * accompanied this code). 430N/A * You should have received a copy of the GNU General Public License version 430N/A * 2 along with this work; if not, write to the Free Software Foundation, 430N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 430N/A// state of the adapter prior to initialization 430N/A// this state is set if adapter initialization had failed 430N/A// this state is set if adapter was successfully created 430N/A // this should never happen so to be on the safe side do not 430N/A // use this unexpected pointer, do not try to release it, just null 430N/A // it out and fail safely 430N/A "D3DPPLM::CreateInstance: unexpected instance: 0x%x,"\
430N/A// Creates a Direct3D9 object and initializes adapters. 430N/A// If succeeded, returns S_OK, otherwise returns the error code. 430N/A "InitD3D: unable to create IDirect3D9 object");
2963N/A // fix for 6946559: if d3d preloading fails jmv may be NULL 4196N/A * If we don't have devices initialized yet, no sense to clear them. 430N/A "eventOccured",
"(II)V",
430N/A // NULL pMgr is valid when the pipeline is not enabled or if it hasn't 430N/A " number of adapters changed (old=%d, new=%d)",
430N/A " adapter %d: could not find hmnd=0x%x "\
430N/A // we're in full-screen mode 430N/A // Only attempt to restore the devices if we're in full-screen mode 430N/A // and the fs window is active; sleep otherwise. 430N/A // Restoring a window while minimized causes problems on Vista: 430N/A // sometimes we restore the window too quickly and it pops up back from 430N/A // minimized state when the device is restored. 430N/A // WARNING: this is a sleep on the Toolkit thread! We may reconsider 430N/A // this if we find any issues later. 430N/A " HandleLostDevices: checking adapter %d", i);
430N/A // require Windows XP or newer client-class OS 430N/A "D3DPPLM::CheckOSVersion: Windows XP or newer client-classs"\
430N/A " OS detected, passed");
430N/A "D3DPPLM::CheckOSVersion: Windows 2000 or earlier (or a "\
430N/A "server) OS detected, failed");
430N/A " OS check overridden via J2D_D3D_NO_HWCHECK");
430N/A // i<20 is to guard against buggy drivers 430N/A " device: vendorID=0x%04x, deviceId=0x%04x",
430N/A // since we don't have a driver version here we will 430N/A // just ask to ignore the version for now; bad hw 430N/A // entries with specific drivers information will be 430N/A // processed later when d3d is initialized and we can 430N/A // obtain a driver version 430N/A "D3DPPLM::GDICheckForBadHardware: no suitable devices found");
430N/A "OS_UNKNOWN: dwMajorVersion=%d dwMinorVersion=%d\n",
430N/A "OS_UNKNOWN: dwPlatformId=%d dwMajorVersion=%d\n",
430N/A // the hardware check fails if: 430N/A // - we have an entry for this OS and 430N/A // - hardware is bad for all driver versions (NO_VERSION), or 430N/A // we have a driver version which is older than the 430N/A // minimum required for this OS 430N/A "D3DPPLM::CheckForBadHardware: found matching "\
430N/A "hardware: VendorId=0x%04x DeviceId=0x%04x",
430N/A // this was a match by the driver version 430N/A " bad driver found, device disabled");
430N/A " update your driver to at "\
430N/A "least version %d.%d.%d.%d",
430N/A // this was a match by the device (no good driver for this 430N/A "D3DPPLM::CheckForBadHardware: bad hardware "\
430N/A "found, device disabled");
430N/A "overridden (via J2D_D3D_NO_HWCHECK)");
430N/A "[I] GUID : {%08X-%04X-%04X-",
430N/A "D3DPPLM::CheckAdaptersInfo: no suitable adapters found");
430N/A "unknown rasterizer: %s, only (ref|hal|nul) "\
430N/A "D3DPPLM::CheckDeviceCaps: adapter %d: Failed "\
430N/A "(cap %s not supported)", \
430N/A // by requiring hardware tnl we are hoping for better drivers quality 430N/A // fail if not hw tnl unless d3d was forced 430N/A "D3DPPLM::CheckDeviceCaps: adapter %d: Failed "\
430N/A "D3DPPLM::D3DEnabledOnAdapter: no " \
430N/A for (
int i = 0; i <
4; i++) {
430N/A "D3DPPLM::CreateDefaultFocusWindow: adapter=%d",
430N/A "D3DPPLM::CreateDefaultFocusWindow: "\
430N/A "existing default focus window!");
430N/A "D3DPPLM::CreateDefaultFocusWindow: "\
430N/A "error registering window class");
430N/A "D3DPPLM::CreateDefaultFocusWindow: "\
430N/A "D3DPPLM::CreateDefaultFocusWindow: CreateWindow failed");
430N/A " Created default focus window %x for adapter %d",
430N/A " no fs windows, using default focus window=0x%x",
430N/A // REMIND: we might want to reset the rest of the context here as well 430N/A // like we do when the an adapter exits fs mode; currently they will 430N/A // be reset sometime later 430N/A // there's already a fs window 430N/A // it's current fs window => we're exiting fs mode on this adapter; 430N/A // look for a new fs focus window 430N/A " adapter %d is still in fs mode", i);
430N/A // we have to reset all devices any time current focus device 430N/A // exits fs mode, and also to prevent some of them being left in 430N/A // a lost state when the last device exits fs - when non-last 430N/A // adapters exit fs mode they would not be able to create the 430N/A // device and will be put in a lost state forever 430N/A " adapter exited full-screen, reset all adapters");
430N/A "D3DPM::SetFSFocusWindow: setting the fs "\
430N/A "D3DPPLM::GetD3DContext: invalid parameters or "\
430N/A "D3DPPLM::GetD3DContext: failed to create context "\
2963N/A//============================================================== 2963N/A//============================================================== 3090N/A // init adapters if we are preloading 2963N/A // nothing to do - D3DPipelineManager cleans adapters 2963N/A * Export function to start D3D preloading