Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h
32288 views
/*1* Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425#ifndef D3DBADHARDWARE_H26#define D3DBADHARDWARE_H2728#include "D3DPipeline.h"29#include "D3DPipelineManager.h"3031typedef struct ADAPTER_INFO {32DWORD VendorId;33DWORD DeviceId;34LONGLONG DriverVersion; // minimum driver version to pass, or NO_VERSION35USHORT OsInfo; // OSes where the DriverVersion is relevant or, OS_ALL36} ADAPTER_INFO;3738// this DeviceId means that all vendor boards are to be excluded39#define ALL_DEVICEIDS (0xffffffff)4041#define D_VERSION(H1, H2, L1, L2) \42(((LONGLONG)((H1 << 16) | H2) << 32) | ((L1 << 16) | (L2)))4344// this driver version is used to pass the driver version check45// as it is always greater than any driver version46#define MAX_VERSION D_VERSION(0x7fff, 0x7fff, 0x7fff, 0x7fff)47// this DriverVersion means that the version of the driver doesn't matter,48// all versions must fail ("there's no version of the driver that passes")49#define NO_VERSION D_VERSION(0xffff, 0xffff, 0xffff, 0xffff)5051static const ADAPTER_INFO badHardware[] = {5253// All Intel Chips.54{ 0x8086, ALL_DEVICEIDS, NO_VERSION, OS_ALL },5556// ATI Mobility Radeon X1600, X1400, X1450, X1300, X135057// Reason: workaround for 6613066, 668716658// X1300 (four sub ids)59{ 0x1002, 0x714A, D_VERSION(6,14,10,6706), OS_WINXP },60{ 0x1002, 0x714A, D_VERSION(7,14,10,0567), OS_VISTA },61{ 0x1002, 0x7149, D_VERSION(6,14,10,6706), OS_WINXP },62{ 0x1002, 0x7149, D_VERSION(7,14,10,0567), OS_VISTA },63{ 0x1002, 0x714B, D_VERSION(6,14,10,6706), OS_WINXP },64{ 0x1002, 0x714B, D_VERSION(7,14,10,0567), OS_VISTA },65{ 0x1002, 0x714C, D_VERSION(6,14,10,6706), OS_WINXP },66{ 0x1002, 0x714C, D_VERSION(7,14,10,0567), OS_VISTA },67// X1350 (three sub ids)68{ 0x1002, 0x718B, D_VERSION(6,14,10,6706), OS_WINXP },69{ 0x1002, 0x718B, D_VERSION(7,14,10,0567), OS_VISTA },70{ 0x1002, 0x718C, D_VERSION(6,14,10,6706), OS_WINXP },71{ 0x1002, 0x718C, D_VERSION(7,14,10,0567), OS_VISTA },72{ 0x1002, 0x7196, D_VERSION(6,14,10,6706), OS_WINXP },73{ 0x1002, 0x7196, D_VERSION(7,14,10,0567), OS_VISTA },74// X140075{ 0x1002, 0x7145, D_VERSION(6,14,10,6706), OS_WINXP },76{ 0x1002, 0x7145, D_VERSION(7,14,10,0567), OS_VISTA },77// X1450 (two sub ids)78{ 0x1002, 0x7186, D_VERSION(6,14,10,6706), OS_WINXP },79{ 0x1002, 0x7186, D_VERSION(7,14,10,0567), OS_VISTA },80{ 0x1002, 0x718D, D_VERSION(6,14,10,6706), OS_WINXP },81{ 0x1002, 0x718D, D_VERSION(7,14,10,0567), OS_VISTA },82// X160083{ 0x1002, 0x71C5, D_VERSION(6,14,10,6706), OS_WINXP },84{ 0x1002, 0x71C5, D_VERSION(7,14,10,0567), OS_VISTA },8586// ATI Mobility Radeon 970087// Reason: workaround for 677333688{ 0x1002, 0x4E50, D_VERSION(6,14,10,6561), OS_WINXP },8990// Nvidia FX 520091// Reason: workaround for 671798892{ 0x10DE, 0x0322, D_VERSION(6,14,11,6921), OS_WINXP },9394// Nvidia FX Go5600, Go570095// Reason: workaround for 671457996{ 0x10DE, 0x031A, D_VERSION(6,14,11,6921), OS_WINXP },97{ 0x10DE, 0x0347, D_VERSION(6,14,11,6921), OS_WINXP },9899// Nvidia Quadro NVS 110M100// Reason: workaround for 6629891101{ 0x10DE, 0x01D7, D_VERSION(6,14,11,5665), OS_WINXP },102103// Nvidia Quadro PCI-E series104// Reason: workaround for 6653860105{ 0x10DE, 0x00FD, D_VERSION(6,14,10,6573), OS_WINXP },106107// Nvidia Quadro FX family108// Reason: workaround for 6772137109{ 0x10DE, 0x00F8, D_VERSION(6,14,10,9381), OS_WINXP },110{ 0x10DE, 0x009D, D_VERSION(6,14,10,9381), OS_WINXP },111{ 0x10DE, 0x029C, D_VERSION(6,14,10,9381), OS_WINXP },112{ 0x10DE, 0x029D, D_VERSION(6,14,10,9381), OS_WINXP },113{ 0x10DE, 0x029E, D_VERSION(6,14,10,9381), OS_WINXP },114{ 0x10DE, 0x029F, D_VERSION(6,14,10,9381), OS_WINXP },115{ 0x10DE, 0x01DE, D_VERSION(6,14,10,9381), OS_WINXP },116{ 0x10DE, 0x039E, D_VERSION(6,14,10,9381), OS_WINXP },117{ 0x10DE, 0x019D, D_VERSION(6,14,10,9381), OS_WINXP },118{ 0x10DE, 0x019E, D_VERSION(6,14,10,9381), OS_WINXP },119{ 0x10DE, 0x040A, D_VERSION(6,14,10,9381), OS_WINXP },120{ 0x10DE, 0x040E, D_VERSION(6,14,10,9381), OS_WINXP },121{ 0x10DE, 0x040F, D_VERSION(6,14,10,9381), OS_WINXP },122{ 0x10DE, 0x061A, D_VERSION(6,14,10,9381), OS_WINXP },123{ 0x10DE, 0x06F9, D_VERSION(6,14,10,9381), OS_WINXP },124{ 0x10DE, 0x05FD, D_VERSION(6,14,10,9381), OS_WINXP },125{ 0x10DE, 0x05FE, D_VERSION(6,14,10,9381), OS_WINXP },126{ 0x10DE, 0x004E, D_VERSION(6,14,10,9381), OS_WINXP },127{ 0x10DE, 0x00CD, D_VERSION(6,14,10,9381), OS_WINXP },128{ 0x10DE, 0x00CE, D_VERSION(6,14,10,9381), OS_WINXP },129{ 0x10DE, 0x014C, D_VERSION(6,14,10,9381), OS_WINXP },130{ 0x10DE, 0x014D, D_VERSION(6,14,10,9381), OS_WINXP },131{ 0x10DE, 0x014E, D_VERSION(6,14,10,9381), OS_WINXP },132133// Nvidia GeForce 6200 TurboCache(TM)134// Reason: workaround for 6588384135{ 0x10DE, 0x0161, NO_VERSION, OS_VISTA },136137// any Matrox board138// Reason: there are no known Matrox boards with proper Direct3D support139{ 0x102B, ALL_DEVICEIDS, NO_VERSION, OS_ALL },140141// any SiS board142// Reason: there aren't many PS2.0-capable SiS boards and they weren't143// tested144{ 0x1039, ALL_DEVICEIDS, NO_VERSION, OS_ALL },145146// any S3 board147// Reason: no available S3 Chrome (the only S3 boards with PS2.0 support)148// for testing149{ 0x5333, ALL_DEVICEIDS, NO_VERSION, OS_ALL },150151// any S3 board (in VIA motherboards)152// Reason: These are S3 chips in VIA motherboards153{ 0x1106, ALL_DEVICEIDS, NO_VERSION, OS_ALL },154155// last record must be empty156{ 0x0000, 0x0000, NO_VERSION, OS_ALL }157};158159#endif // D3DBADHARDWARE_H160161162