Skip to content

Commit 554e16f

Browse files
committed
Merge pull request #95853 from bruvzg/win_no_id
[Windows] Simplify ANGLE fallback list and remove ID checks.
2 parents 71a485a + ab28799 commit 554e16f

File tree

2 files changed

+17
-122
lines changed

2 files changed

+17
-122
lines changed

main/main.cpp

Lines changed: 5 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -2274,131 +2274,20 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
22742274
FORCE_ANGLE("ATI", "Radeon (TM) R9 M3");
22752275
FORCE_ANGLE("AMD", "Radeon (TM) R9 M3");
22762276

2277-
// Intel GPUs.
2278-
FORCE_ANGLE("0x8086", "0x0042"); // HD Graphics, Gen5, Clarkdale
2279-
FORCE_ANGLE("0x8086", "0x0046"); // HD Graphics, Gen5, Arrandale
2280-
FORCE_ANGLE("0x8086", "0x010A"); // HD Graphics, Gen6, Sandy Bridge
2281-
FORCE_ANGLE("Intel", "Intel HD Graphics 2000");
2282-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 2000");
2283-
FORCE_ANGLE("0x8086", "0x0102"); // HD Graphics 2000, Gen6, Sandy Bridge
2284-
FORCE_ANGLE("0x8086", "0x0116"); // HD Graphics 3000, Gen6, Sandy Bridge
2285-
FORCE_ANGLE("Intel", "Intel HD Graphics 3000");
2286-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 3000");
2287-
FORCE_ANGLE("0x8086", "0x0126"); // HD Graphics 3000, Gen6, Sandy Bridge
2288-
FORCE_ANGLE("Intel", "Intel HD Graphics P3000");
2289-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics P3000");
2290-
FORCE_ANGLE("0x8086", "0x0112"); // HD Graphics P3000, Gen6, Sandy Bridge
2291-
FORCE_ANGLE("0x8086", "0x0122");
2292-
FORCE_ANGLE("0x8086", "0x015A"); // HD Graphics, Gen7, Ivy Bridge
2293-
FORCE_ANGLE("Intel", "Intel HD Graphics 2500");
2294-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 2500");
2295-
FORCE_ANGLE("0x8086", "0x0152"); // HD Graphics 2500, Gen7, Ivy Bridge
2296-
FORCE_ANGLE("Intel", "Intel HD Graphics 4000");
2297-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 4000");
2298-
FORCE_ANGLE("0x8086", "0x0162"); // HD Graphics 4000, Gen7, Ivy Bridge
2299-
FORCE_ANGLE("0x8086", "0x0166");
2300-
FORCE_ANGLE("Intel", "Intel HD Graphics P4000");
2301-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics P4000");
2302-
FORCE_ANGLE("0x8086", "0x016A"); // HD Graphics P4000, Gen7, Ivy Bridge
2277+
// Intel GPUs (Gen7-Gen9.5 devices).
2278+
FORCE_ANGLE("Intel", "Intel(R) HD Graphics");
2279+
FORCE_ANGLE("Intel", "Intel HD Graphics");
23032280
FORCE_ANGLE("Intel", "Intel(R) Vallyview Graphics");
2304-
FORCE_ANGLE("0x8086", "0x0F30"); // Intel(R) Vallyview Graphics, Gen7, Vallyview
2305-
FORCE_ANGLE("0x8086", "0x0F31");
2306-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 4200");
2307-
FORCE_ANGLE("0x8086", "0x0A1E"); // Intel(R) HD Graphics 4200, Gen7.5, Haswell
2308-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 4400");
2309-
FORCE_ANGLE("0x8086", "0x0A16"); // Intel(R) HD Graphics 4400, Gen7.5, Haswell
2310-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 4600");
2311-
FORCE_ANGLE("0x8086", "0x0412"); // Intel(R) HD Graphics 4600, Gen7.5, Haswell
2312-
FORCE_ANGLE("0x8086", "0x0416");
2313-
FORCE_ANGLE("0x8086", "0x0426");
2314-
FORCE_ANGLE("0x8086", "0x0D12");
2315-
FORCE_ANGLE("0x8086", "0x0D16");
2316-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics P4600/P4700");
2317-
FORCE_ANGLE("0x8086", "0x041A"); // Intel(R) HD Graphics P4600/P4700, Gen7.5, Haswell
2318-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 5000");
2319-
FORCE_ANGLE("0x8086", "0x0422"); // Intel(R) HD Graphics 5000, Gen7.5, Haswell
2320-
FORCE_ANGLE("0x8086", "0x042A");
2321-
FORCE_ANGLE("0x8086", "0x0A26");
23222281
FORCE_ANGLE("Intel", "Intel(R) Iris(TM) Graphics 5100");
2323-
FORCE_ANGLE("0x8086", "0x0A22"); // Intel(R) Iris(TM) Graphics 5100, Gen7.5, Haswell
2324-
FORCE_ANGLE("0x8086", "0x0A2A");
2325-
FORCE_ANGLE("0x8086", "0x0A2B");
2326-
FORCE_ANGLE("0x8086", "0x0A2E");
23272282
FORCE_ANGLE("Intel", "Intel(R) Iris(TM) Pro Graphics 5200");
2328-
FORCE_ANGLE("0x8086", "0x0D22"); // Intel(R) Iris(TM) Pro Graphics 5200, Gen7.5, Haswell
2329-
FORCE_ANGLE("0x8086", "0x0D26");
2330-
FORCE_ANGLE("0x8086", "0x0D2A");
2331-
FORCE_ANGLE("0x8086", "0x0D2B");
2332-
FORCE_ANGLE("0x8086", "0x0D2E");
2333-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 400");
2334-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 405");
2335-
FORCE_ANGLE("0x8086", "0x22B0"); // Intel(R) HD Graphics, Gen8, Cherryview Braswell
2336-
FORCE_ANGLE("0x8086", "0x22B1");
2337-
FORCE_ANGLE("0x8086", "0x22B2");
2338-
FORCE_ANGLE("0x8086", "0x22B3");
2339-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 5300");
2340-
FORCE_ANGLE("0x8086", "0x161E"); // Intel(R) HD Graphics 5300, Gen8, Broadwell
2341-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 5500");
2342-
FORCE_ANGLE("0x8086", "0x1616"); // Intel(R) HD Graphics 5500, Gen8, Broadwell
2343-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 5600");
2344-
FORCE_ANGLE("0x8086", "0x1612"); // Intel(R) HD Graphics 5600, Gen8, Broadwell
2345-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 6000");
2346-
FORCE_ANGLE("0x8086", "0x1626"); // Intel(R) HD Graphics 6000, Gen8, Broadwell
23472283
FORCE_ANGLE("Intel", "Intel(R) Iris(TM) Graphics 6100");
2348-
FORCE_ANGLE("0x8086", "0x162B"); // Intel(R) Iris(TM) Graphics 6100, Gen8, Broadwell
23492284
FORCE_ANGLE("Intel", "Intel(R) Iris(TM) Pro Graphics 6200");
2350-
FORCE_ANGLE("0x8086", "0x1622"); // Intel(R) Iris(TM) Pro Graphics 6200, Gen8, Broadwell
23512285
FORCE_ANGLE("Intel", "Intel(R) Iris(TM) Pro Graphics P6300");
2352-
FORCE_ANGLE("0x8086", "0x162A"); // Intel(R) Iris(TM) Pro Graphics P6300, Gen8, Broadwell
2353-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 500");
2354-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 505");
2355-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 510");
2356-
FORCE_ANGLE("0x8086", "0x1902"); // Intel(R) HD Graphics 510, Gen9, Skylake
2357-
FORCE_ANGLE("0x8086", "0x1906");
2358-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 520");
2359-
FORCE_ANGLE("0x8086", "0x1916"); // Intel(R) HD Graphics 520, Gen9, Skylake
2360-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 530");
2361-
FORCE_ANGLE("0x8086", "0x1912"); // Intel(R) HD Graphics 530, Gen9, Skylake
2362-
FORCE_ANGLE("0x8086", "0x191B");
2363-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics P530");
2364-
FORCE_ANGLE("0x8086", "0x191D"); // Intel(R) HD Graphics P530, Gen9, Skylake
2365-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 515");
2366-
FORCE_ANGLE("0x8086", "0x191E"); // Intel(R) HD Graphics 515, Gen9, Skylake
23672286
FORCE_ANGLE("Intel", "Intel(R) Iris Graphics 540");
2368-
FORCE_ANGLE("0x8086", "0x1926"); // Intel(R) Iris Graphics 540, Gen9, Skylake
2369-
FORCE_ANGLE("0x8086", "0x1927");
2370-
FORCE_ANGLE("Intel", "Intel(R) Iris Pro Graphics 580");
2371-
FORCE_ANGLE("0x8086", "0x193B"); // Intel(R) Iris Pro Graphics 580, Gen9, Skylake
2372-
FORCE_ANGLE("Intel", "Intel(R) Iris Pro Graphics P580");
2373-
FORCE_ANGLE("0x8086", "0x193D"); // Intel(R) Iris Pro Graphics P580, Gen9, Skylake
2374-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 610");
2375-
FORCE_ANGLE("0x8086", "0x5902"); // Intel(R) HD Graphics 610, Gen9.5, Kaby Lake
2376-
FORCE_ANGLE("0x8086", "0x5906");
2377-
FORCE_ANGLE("0x8086", "0x5908");
2378-
FORCE_ANGLE("0x8086", "0x590A");
2379-
FORCE_ANGLE("0x8086", "0x590B");
2380-
FORCE_ANGLE("0x8086", "0x590E");
2381-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 615");
2382-
FORCE_ANGLE("0x8086", "0x5913"); // Intel(R) HD Graphics 615, Gen9.5, Kaby Lake
2383-
FORCE_ANGLE("0x8086", "0x5915");
2384-
FORCE_ANGLE("0x8086", "0x591E");
2385-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 620");
2386-
FORCE_ANGLE("0x8086", "0x5916"); // Intel(R) HD Graphics 620, Gen9.5, Kaby Lake
2387-
FORCE_ANGLE("0x8086", "0x5917");
2388-
FORCE_ANGLE("0x8086", "0x5921");
2389-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 630");
2390-
FORCE_ANGLE("0x8086", "0x5912"); // Intel(R) HD Graphics 630, Gen9.5, Kaby Lake
2391-
FORCE_ANGLE("0x8086", "0x591B");
2392-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics 635");
2393-
FORCE_ANGLE("0x8086", "0x5923"); // Intel(R) HD Graphics 635, Gen9.5, Kaby Lake
23942287
FORCE_ANGLE("Intel", "Intel(R) Iris Plus Graphics 640");
2395-
FORCE_ANGLE("0x8086", "0x5926"); // Intel(R) Iris Plus Graphics 640, Gen9.5, Kaby Lake
23962288
FORCE_ANGLE("Intel", "Intel(R) Iris Plus Graphics 650");
2397-
FORCE_ANGLE("0x8086", "0x5927"); // Iris Plus Graphics 650, Gen9.5, Kaby Lake
2398-
FORCE_ANGLE("0x8086", "0x593B");
2399-
FORCE_ANGLE("Intel", "Intel(R) HD Graphics P630");
2400-
FORCE_ANGLE("0x8086", "0x591A"); // Intel(R) HD Graphics P630, Gen9.5, Kaby Lake
2401-
FORCE_ANGLE("0x8086", "0x591D");
2289+
FORCE_ANGLE("Intel", "Intel(R) Iris Pro Graphics 580");
2290+
FORCE_ANGLE("Intel", "Intel(R) Iris Pro Graphics P580");
24022291

24032292
#undef FORCE_ANGLE
24042293

platform/windows/display_server_windows.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7162,21 +7162,27 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
71627162
bool force_angle = false;
71637163
gl_supported = gl_info["version"].operator int() >= 30003;
71647164

7165-
Vector2i device_id = _get_device_ids(gl_info["name"]);
7165+
Vector2i device_id = Vector2i(-1, -1);
71667166
Array device_list = GLOBAL_GET("rendering/gl_compatibility/force_angle_on_devices");
71677167
for (int i = 0; i < device_list.size(); i++) {
71687168
const Dictionary &device = device_list[i];
71697169
if (device.has("vendor") && device.has("name")) {
71707170
const String &vendor = device["vendor"];
71717171
const String &name = device["name"];
7172-
if (device_id != Vector2i() && vendor.begins_with("0x") && name.begins_with("0x") && device_id.x == vendor.lstrip("0x").hex_to_int() && device_id.y == name.lstrip("0x").hex_to_int()) {
7173-
// Check vendor/device IDs.
7174-
force_angle = true;
7175-
break;
7176-
} else if (gl_info["vendor"].operator String().to_upper().contains(vendor.to_upper()) && (name == "*" || gl_info["name"].operator String().to_upper().contains(name.to_upper()))) {
7172+
if (gl_info["vendor"].operator String().containsn(vendor) && (name == "*" || gl_info["name"].operator String().containsn(name))) {
71777173
// Check vendor/device names.
71787174
force_angle = true;
71797175
break;
7176+
} else if (vendor.begins_with("0x") && name.begins_with("0x")) {
7177+
if (device_id == Vector2i(-1, -1)) {
7178+
// Load device IDs.
7179+
device_id = _get_device_ids(gl_info["name"]);
7180+
}
7181+
if (device_id.x == vendor.lstrip("0x").hex_to_int() && device_id.y == name.lstrip("0x").hex_to_int()) {
7182+
// Check vendor/device IDs.
7183+
force_angle = true;
7184+
break;
7185+
}
71807186
}
71817187
}
71827188
}

0 commit comments

Comments
 (0)