src/windows/native/sun/java2d/d3d/D3DBadHardware.h

Print this page




  36   USHORT   OsInfo;        // OSes where the DriverVersion is relevant or, OS_ALL
  37 } ADAPTER_INFO;
  38 
  39 // this DeviceId means that all vendor boards are to be excluded
  40 #define ALL_DEVICEIDS (0xffffffff)
  41 
  42 #define D_VERSION(H1, H2, L1, L2) \
  43   (((LONGLONG)((H1 << 16) | H2) << 32) | ((L1 << 16) | (L2)))
  44 
  45 // this driver version is used to pass the driver version check
  46 // as it is always greater than any driver version
  47 #define MAX_VERSION D_VERSION(0x7fff, 0x7fff, 0x7fff, 0x7fff)
  48 // this DriverVersion means that the version of the driver doesn't matter,
  49 // all versions must fail ("there's no version of the driver that passes")
  50 #define NO_VERSION D_VERSION(0xffff, 0xffff, 0xffff, 0xffff)
  51 
  52 static const ADAPTER_INFO badHardware[] = {
  53 
  54     // Intel HD
  55     // Clarkdale (Desktop) GMA HD Lines
  56     { 0x8086, 0x0042, D_VERSION(6,14,10,5394), OS_WINXP | OS_WINXP_64 },
  57     { 0x8086, 0x0042, D_VERSION(8,15,10,2993), OS_VISTA | OS_WINDOWS7 },
  58     // Arrandale (Mobile) GMA HD Lines
  59     { 0x8086, 0x0046, D_VERSION(6,14,10,5394), OS_WINXP | OS_WINXP_64 },
  60     { 0x8086, 0x0046, D_VERSION(8,15,10,2993), OS_VISTA | OS_WINDOWS7 },
  61 
  62     // Sandy Bridge HD Graphics 3000/2000
  63     { 0x8086, 0x0102, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  64     { 0x8086, 0x0102, D_VERSION(9,17,10,3223), OS_VISTA | OS_WINDOWS7 },
  65     { 0x8086, 0x0106, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  66     { 0x8086, 0x0106, D_VERSION(9,17,10,3223), OS_VISTA | OS_WINDOWS7 },
  67     { 0x8086, 0x0112, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  68     { 0x8086, 0x0112, D_VERSION(9,17,10,3223), OS_VISTA | OS_WINDOWS7 },
  69     { 0x8086, 0x0116, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  70     { 0x8086, 0x0116, D_VERSION(9,17,10,3223), OS_VISTA | OS_WINDOWS7 },
  71     { 0x8086, 0x0122, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  72     { 0x8086, 0x0122, D_VERSION(9,17,10,3223), OS_VISTA | OS_WINDOWS7 },
  73     { 0x8086, 0x0126, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  74     { 0x8086, 0x0126, D_VERSION(9,17,10,3223), OS_VISTA | OS_WINDOWS7 },
  75     { 0x8086, 0x010A, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  76     { 0x8086, 0x010A, D_VERSION(9,17,10,3223), OS_VISTA | OS_WINDOWS7 },
  77 
  78     // Ivy Bridge
  79     { 0x8086, 0x0162, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  80     { 0x8086, 0x0162, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  81     { 0x8086, 0x0166, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  82     { 0x8086, 0x0166, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  83     { 0x8086, 0x016A, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  84     { 0x8086, 0x016A, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  85     { 0x8086, 0x0152, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  86     { 0x8086, 0x0152, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  87     { 0x8086, 0x0156, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  88     { 0x8086, 0x0156, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  89     { 0x8086, 0x015A, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  90     { 0x8086, 0x015A, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  91 
  92     // Haswell
  93     { 0x8086, 0x0402, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  94     { 0x8086, 0x0402, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  95     { 0x8086, 0x0406, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  96     { 0x8086, 0x0406, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },


 153     { 0x8086, 0x29C3, NO_VERSION, OS_ALL },
 154     { 0x8086, 0xA001, NO_VERSION, OS_ALL },
 155     { 0x8086, 0xA002, NO_VERSION, OS_ALL },
 156     { 0x8086, 0xA011, NO_VERSION, OS_ALL },
 157     { 0x8086, 0xA012, NO_VERSION, OS_ALL },
 158     // GMA
 159     { 0x8086, 0x2972, NO_VERSION, OS_ALL },
 160     { 0x8086, 0x2973, NO_VERSION, OS_ALL },
 161     { 0x8086, 0x2992, NO_VERSION, OS_ALL },
 162     { 0x8086, 0x2993, NO_VERSION, OS_ALL },
 163     { 0x8086, 0x29A2, NO_VERSION, OS_ALL },
 164     { 0x8086, 0x29A3, NO_VERSION, OS_ALL },
 165     { 0x8086, 0x2982, NO_VERSION, OS_ALL },
 166     { 0x8086, 0x2983, NO_VERSION, OS_ALL },
 167     { 0x8086, 0x2A02, NO_VERSION, OS_ALL },
 168     { 0x8086, 0x2A03, NO_VERSION, OS_ALL },
 169     { 0x8086, 0x2A12, NO_VERSION, OS_ALL },
 170     { 0x8086, 0x2A13, NO_VERSION, OS_ALL },
 171 
 172     // Eaglelake (Desktop) GMA 4500 Lines
 173     { 0x8086, 0x2E42, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 174     { 0x8086, 0x2E42, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 175     { 0x8086, 0x2E43, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 176     { 0x8086, 0x2E43, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 177     { 0x8086, 0x2E92, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 178     { 0x8086, 0x2E92, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 179     { 0x8086, 0x2E93, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 180     { 0x8086, 0x2E93, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 181     { 0x8086, 0x2E12, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 182     { 0x8086, 0x2E12, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 183     { 0x8086, 0x2E13, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 184     { 0x8086, 0x2E13, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 185     // Eaglelake (Desktop) GMA X4500 Lines
 186     { 0x8086, 0x2E32, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 187     { 0x8086, 0x2E32, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 188     { 0x8086, 0x2E33, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 189     { 0x8086, 0x2E33, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 190     { 0x8086, 0x2E22, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 191     { 0x8086, 0x2E22, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 192     // Eaglelake (Desktop) GMA X4500HD Lines
 193     { 0x8086, 0x2E23, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 194     { 0x8086, 0x2E23, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 195     // Cantiga (Mobile) GMA 4500MHD Lines
 196     { 0x8086, 0x2A42, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 197     { 0x8086, 0x2A42, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 198     { 0x8086, 0x2A43, D_VERSION(6,14,10,5420), OS_WINXP | OS_WINXP_64 },
 199     { 0x8086, 0x2A43, D_VERSION(8,15,10,2869), OS_VISTA | OS_WINDOWS7 },
 200 
 201     // ATI Mobility Radeon X1600, X1400, X1450, X1300, X1350
 202     // Reason: workaround for 6613066, 6687166
 203     // X1300 (four sub ids)
 204     { 0x1002, 0x714A, D_VERSION(6,14,10,6706), OS_WINXP },
 205     { 0x1002, 0x714A, D_VERSION(7,14,10,0567), OS_VISTA },
 206     { 0x1002, 0x7149, D_VERSION(6,14,10,6706), OS_WINXP },
 207     { 0x1002, 0x7149, D_VERSION(7,14,10,0567), OS_VISTA },
 208     { 0x1002, 0x714B, D_VERSION(6,14,10,6706), OS_WINXP },
 209     { 0x1002, 0x714B, D_VERSION(7,14,10,0567), OS_VISTA },
 210     { 0x1002, 0x714C, D_VERSION(6,14,10,6706), OS_WINXP },
 211     { 0x1002, 0x714C, D_VERSION(7,14,10,0567), OS_VISTA },
 212     // X1350 (three sub ids)
 213     { 0x1002, 0x718B, D_VERSION(6,14,10,6706), OS_WINXP },
 214     { 0x1002, 0x718B, D_VERSION(7,14,10,0567), OS_VISTA },
 215     { 0x1002, 0x718C, D_VERSION(6,14,10,6706), OS_WINXP },
 216     { 0x1002, 0x718C, D_VERSION(7,14,10,0567), OS_VISTA },
 217     { 0x1002, 0x7196, D_VERSION(6,14,10,6706), OS_WINXP },
 218     { 0x1002, 0x7196, D_VERSION(7,14,10,0567), OS_VISTA },
 219     // X1400




  36   USHORT   OsInfo;        // OSes where the DriverVersion is relevant or, OS_ALL
  37 } ADAPTER_INFO;
  38 
  39 // this DeviceId means that all vendor boards are to be excluded
  40 #define ALL_DEVICEIDS (0xffffffff)
  41 
  42 #define D_VERSION(H1, H2, L1, L2) \
  43   (((LONGLONG)((H1 << 16) | H2) << 32) | ((L1 << 16) | (L2)))
  44 
  45 // this driver version is used to pass the driver version check
  46 // as it is always greater than any driver version
  47 #define MAX_VERSION D_VERSION(0x7fff, 0x7fff, 0x7fff, 0x7fff)
  48 // this DriverVersion means that the version of the driver doesn't matter,
  49 // all versions must fail ("there's no version of the driver that passes")
  50 #define NO_VERSION D_VERSION(0xffff, 0xffff, 0xffff, 0xffff)
  51 
  52 static const ADAPTER_INFO badHardware[] = {
  53 
  54     // Intel HD
  55     // Clarkdale (Desktop) GMA HD Lines
  56     { 0x8086, 0x0042, NO_VERSION, OS_ALL },

  57     // Arrandale (Mobile) GMA HD Lines
  58     { 0x8086, 0x0046, NO_VERSION, OS_ALL },

  59 
  60     // Sandy Bridge HD Graphics 3000/2000
  61     { 0x8086, 0x0102, NO_VERSION, OS_ALL },
  62     { 0x8086, 0x0106, NO_VERSION, OS_ALL },
  63     { 0x8086, 0x0112, NO_VERSION, OS_ALL },
  64     { 0x8086, 0x0116, NO_VERSION, OS_ALL },
  65     { 0x8086, 0x0122, NO_VERSION, OS_ALL },
  66     { 0x8086, 0x0126, NO_VERSION, OS_ALL },
  67     { 0x8086, 0x010A, NO_VERSION, OS_ALL },







  68 
  69     // Ivy Bridge
  70     { 0x8086, 0x0162, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  71     { 0x8086, 0x0162, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  72     { 0x8086, 0x0166, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  73     { 0x8086, 0x0166, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  74     { 0x8086, 0x016A, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  75     { 0x8086, 0x016A, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  76     { 0x8086, 0x0152, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  77     { 0x8086, 0x0152, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  78     { 0x8086, 0x0156, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  79     { 0x8086, 0x0156, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  80     { 0x8086, 0x015A, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  81     { 0x8086, 0x015A, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  82 
  83     // Haswell
  84     { 0x8086, 0x0402, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  85     { 0x8086, 0x0402, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },
  86     { 0x8086, 0x0406, D_VERSION(6,14,10,5437), OS_WINXP | OS_WINXP_64 },
  87     { 0x8086, 0x0406, D_VERSION(9,18,10,3257), OS_VISTA | OS_WINDOWS7 },


 144     { 0x8086, 0x29C3, NO_VERSION, OS_ALL },
 145     { 0x8086, 0xA001, NO_VERSION, OS_ALL },
 146     { 0x8086, 0xA002, NO_VERSION, OS_ALL },
 147     { 0x8086, 0xA011, NO_VERSION, OS_ALL },
 148     { 0x8086, 0xA012, NO_VERSION, OS_ALL },
 149     // GMA
 150     { 0x8086, 0x2972, NO_VERSION, OS_ALL },
 151     { 0x8086, 0x2973, NO_VERSION, OS_ALL },
 152     { 0x8086, 0x2992, NO_VERSION, OS_ALL },
 153     { 0x8086, 0x2993, NO_VERSION, OS_ALL },
 154     { 0x8086, 0x29A2, NO_VERSION, OS_ALL },
 155     { 0x8086, 0x29A3, NO_VERSION, OS_ALL },
 156     { 0x8086, 0x2982, NO_VERSION, OS_ALL },
 157     { 0x8086, 0x2983, NO_VERSION, OS_ALL },
 158     { 0x8086, 0x2A02, NO_VERSION, OS_ALL },
 159     { 0x8086, 0x2A03, NO_VERSION, OS_ALL },
 160     { 0x8086, 0x2A12, NO_VERSION, OS_ALL },
 161     { 0x8086, 0x2A13, NO_VERSION, OS_ALL },
 162 
 163     // Eaglelake (Desktop) GMA 4500 Lines
 164     { 0x8086, 0x2E42, NO_VERSION, OS_ALL },
 165     { 0x8086, 0x2E43, NO_VERSION, OS_ALL },
 166     { 0x8086, 0x2E92, NO_VERSION, OS_ALL },
 167     { 0x8086, 0x2E93, NO_VERSION, OS_ALL },
 168     { 0x8086, 0x2E12, NO_VERSION, OS_ALL },
 169     { 0x8086, 0x2E13, NO_VERSION, OS_ALL },






 170     // Eaglelake (Desktop) GMA X4500 Lines
 171     { 0x8086, 0x2E32, NO_VERSION, OS_ALL },
 172     { 0x8086, 0x2E33, NO_VERSION, OS_ALL },
 173     { 0x8086, 0x2E22, NO_VERSION, OS_ALL },



 174     // Eaglelake (Desktop) GMA X4500HD Lines
 175     { 0x8086, 0x2E23, NO_VERSION, OS_ALL },

 176     // Cantiga (Mobile) GMA 4500MHD Lines
 177     { 0x8086, 0x2A42, NO_VERSION, OS_ALL },
 178     { 0x8086, 0x2A43, NO_VERSION, OS_ALL },


 179 
 180     // ATI Mobility Radeon X1600, X1400, X1450, X1300, X1350
 181     // Reason: workaround for 6613066, 6687166
 182     // X1300 (four sub ids)
 183     { 0x1002, 0x714A, D_VERSION(6,14,10,6706), OS_WINXP },
 184     { 0x1002, 0x714A, D_VERSION(7,14,10,0567), OS_VISTA },
 185     { 0x1002, 0x7149, D_VERSION(6,14,10,6706), OS_WINXP },
 186     { 0x1002, 0x7149, D_VERSION(7,14,10,0567), OS_VISTA },
 187     { 0x1002, 0x714B, D_VERSION(6,14,10,6706), OS_WINXP },
 188     { 0x1002, 0x714B, D_VERSION(7,14,10,0567), OS_VISTA },
 189     { 0x1002, 0x714C, D_VERSION(6,14,10,6706), OS_WINXP },
 190     { 0x1002, 0x714C, D_VERSION(7,14,10,0567), OS_VISTA },
 191     // X1350 (three sub ids)
 192     { 0x1002, 0x718B, D_VERSION(6,14,10,6706), OS_WINXP },
 193     { 0x1002, 0x718B, D_VERSION(7,14,10,0567), OS_VISTA },
 194     { 0x1002, 0x718C, D_VERSION(6,14,10,6706), OS_WINXP },
 195     { 0x1002, 0x718C, D_VERSION(7,14,10,0567), OS_VISTA },
 196     { 0x1002, 0x7196, D_VERSION(6,14,10,6706), OS_WINXP },
 197     { 0x1002, 0x7196, D_VERSION(7,14,10,0567), OS_VISTA },
 198     // X1400