From d048afe845fa1e8bf3502de81fcfb16f083edca8 Mon Sep 17 00:00:00 2001
From: andreykproductengine <akleshchev@productengine.com>
Date: Mon, 2 Nov 2015 20:31:15 +0200
Subject: [PATCH] MAINT-5743 Fixed Remove gpu_table and references to it from
 viewer packaging

---
 indra/newview/CMakeLists.txt       |   1 -
 indra/newview/ViewerInstall.cmake  |   2 +-
 indra/newview/gpu_table.txt        | 663 -----------------------------
 indra/newview/llfeaturemanager.cpp |   2 -
 scripts/gpu_table_tester           | 293 -------------
 5 files changed, 1 insertion(+), 960 deletions(-)
 delete mode 100755 indra/newview/gpu_table.txt
 delete mode 100755 scripts/gpu_table_tester

diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 001cdf2de40..fcf5d912f46 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1375,7 +1375,6 @@ if (DARWIN)
   set(viewer_RESOURCE_FILES
     secondlife.icns
     macview.r
-    gpu_table.txt
     Info-SecondLife.plist
     SecondLife.xib/
     # CMake doesn't seem to support Xcode language variants well just yet
diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake
index 0b0d3e2adc5..ac2247c8156 100755
--- a/indra/newview/ViewerInstall.cmake
+++ b/indra/newview/ViewerInstall.cmake
@@ -19,7 +19,7 @@ else (IS_ARTWORK_PRESENT)
   message(STATUS "WARNING: Artwork is not present, and will not be installed")
 endif (IS_ARTWORK_PRESENT)
 
-install(FILES featuretable_linux.txt featuretable_solaris.txt gpu_table.txt
+install(FILES featuretable_linux.txt featuretable_solaris.txt
         DESTINATION ${APP_SHARE_DIR}
         )
 
diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt
deleted file mode 100755
index badbe486b96..00000000000
--- a/indra/newview/gpu_table.txt
+++ /dev/null
@@ -1,663 +0,0 @@
-//GPU_TABLE - that token on line 1 tags this as a gpu table file
-//
-// Categorizes graphics chips into various classes by name
-//
-// The table contains regular expressions to match
-// against driver strings, a class number, and whether we claim
-// to support them or not.
-//
-// Case is not significant in either the regular expressions or the
-// driver strings; the recognizer code lowercases both before using
-// them.
-//
-// If you modify this table, use the (perl) gpu_table_tester
-// to compare the results of recognizing known cards (it is easy
-// to mess this up by putting things in the wrong order):
-//
-// perl ../../scripts/gpu_table_tester -g gpu_table.txt tests/gpus_seen.txt | diff - tests/gpus_results.txt
-//
-// Format:
-//	 Fields are separated by one or more tab (not space) characters
-//	 <recognizer name>	<regular expression>	<class>		<supported>	<stats based> <expected OpenGL version>
-//
-// Class Numbers:
-//		0 - Defaults to low graphics settings.	No shaders on by default
-//		1 - Defaults to low-mid graphics settings.		Basic shaders on by default
-//		2 - Defaults to mid graphics settings.			Atmospherics on by default
-//		3 - Defaults to mid-high graphics settings.		Advanced Lighting Model on by default
-//		4 - Defaults to high graphics settings.			Ambient Occlusion on by default
-//		5 - Defaults to high-ultra graphics settings.	Shadows set to "Sun/Moon+Projectors."
-//
-// Supported Number:
-//		0 - We claim to not support this card.
-//		1 - We claim to support this card.
-//
-
-3Dfx									.*3Dfx.*											0	0	0	0
-3Dlabs									.*3Dlabs.*											0	0	0	0
-Hijacker								.*Mohr.*Hijacker.*									0	0	0	0
-ATI 3D-Analyze							.*ATI.*3D-Analyze.*									0	0	0	0
-ATI ARES								.*ATI.*ARES.*										0	0	0	0
-ATI All-in-Wonder 7500					.*ATI.*All-in-Wonder 75.*							0	1	0	0
-ATI All-in-Wonder 8500					.*ATI.*All-in-Wonder 85.*							0	1	0	0
-ATI All-in-Wonder 9200					.*ATI.*All-in-Wonder 92.*							0	1	0	0
-ATI All-in-Wonder 9xxx					.*ATI.*All-in-Wonder 9.*							1	1	0	2.1
-ATI All-in-Wonder HD					.*ATI.*All-in-Wonder HD.*							1	1	1	3.3
-ATI All-in-Wonder X600					.*ATI.*All-in-Wonder X6.*							1	1	0	0
-ATI All-in-Wonder X800					.*ATI.*All-in-Wonder X8.*							1	1	1	2.1
-ATI All-in-Wonder X1800					.*ATI.*All-in-Wonder X18.*							3	1	0	0
-ATI All-in-Wonder X1900					.*ATI.*All-in-Wonder X19.*							3	1	0	0
-ATI All-in-Wonder PCI-E					.*ATI.*All-in-Wonder.*PCI-E.*						1	1	0	0
-ATI All-in-Wonder Radeon				.*ATI.*All-in-Wonder Radeon.*						0	1	0	0
-ATI Radeon X1300						.*ATI.*(Radeon|Diamond|ASUS) *X13.* ?.*							2	1	1	2.1
-ATI Radeon X1400						.*ATI.*(Radeon|Diamond|ASUS) *X14.* ?.*							2	1	1	2.1
-ATI Radeon X1500						.*ATI.*(Radeon|Diamond|ASUS) *X15.* ?.*							2	1	1	2.1
-ATI Radeon X1600						.*ATI.*(Radeon|Diamond|ASUS) *X16.* ?.*							2	1	1	2.1
-ATI Radeon X1700						.*ATI.*(Radeon|Diamond|ASUS) *X17.* ?.*							2	1	1	2.1
-ATI Radeon X1800						.*ATI.*(Radeon|Diamond|ASUS) *X18.* ?.*						3	1	1	2.1
-ATI Radeon X1900						.*ATI.*(Radeon|Diamond|ASUS) *X19.* ?.*				2	1	1	2.1
-ATI Radeon X2800						.*ATI.*(Radeon|Diamond|ASUS) *X28.* ?.*							2	1	1	2.1
-ATI Display Adapter						.*ATI.*display adapter.*							1	1	1	4.1
-ATI FireGL 5200							.*ATI.*FireGL V52.*									1	1	1	2.1
-ATI FireGL 5xxx							.*ATI.*FireGL V5.*									2	1	1	3.3
-ATI FireGL								.*ATI.*Fire.*GL.*									4	1	1	4.2
-ATI FirePro M3900						.*ATI.*FirePro.*M39.*								2	1	0	4.1
-ATI FirePro M5800						.*ATI.*FirePro.*M58.*								3	1	0	0
-ATI FirePro M7740						.*ATI.*FirePro.*M77.*								3	1	0	0
-ATI FirePro M7820						.*ATI.*FirePro.*M78.*								5	1	1	4.2
-ATI FireMV								.*ATI.*FireMV.*										0	1	1	3.2
-ATI Generic								.*ATI.*Generic.*									0	0	0	0
-ATI Hercules 9800						.*ATI.*Hercules.* 9800.*							1	1	0	0
-ATI IGP 340M							.*ATI.*IGP.* 34[0-9]M.*								0	0	0	1.3
-ATI M52									.*ATI.*M52.*										1	1	0	0
-ATI M54									.*ATI.*M54.*										1	1	0	0
-ATI M56									.*ATI.*M56.*										1	1	0	0
-ATI M71									.*ATI.*M71.*										1	1	0	0
-ATI M72									.*ATI.*M72.*										1	1	0	0
-ATI M76									.*ATI.*M76.*										3	1	0	0
-ATI Mobility Radeon 4100				.*ATI.*Mobility.* 41..								1	1	1	3.3
-ATI Mobility Radeon 5000				.*ATI.*Mobility.* 50..								1	1	1	4.2
-ATI Mobility Radeon 7xxx				.*ATI.*Mobility.*Radeon 7.*							0	1	1	1.3
-ATI Mobility Radeon 8xxx				.*ATI.*Mobility.*Radeon 8.*							0	1	0	0
-ATI Mobility Radeon 9800				.*ATI.*Mobility.* 98.*								1	1	0	0
-ATI Mobility Radeon 9700				.*ATI.*Mobility.* 97.*								0	1	1	2.1
-ATI Mobility Radeon 9600				.*ATI.*Mobility.* 96.*								1	1	1	2.1
-ATI Mobility Radeon HD 530v				.*ATI.*Mobility.*HD 530v.*							1	1	1	3.3
-ATI Mobility Radeon HD 540v				.*ATI.*Mobility.*HD 540v.*							1	1	1	3.3
-ATI Mobility Radeon HD 545v				.*ATI.*Mobility.*HD 545v.*							2	1	1	4
-ATI Mobility Radeon HD 550v				.*ATI.*Mobility.*HD 550v.*							3	1	1	4
-ATI Mobility Radeon HD 560v				.*ATI.*Mobility.*HD 560v.*							3	1	1	3.2
-ATI Mobility Radeon HD 565v				.*ATI.*Mobility.*HD 565v.*							3	1	1	3.3
-ATI Mobility Radeon HD 2300				.*ATI.*Mobility.*HD 23.*							0	1	1	2.1
-ATI Mobility Radeon HD 2400				.*ATI.*Mobility.*HD 24.*							1	1	1	3.3
-ATI Mobility Radeon HD 2600				.*ATI.*Mobility.*HD 26.*							1	1	1	3.3
-ATI Mobility Radeon HD 2700				.*ATI.*Mobility.*HD 27.*							3	1	0	0
-ATI Mobility Radeon HD 3100				.*ATI.*Mobility.*HD 31.*							0	1	0	0
-ATI Mobility Radeon HD 3200				.*ATI.*Mobility.*HD 32.*							0	1	0	0
-ATI Mobility Radeon HD 3400				.*ATI.*Mobility.*HD 34.*							1	1	1	4
-ATI Mobility Radeon HD 3600				.*ATI.*Mobility.*HD 36.*							1	1	1	4
-ATI Mobility Radeon HD 3800				.*ATI.*Mobility.*HD 38.*							3	1	1	3.3
-ATI Mobility Radeon HD 4200				.*ATI.*Mobility.*HD 42.*							1	1	1	4
-ATI Mobility Radeon HD 4300				.*ATI.*Mobility.*(HD |HD)43.*						1	1	1	4
-ATI Mobility Radeon HD 4500				.*ATI.*Mobility.*HD 45.*							1	1	1	4
-ATI Mobility Radeon HD 4600				.*ATI.*Mobility.*HD 46.*							2	1	1	3.3
-ATI Mobility Radeon HD 4800				.*ATI.*Mobility.*HD 48.*							3	1	1	3.3
-ATI Mobility Radeon HD 5000 Series		.*ATI.*Mobility.*HD 50.*							3	1	1	3.2
-ATI Mobility Radeon HD 5100				.*ATI.*Mobility.*HD 51.*							3	1	1	3.2
-ATI Mobility Radeon HD 5300				.*ATI.*Mobility.*HD 53.*							3	1	0	0
-ATI Mobility Radeon HD 5400				.*ATI.*Mobility.*HD 54.*							2	1	1	4.2
-ATI Mobility Radeon HD 5500				.*ATI.*Mobility.*HD 55.*							3	1	0	4.2
-ATI Mobility Radeon HD 5600				.*ATI.*Mobility.*HD 56.*							3	1	1	4.2
-ATI Mobility Radeon HD 5700				.*ATI.*Mobility.*HD 57.*							3	1	1	4.1
-ATI Mobility Radeon X1000				.*ATI.*Mobility.*Radeon ?X1..*								2	1	0	2.1
-ATI Mobility Radeon X1200				.*ATI.*Mobility.*Radeon ?X12.*								2	1	0	2.1
-ATI Mobility Radeon X2000				.*ATI.*Mobility.*Radeon ?X20.*								2	1	0	2.1
-ATI Mobility Radeon X2300				.*ATI.*Mobility.*Radeon ?X23.*								2	1	0	2.1
-ATI Mobility Radeon X2500				.*ATI.*Mobility.*Radeon ?X25.*								2	1	0	2.1
-ATI Mobility Radeon XX000				.*ATI.*Mobility.*Radeon ?Xx.*								2	1	0	2.1
-ATI Radeon HD 5xx						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)5x.		1	1	1	4
-ATI Radeon HD 6200D/G/M				.*ATI.*AMD Radeon.* (HD|HD )62..[DGM].*				3	1	0	4.2
-ATI Radeon HD 6300D/G/M				.*ATI.*AMD Radeon.* (HD|HD )63..[DGM].*				3	1	1	4.2
-ATI Radeon HD 6400D/G/M				.*ATI.*AMD Radeon.* (HD|HD )64..[DGM].*				3	1	0	4.2
-ATI Radeon HD 6500D/G/M				.*ATI.*AMD Radeon.* (HD|HD )65..[DGM].*				4	1	1	4.2
-ATI Radeon HD 6600D/G/M				.*ATI.*AMD Radeon.* (HD|HD )66..[DGM].*				4	1	0	4.2
-ATI Radeon HD 6700D/G/M				.*ATI.*AMD Radeon.* (HD|HD )67..[DGM].*				4	1	0	4.2
-ATI Radeon HD 6800D/G/M				.*ATI.*AMD Radeon.* (HD|HD )68..[DGM].*				4	1	0	4.2
-ATI Radeon HD 6900D/G/M				.*ATI.*AMD Radeon.* (HD|HD )69..[DGM].*				4	1	0	4.2
-ATI Radeon HD 7200D/G/M				.*ATI.*AMD Radeon.* (HD|HD )72..[DGM].*				3	1	0	4.2
-ATI Radeon HD 7300D/G/M				.*ATI.*AMD Radeon.* (HD|HD )73..[DGM].*				3	1	0	4.2
-ATI Radeon HD 7400D/G/M				.*ATI.*AMD Radeon.* (HD|HD )74..[DGM].*				3	1	0	4.2
-ATI Radeon HD 7500D/G/M				.*ATI.*AMD Radeon.* (HD|HD )75..[DGM].*				4	1	0	4.2
-ATI Radeon HD 7600D/G/M				.*ATI.*AMD Radeon.* (HD|HD )76..[DGM].*				4	1	0	4.2
-ATI Radeon HD 7700D/G/M				.*ATI.*AMD Radeon.* (HD|HD )77..[DGM].*				4	1	0	4.2
-ATI Radeon HD 7800D/G/M				.*ATI.*AMD Radeon.* (HD|HD )78..[DGM].*				4	1	0	4.2
-ATI Radeon HD 7900D/G/M				.*ATI.*AMD Radeon.* (HD|HD )79..[DGM].*				4	1	0	4.2
-ATI Radeon HD 8200D/G/M				.*ATI.*AMD Radeon.* (HD|HD )82..[DGM].*				3	1	0	4.2
-ATI Radeon HD 8300D/G/M				.*ATI.*AMD Radeon.* (HD|HD )83..[DGM].*				3	1	0	4.2
-ATI Radeon HD 8400D/G/M				.*ATI.*AMD Radeon.* (HD|HD )84..[DGM].*				4	1	0	4.2
-ATI Radeon HD 8500D/G/M				.*ATI.*AMD Radeon.* (HD|HD )85..[DGM].*				4	1	0	4.2
-ATI Radeon HD 8600D/G/M				.*ATI.*AMD Radeon.* (HD|HD )86..[DGM].*				4	1	0	4.2
-ATI Radeon HD 8700D/G/M				.*ATI.*AMD Radeon.* (HD|HD )87..[DGM].*				4	1	0	4.2
-ATI Radeon HD 8800D/G/M				.*ATI.*AMD Radeon.* (HD|HD )88..[DGM].*				4	1	0	4.2
-ATI Radeon HD 8900D/G/M				.*ATI.*AMD Radeon.* (HD|HD )89..[DGM].*				4	1	0	4.2
-ATI Radeon HD 2300						.*ATI.*Radeon.* (HD|HD )23..						0	1	1	3.3
-ATI Radeon HD 2400						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)24..		1	1	1	4
-ATI Radeon HD 2600						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)26..		2	1	1	4
-ATI Radeon HD 2900						.*ATI.*Radeon.* (HD|HD )29..						3	1	1	3.3
-ATI Radeon HD 3000						.*ATI.*Radeon.* (HD|HD )30..						0	1	0	0
-ATI Radeon HD 3100						.*ATI.*Radeon.* (HD|HD )31..						1	1	0	0
-ATI Radeon HD 3200						.*ATI.*Radeon.* (HD|HD )32..						1	1	1	4
-ATI Radeon HD 3300						.*ATI.*Radeon.* (HD|HD )33..						1	1	1	3.3
-ATI Radeon HD 3400						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |AH||AX|EAH)34..		1	1	1	4
-ATI Radeon HD 3500						.*ATI.*Radeon.* (HD|HD )35..						2	1	0	0
-ATI Radeon HD 3600						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |AH||AX|EAH)36..		3	1	1	4
-ATI Radeon HD 3700						.*ATI.*Radeon.* (HD|HD )37..						3	1	0	3.3
-ATI HD3700								.*ATI.* HD37..										3	1	0	3.3
-ATI Radeon HD 3800						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH|AX|)38..			3	1	1	4
-ATI Radeon HD 4100						.*ATI.*Radeon.* (HD|HD )41..						1	1	0	0
-ATI Radeon HD 4200						.*ATI.*Radeon.* (HD|HD )42..						1	1	1	4
-ATI Radeon HD 4300						.*ATI.*(Radeon|ASUS).* (AH|AX|HD4|HD 4|EAH4|4)3..			2	1	1	4
-ATI Radeon HD 4400						.*ATI.*Radeon.* (HD|HD )44..						2	1	0	0
-ATI Radeon HD 4500						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)45..		2	1	1	3.3
-ATI RADEON E4690						.*ATI.*RADEON.* E46..								3	1	1	4
-ATI Radeon HD 4600						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)46..		3	1	1	4
-ATI Radeon HD 4700						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)47..		3	1	1	3.3
-ATI Radeon HD 4800						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)48..		3	1	1	4
-ATI Radeon HD 5000						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)50..		3	1	1	4.2
-ATI Radeon HD 5400						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)54..		3	1	1	4.2
-ATI Radeon HD 5500						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)55..		3	1	1	4.2
-ATI Radeon HD 5600						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)56..		3	1	1	4.2
-ATI Radeon HD 5700						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)57..		3	1	1	4.2
-ATI Radeon HD 5800						.*ATI.*(Radeon|ASUS).* (AH|AX|HD|HD |EAH)58..		4	1	1	4.2
-ATI Radeon HD 5900						.*ATI.*Radeon.* (HD|HD )59..						4	1	1	4.2
-ATI Radeon HD 6200						.*ATI.*Radeon.* (HD|HD )62..						0	1	1	4.2
-ATI Radeon HD 6300						.*ATI.*Radeon.* (HD|HD )63..						1	1	1	4.2
-ATI Radeon HD 6400						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)64..				3	1	1	4.2
-ATI Radeon HD 6500						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)65..				3	1	1	4.2
-ATI Radeon HD 6600						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)66..				3	1	1	4.2
-ATI Radeon HD 6700						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)67..				3	1	1	4.2
-ATI Radeon HD 6800						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)68..				4	1	1	4.2
-ATI Radeon HD 6900						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)69..				5	1	1	4.2
-ATI Radeon HD 6x00						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)6x..				5	1	1	4.2
-ATI Radeon HD 7100						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)71.*					2	1	0	0
-ATI Radeon HD 7200						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)72.*					2	1	0	4.2
-ATI Radeon HD 7300						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)73.*					2	1	0	4.2
-ATI Radeon HD 7400						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)74.*					2	1	0	4.2
-ATI Radeon HD 7500						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)75.*					3	1	1	4.2
-ATI Radeon HD 7600						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)76.*					3	1	0	4.2
-ATI Radeon HD 7700						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)77.*					4	1	1	4.2
-ATI Radeon HD 7800						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)78.*					5	1	1	4.2
-ATI Radeon HD 7900						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)79.*					5	1	1	4.2
-ATI Radeon HD 7000 Series				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)7000 Series.*		3	1	1	4.2
-ATI Radeon HD 8200						.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)82.*					2	1	0	4.2
-ATI Radeon HD 8300 (OEM)				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)83.*					2	1	0	4.2
-ATI Radeon HD 8400 (OEM)				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)84.*					2	1	0	4.2
-ATI Radeon HD 8500 (OEM)				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)85.*					3	1	1	4.2
-ATI Radeon HD 8600 (OEM)				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)86.*					3	1	0	4.2
-ATI Radeon HD 8700 (OEM)				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)87.*					4	1	1	4.2
-ATI Radeon HD 8800 (OEM)				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)88.*					5	1	1	4.2
-ATI Radeon HD 8900 (OEM)				.*ATI.*(Radeon|ASUS).* (HD|HD |EAH)89.*					5	1	1	4.2
-ATI Radeon OpenGL						.*ATI.*Radeon OpenGL.*								0	0	0	0
-ATI Radeon 2100							.*ATI.*Radeon 21..									0	1	1	2.1
-ATI Radeon 3000							.*ATI.*Radeon 30..									1	1	1	4
-ATI Radeon 3100							.*ATI.*Radeon 31..									0	1	1	3.3
-ATI Radeon 5xxx							.*ATI.*Radeon 5...									3	1	0	0
-ATI Radeon 6xxx							.*ATI.*Radeon 6...									0	1	0	0
-ATI Radeon 7xxx							.*ATI.*Radeon 7...									0	1	1	2
-ATI Radeon 8xxx							.*ATI.*Radeon 8...									0	1	0	0
-ATI Radeon 9000							.*ATI.*Radeon 90..									0	1	1	1.3
-ATI Radeon 9100							.*ATI.*Radeon 91..									0	1	0	0
-ATI Radeon 9200							.*ATI.*Radeon 92..									0	1	1	1.3
-ATI Radeon 9500							.*ATI.*Radeon 95..									0	1	1	2.1
-ATI Radeon 9600							.*ATI.*Radeon 96..									0	1	1	2.1
-ATI Radeon 9700							.*ATI.*Radeon 97..									1	1	0	0
-ATI Radeon 9800							.*ATI.*Radeon 98..									1	1	1	2.1
-ATI Radeon R7						.*ATI.*(Radeon|ASUS).* R7.*								4	1	0	4.2
-ATI Radeon R9						.*ATI.*(Radeon|ASUS).* R9.*								5	1	0	4.2
-ATI Radeon RV250						.*ATI.*RV250.*										0	1	0	0
-ATI Radeon RV600						.*ATI.*RV6.*										1	1	0	0
-ATI Radeon RX700						.*ATI.*RX70.*										1	1	0	0
-ATI Radeon RX800						.*ATI.*Radeon RX80.*								2	1	0	0
-ATI RS880M								.*ATI.*RS880M										1	1	0	0
-ATI Radeon RX9550						.*ATI.*RX9550.*										1	1	0	0
-ATI Radeon VE							.*ATI.*Radeon.*VE.*									0	0	0	0
-ATI Radeon X300							.*ATI.*Radeon X3.*									1	1	1	2.1
-ATI RADEON X300SE						.*ATI.*RADEON[ ]*X300SE*								1	1	1	2.1
-ATI Radeon X400							.*ATI.*Radeon ?X4.*									0	1	0	0
-ATI Radeon X500							.*ATI.*Radeon ?X5.*									1	1	1	2.1
-ATI Radeon X600							.*ATI.*(Radeon |ASUS Extreme A)X6.*					1	1	1	2.1
-ATI Radeon X700							.*ATI.*Radeon ?X7.*									2	1	1	2.1
-ATI Radeon X800							.*ATI.*Radeon ?X8.*									1	1	1	2.1
-ATI Radeon X900							.*ATI.*Radeon ?X9.*									2	1	0	0
-ATI Radeon X1000						.*ATI.*Radeon ?X10.*								2	1	0	2.1
-ATI Radeon X1100						.*ATI.*Radeon ?X11.*								2	1	0	2.1
-ATI Radeon X1200						.*ATI.*Radeon ?X12.*								2	1	0	2.1
-ATI Radeon X1xxx						.*ATI.*Radeon ?X1xx.*								2	1	0	2.1
-ATI Radeon X12xx						.*ATI.*Radeon ?X12x.*								2	1	0	2.1
-ATI Radeon X2xxx						.*ATI.*Radeon ?X2x.*								2	1	0	2.1
-ATI Radeon X2300						.*ATI.*Radeon ?X23.*								2	1	0	2.1
-ATI Radeon Xpress						.*ATI.*Radeon Xpress.*								0	1	1	2.1
-ATI Radeon								.*ATI.*Radeon$										3	1	0	0
-ATI Rage 128							.*ATI.*Rage 128.*									0	1	0	0
-ATI R300 (9700)							.*R300.*											0	1	1	2.1
-ATI R350 (9800)							.*R350.*											1	1	0	0
-ATI R580 (X1900)						.*R580.*											3	1	0	0
-ATI RC410 (Xpress 200)					.*RC410.*											0	0	0	0
-ATI RS48x (Xpress 200x)					.*RS48.*											0	0	0	0
-ATI RS600 (Xpress 3200)					.*RS600.*											0	0	0	0
-ATI RV350 (9600)						.*RV350.*											0	1	0	0
-ATI RV370 (X300)						.*RV370.*											0	1	0	0
-ATI RV410 (X700)						.*RV410.*											1	1	0	0
-ATI RV515								.*RV515.*											1	1	0	0
-ATI RV570 (X1900 GT/PRO)				.*RV570.*											3	1	0	0
-ATI RV380								.*RV380.*											0	1	0	0
-ATI RV530								.*RV530.*											1	1	0	0
-ATI RX480 (Xpress 200P)					.*RX480.*											0	1	0	0
-ATI RX700								.*RX700.*											1	1	0	0
-AMD ANTILLES (HD 6990)					.*(AMD|ATI).*Antilles.*								3	1	0	0
-ATI ROBSON								.*(AMD|ATI).*ROBSON.*								3	1	0	4
-AMD ARUBA (HD 6800)						.*(AMD|ATI).*ARUBA.*								3	1	1	2.1
-AMD BARTS (HD 6800)						.*(AMD|ATI).*Barts.*								3	1	1	2.1
-AMD BA (HD 6800)						.*(AMD|ATI).*BA.*									3	1	1	2.1
-AMD WRESTLER							.*(AMD|ATI).*WRESTLER.*								3	1	1	4
-AMD SUMO								.*(AMD|ATI).*SUMO.*									3	1	1	4.1
-AMD CAICOS (HD 6400)					.*(AMD|ATI).*Caicos.*								3	1	0	0
-AMD CAYMAN (HD 6900)					.*(AMD|ATI).*(Cayman|CAYMAM).*						3	1	0	0
-AMD CEDAR (HD 5450)						.*(AMD|ATI).*Cedar.*								2	1	0	2.1
-AMD CYPRESS (HD 5800)					.*(AMD|ATI).*Cypress.*								3	1	0	0
-AMD HEMLOCK (HD 5970)					.*(AMD|ATI).*Hemlock.*								3	1	0	0
-AMD JUNIPER (HD 5700)					.*(AMD|ATI).*Juniper.*								3	1	0	0
-AMD PARK								.*(AMD|ATI).*Park.*									3	1	0	0
-AMD REDWOOD (HD 5500/5600)				.*(AMD|ATI).*Redwood.*								3	1	0	1.4
-AMD TURKS (HD 6500/6600)				.*(AMD|ATI).*Turks.*								3	1	0	2.1
-AMD PITCAIRN (HD 7870)					.*(AMD|ATI).*Pitcairn.*								3	1	0	2.1
-AMD TAHITI (HD 7000)					.*(AMD|ATI).*Tahiti.*								3	1	0	2.1
-AMD RS780 (HD 3200)						.*RS780.*											0	1	1	2.1
-AMD RS880 (HD 4200)						.*RS880.*											0	1	1	3.2
-AMD RV610 (HD 2400)						.*RV610.*											1	1	0	0
-AMD RV620 (HD 3400)						.*RV620.*											1	1	0	0
-AMD RV630 (HD 2600)						.*RV630.*											2	1	0	0
-AMD RV635 (HD 3600)						.*RV635.*											3	1	0	1.4
-AMD RV670 (HD 3800)						.*RV670.*											3	1	0	0
-AMD R680 (HD 3870 X2)					.*R680.*											3	1	0	0
-AMD R700 (HD 4800 X2)					.*R700.*											3	1	0	0
-AMD RV710 (HD 4300)						.*RV710.*											0	1	1	1.4
-AMD RV730 (HD 4600)						.*RV730.*											3	1	0	1.4
-AMD RV740 (HD 4700)						.*RV740.*											3	1	0	0
-AMD RV770 (HD 4800)						.*RV770.*											3	1	0	0
-AMD RV790 (HD 4800)						.*RV790.*											3	1	0	0
-ATI 760G/Radeon 3000					.*ATI.*AMD 760G.*									1	1	1	3.3
-ATI 780L/Radeon 3000					.*ATI.*AMD 780L.*									1	1	0	0
-ATI Radeon DDR							.*ATI.*Radeon ?DDR.*								0	1	0	0
-ATI FirePro 2000						.*ATI.*FirePro [V]*2.*									2	1	1	4.2
-ATI FirePro 3000						.*ATI.*FirePro [V]*3.*									2	1	0	0
-ATI FirePro 4000						.*ATI.*FirePro [V]*4.*									2	1	0	4.1
-ATI FirePro 5000						.*ATI.*FirePro [V]*5.*									3	1	0	0
-ATI FirePro 7000						.*ATI.*FirePro [V]*7.*									3	1	0	0
-ATI FirePro M							.*ATI.*FirePro M.*									3	1	1	4.2
-Intel X3100								.*Intel.*X3100.*									1	1	1	2.1
-Intel GMA 3600							.*Intel.* 3600.*									0	1	1	3
-Intel Royal BNA							.*Intel.*Royal[ ]*BNA.*								0	0	0	0
-Intel 830M								.*Intel.*830M										0	0	0	0
-Intel 845G								.*Intel.*845G										0	0	1	1.4
-Intel 855GM								.*Intel.*855GM										0	0	1	1.4
-Intel 865G								.*Intel.*865G										0	0	1	1.4
-Intel 900								.*Intel.*900.*900									0	0	0	0
-Intel 915GM								.*Intel.*915GM										0	0	1	1.4
-Intel 915G								.*Intel.*915G										0	0	1	1.4
-Intel 945GM								.*Intel.*945GM.*									0	1	1	1.4
-Intel 945G								.*Intel.*945G.*										0	1	1	1.4
-Intel 950								.*Intel.*950.*										0	1	1	1.4
-Intel 965								.*Intel.*965.*										0	1	1	2.1
-Intel G33								.*Intel.*G33.*										1	0	1	1.4
-Intel G41								.*Intel.*G41.*										1	1	1	2.1
-Intel G45								.*Intel.*G45.*										1	1	1	2.1
-Intel Bear Lake							.*Intel.*Bear Lake.*								1	0	1	1.4
-Intel Broadwater						.*Intel.*Broadwater.*								0	0	1	1.4
-Intel Brookdale							.*Intel.*Brookdale.*								0	0	1	1.3
-Intel Cantiga							.*Intel.*Cantiga.*									0	0	1	2
-Intel Eaglelake							.*Intel.*Eaglelake.*								1	1	1	2
-Intel Graphics Media HD					.*Intel.*Graphics Media.*HD.*						1	1	1	2.1
-Intel HD Graphics 2500					.*Intel.*HD Graphics 25.*							2	1	0	4.2
-Intel HD Graphics 2000					.*Intel.*HD Graphics 2.*							2	1	0	3.1
-Intel HD Graphics 3000					.*Intel.*HD Graphics 3.*							3	1	1	3.1
-Intel HD Graphics 4200					.*Intel.*HD Graphics 42.*							3	1	0	4.2
-Intel HD Graphics 4400					.*Intel.*HD Graphics 44.*							3	1	0	4.2
-Intel HD Graphics 4600					.*Intel.*HD Graphics 46.*							3	1	0	4.2
-Intel HD Graphics 4000					.*Intel.*HD Graphics 4.*							3	1	1	4.2
-Intel Intel Iris Pro Graphics 5200		.*Intel.*Iris Pro Graphics 52.*						4	1	0	4
-Intel Intel Iris Graphics 5100			.*Intel.*Iris Graphics 51.*							4	1	0	4
-Intel Intel Iris OpenGL Engine			.*Intel.*Iris OpenGL.*							4	1	0	4
-Intel Intel Iris Pro OpenGL Engine			.*Intel.*Iris Pro OpenGL.*							5	1	0	4
-Intel HD Graphics 5000					.*Intel.*HD Graphics 5.*							4	1	0	4
-Intel HD Graphics						.*Intel.*HD Graphics.*								2	1	1	4
-Intel Mobile 4 Series					.*Intel.*Mobile.* 4 Series.*						0	1	1	2.1
-Intel Mobile 45 Express					.*Intel.*Mobile.* 45 Express Chipset.*				0	1	0	2.1
-Intel 4 Series Internal					.*Intel.* 4 Series Internal.*						1	1	1	2.1
-Intel Media Graphics HD					.*Intel.*Media Graphics HD.*						0	1	0	0
-Intel Montara							.*Intel.*Montara.*									0	0	1	1.3
-Intel Pineview							.*Intel.*Pineview.*									0	1	1	1.4
-Intel Springdale						.*Intel.*Springdale.*								0	0	1	1.3
-Intel Grantsdale						.*Intel.*Grantsdale.*								1	1	0	0
-Intel Q45/Q43							.*Intel.*Q4.*										1	1	1	2.1
-Intel B45/B43							.*Intel.*B4.*										1	1	1	2.1
-Intel 3D-Analyze						.*Intel.*3D-Analyze.*								2	1	0	0
-Matrox									.*Matrox.*											0	0	0	0
-Mesa									.*Mesa.*											1	0	1	3
-Gallium									.*Gallium.*											1	1	1	2.1
-NVIDIA GeForce Pre-Release				.*NVIDIA .*GeForce[ ]Pre-Release.*					2	1	1	3.3
-NVIDIA D1xP1							.*NVIDIA .*D1[0-4]P1.*								0	0	0	0
-NVIDIA Mystery PCI Card					.*NVIDIA .Corporation [/]PCI]/]SSE2.*				0	0	0	0
-NVIDIA Quadro FX 770M					.*Quadro.*FX 77[0-9]M.*								2	1	0	3.3
-NVIDIA Quadro FX 1500M					.*Quadro.*FX 150[0-9]M.*							1	1	0	2.1
-NVIDIA Quadro FX 1600M					.*Quadro.*FX 160[0-9]M.*							2	1	0	3.3
-NVIDIA Quadro FX 2500M					.*Quadro.*FX 250[0-9]M.*							2	1	0	2.1
-NVIDIA Quadro FX 2700M					.*Quadro.*FX 270[0-9]M.*							3	1	0	3.3
-NVIDIA Quadro FX 2800M					.*Quadro.*FX 280[0-9]M.*							3	1	0	3.3
-NVIDIA Quadro FX 3500					.*Quadro.*FX 3500.*									2	1	0	2.1
-NVIDIA Quadro FX 3600					.*Quadro.*FX 3600.*									3	1	0	3.3
-NVIDIA Quadro FX 3700					.*Quadro.*FX 3700.*									3	1	0	3.3
-NVIDIA Quadro FX 3800					.*Quadro.*FX 3800.*									3	1	0	3.3
-NVIDIA Quadro FX 4500					.*Quadro.*FX 45.*									3	1	0	2.1
-NVIDIA Quadro FX 880M					.*Quadro.*FX 88[0-9]M.*								3	1	0	3.3
-NVIDIA Quadro FX 4800					.*NVIDIA .*Quadro FX 4800.*							3	1	0	3.1
-NVIDIA Quadro FX						.*NVIDIA .*Quadro FX.*										1	1	0	3.3
-NVIDIA Quadro NVS 1xxM					.*NVIDIA .*(Quadro)* NVS *1.[05]M.*								0	1	1	3.3
-NVIDIA Quadro NVS 300M					.*NVIDIA .*(Quadro)*[ ]+NVS *30[0-9]M.*							2	1	0	0
-NVIDIA Quadro NVS 320M					.*NVIDIA .*(Quadro)*[ ]+NVS *32[0-9]M.*							2	1	0	0
-NVIDIA Quadro NVS 2100M					.*NVIDIA .*(Quadro)*[ ]+NVS *210[0-9]M.*							2	1	0	3.3
-NVIDIA Quadro NVS 3100M					.*NVIDIA .*(Quadro)*[ ]+NVS *310[0-9]M.*							2	1	0	3.3
-NVIDIA Quadro NVS 4200M					.*NVIDIA .*(Quadro)*[ ]+NVS *420[0-9]M.*							2	1	0	4.2
-NVIDIA Quadro NVS 5100M					.*NVIDIA .*(Quadro)*[ ]+NVS *510[0-9]M.*							2	1	0	0
-NVIDIA Quadro NVS 5200M					.*NVIDIA .*(Quadro)*[ ]+NVS *520[0-9]M.*							2	1	0	0
-NVIDIA Quadro NVS 5400M					.*NVIDIA .*(Quadro)*[ ]+NVS *540[0-9]M.*							2	1	0	0
-NVIDIA Quadro NVS						.*NVIDIA .*(Quadro)*[ ]+NVS										0	1	0	4.2
-NVIDIA Quadro2							.*Quadro2.*											0	1	0	1.5
-NVIDIA Quadro 1000M						.*Quadro.* (K1|1)00[0-9]M.*							2	1	0	4.2
-NVIDIA Quadro 1100M						.*Quadro.* *110[0-9]M.*								2	1	0	3.3
-NVIDIA Quadro K600						.*Quadro.* (K6|6)0[0-9][^0].*							2	1	0	4.2
-NVIDIA Quadro K1000						.*Quadro.* (K1|1)00[0-9].*							2	1	0	4.2
-NVIDIA Quadro 2000 M/D					.*Quadro.* (K2|2)000.*								3	1	0	4.2
-NVIDIA Quadro 3000M						.*Quadro.* (K3|3)00[0-9]M.*							3	1	0	4.2
-NVIDIA Quadro 4000M						.*Quadro.* (K4|4)00[0-9]M.*							3	1	0	4.2
-NVIDIA Quadro 4000						.*Quadro.* (K4|4)000.*										3	1	0	4.2
-NVIDIA Quadro 50x0 M					.*Quadro.* (K5|5)0.0.*									3	1	0	4.2
-NVIDIA Quadro 6000						.*Quadro.* (K6|6)000.*									3	1	0	0
-NVIDIA Quadro 400						.*Quadro.* 400.*									2	1	0	3.3
-NVIDIA Quadro 600						.*Quadro.* 600.*									2	1	0	4.2
-NVIDIA Quadro4							.*Quadro4.*											0	1	0	1.5
-NVIDIA Quadro DCC						.*Quadro DCC.*										0	1	0	0
-NVIDIA Quadro CX						.*Quadro.*CX.*										3	1	0	0
-NVIDIA G 100M							.*NVIDIA .*G *10[0-9]M.*								1	1	1	3.3
-NVIDIA G 110M							.*NVIDIA .*G *11[0-9]M.*								1	1	1	3.3
-NVIDIA G 120M							.*NVIDIA .*G *12[0-9]M.*								1	1	1	3.3
-NVIDIA G 200M							.*NVIDIA .*G *20[0-9]M.*								1	1	0	0
-NVIDIA G 410M							.*NVIDIA .*G *41[0-9]M.*								3	1	1	4.2
-NVIDIA GT 130M							.*NVIDIA .*GT *13[0-9]M.*							3	1	1	3.3
-NVIDIA GT 140M							.*NVIDIA .*GT *14[0-9]M.*							3	1	1	3.3
-NVIDIA GT 150M							.*NVIDIA .*GTS *15[0-9]M.*							2	1	0	0
-NVIDIA GTS 160M							.*NVIDIA .*GTS *16[0-9]M.*							2	1	0	0
-NVIDIA G210M							.*NVIDIA .*G *21[0-9]M.*							3	1	0	3.3
-NVIDIA GT 220M							.*NVIDIA .*GT 22[0-9]M.*							3	1	1	3.3
-NVIDIA GT 230M							.*NVIDIA .*GT 23[0-9]M.*							3	1	1	3.3
-NVIDIA GT 240M							.*NVIDIA .*GT 24[0-9]M.*							3	1	1	3.3
-NVIDIA GT 260M							.*NVIDIA .*GT 26[0-9]M.*							3	1	1	3.3
-NVIDIA GTS 250M							.*NVIDIA .*GTS 25[0-9]M.*							3	1	0	3.3
-NVIDIA GTS 260M							.*NVIDIA .*GTS 26[0-9]M.*							3	1	0	0
-NVIDIA GTX 260M							.*NVIDIA .*GTX 26[0-9]M.*							3	1	0	3.3
-NVIDIA GTX 270M							.*NVIDIA .*GTX 27[0-9]M.*							3	1	0	0
-NVIDIA GTX 280M							.*NVIDIA .*GTX 28[0-9]M.*							3	1	0	3.3
-NVIDIA 300M								.*NVIDIA .*GT 30[0-9]M.*							3	1	1	4.2
-NVIDIA G 310M							.*NVIDIA .*G[T]* 31[0-9]M.*								2	1	0	3.3
-NVIDIA GT 320M							.*NVIDIA .*G[T]* 32[0-9]M.*								3	1	0	3.3
-NVIDIA GT 330M							.*NVIDIA .*G[T]* 33[0-9]M.*							3	1	1	3.3
-NVIDIA GT 340M							.*NVIDIA .*G[T]* 34[0-9]M.*							4	1	1	3.3
-NVIDIA GTS 350M							.*NVIDIA .*GTS 35[0-9]M.*							4	1	1	3.3
-NVIDIA GTS 360M							.*NVIDIA .*GTS 36[0-9]M.*							5	1	1	3.3
-NVIDIA 310M								.*NVIDIA .*31[0-9]M.*								2	1	0	3.3
-NVIDIA 320M								.*NVIDIA .*320M.*									2	1	0	3.3
-NVIDIA 400M								.*NVIDIA .*[ ]+40[0-9]M.*								2	1	0	0
-NVIDIA 410M								.*NVIDIA .*[ ]+41[0-9]M.*								3	1	0	0
-NVIDIA GT 420M							.*NVIDIA .*GT *42[0-9]M.*							3	1	1	4.3
-NVIDIA GT 430M							.*NVIDIA .*GT *43[0-9]M.*							3	1	1	4.3
-NVIDIA GT 440M							.*NVIDIA .*GT *44[0-9]M.*							3	1	1	4.3
-NVIDIA GT 450M							.*NVIDIA .*GT *45[0-9]M.*							3	1	0	0
-NVIDIA GTX 460M							.*NVIDIA .*GTX *46[0-9]M.*							4	1	1	4.3
-NVIDIA GTX 470M							.*NVIDIA .*GTX *47[0-9]M.*							3	1	0	4.3
-NVIDIA GTX 480M							.*NVIDIA .*GTX *48[0-9]M.*							3	1	1	4.3
-NVIDIA GT 520M							.*NVIDIA .*GT *52[0-9]M.*							3	1	1	4.3
-NVIDIA GT 530M							.*NVIDIA .*GT *53[0-9]M.*							3	1	1	4.3
-NVIDIA GT 540M							.*NVIDIA .*GT *54[0-9]M.*							3	1	1	4.3
-NVIDIA GT 550M							.*NVIDIA .*GT *55[0-9]M.*							3	1	1	4.3
-NVIDIA GTX 560M							.*NVIDIA .*GTX *56[0-9]M.*							3	1	0	4.3
-NVIDIA GTX 570M							.*NVIDIA .*GTX *57[0-9]M.*							5	1	0	4.3
-NVIDIA GTX 580M							.*NVIDIA .*GTX *58[0-9]M.*							5	1	1	4.3
-NVIDIA 610M								.*NVIDIA.* 61[0-9]M.*								3	1	1	4.3
-NVIDIA GT 620M							.*NVIDIA .*GT *62[0-9]M.*							3	1	0	4.3
-NVIDIA GT 630M							.*NVIDIA .*GT *63[0-9]M.*							3	1	0	4.3
-NVIDIA GT 640M							.*NVIDIA .*GT *64[0-9]M.*							3	1	0	4.3
-NVIDIA GT 650M							.*NVIDIA .*GT *65[0-9]M.*							3	1	0	4.3
-NVIDIA GTX 660M							.*NVIDIA .*GTX *66[0-9]M.*							5	1	0	4.3
-NVIDIA GTX 670M							.*NVIDIA .*GTX *67[0-9]M.*							5	1	1	4.3
-NVIDIA GTX 680M							.*NVIDIA .*GTX *68[0-9]M.*							5	1	0	4.3
-NVIDIA GTX 690M							.*NVIDIA .*GTX *69[0-9]M.*							5	1	0	4.3
-NVIDIA 710M								.*NVIDIA.* 71[0-9]M.*								3	1	0	4.3
-NVIDIA GT 720M							.*NVIDIA .*GT *72[0-9]M.*							3	1	0	4.3
-NVIDIA GT 730M							.*NVIDIA .*GT *73[0-9]M.*							3	1	0	4.3
-NVIDIA GT 740M							.*NVIDIA .*GT *74[0-9]M.*							3	1	0	4.3
-NVIDIA GT 750M							.*NVIDIA .*GT *75[0-9]M.*							3	1	0	4.3
-NVIDIA GTX 760M							.*NVIDIA .*GTX *76[0-9]M.*							5	1	0	4.3
-NVIDIA GTX 770M							.*NVIDIA .*GTX *77[0-9]M.*							5	1	0	4.3
-NVIDIA GTX 780M							.*NVIDIA .*GTX *78[0-9]M.*							5	1	0	4.3
-NVIDIA G100								.*NVIDIA .*G10.*									3	1	1	4.2
-NVIDIA GT 120							.*NVIDIA .*GT 12.*									2	1	0	3.3
-NVIDIA GT 130							.*NVIDIA .*GT 13.*									2	1	0	3.3
-NVIDIA GT 140							.*NVIDIA .*GT 14.*									2	1	0	3.3
-NVIDIA GT 150							.*NVIDIA .*GT 15.*									2	1	1	3.3
-NVIDIA GTS 150							.*NVIDIA .*GTS 15.*									2	1	0	0
-NVIDIA 200								.*NVIDIA .[ ]+200[^0].*								2	1	1	3.3
-NVIDIA G200								.*NVIDIA .*G[ ]*200.*							2	1	1	3.3
-NVIDIA G210								.*NVIDIA .*G[ ]*210.*							3	1	1	3.3
-NVIDIA 205								.*NVIDIA .*205[^0]*.*							3	1	1	3.3
-NVIDIA 210								.*NVIDIA .*210$							3	1	1	3.3
-NVIDIA GeForce 210						.*NVIDIA .*(GeForce)[ ]210[^0]*$							3	1	1	3.3
-NVIDIA GT 220							.*NVIDIA .*GT *22.*									2	1	1	3.3
-NVIDIA GT 230							.*NVIDIA .*GT *23.*									2	1	1	3.3
-NVIDIA GT 240							.*NVIDIA .*GT *24.*									4	1	1	3.3
-NVIDIA GTS 240							.*NVIDIA .*GTS *24.*									4	1	1	3.3
-NVIDIA GTS 250							.*NVIDIA .*GTS *25.*									4	1	1	3.3
-NVIDIA GTS 360							.*NVIDIA .*GTS *36.*									4	1	1	3.3
-NVIDIA GTX 260							.*NVIDIA .*GTX *26.*									4	1	1	3.3
-NVIDIA GTX 270							.*NVIDIA .*GTX *27.*									4	1	0	3.3
-NVIDIA GTX 280							.*NVIDIA .*GTX *28.*									4	1	1	3.3
-NVIDIA GTX 290							.*NVIDIA .*GTX *29.*									5	1	0	3.3
-NVIDIA GT 320							.*NVIDIA .*GT *32.*									3	1	0	3.3
-NVIDIA GT 330							.*NVIDIA .*GT *33.*									3	1	0	3.3
-NVIDIA GT 340							.*NVIDIA .*GT *34.*						3	1	0	0
-NVIDIA 310								.*NVIDIA .*310[^0M]*.*							3	1	1	3.3
-NVIDIA 315								.*NVIDIA .*315[^0M]*.*							3	1	1	3.3
-NVIDIA 320								.*NVIDIA .*320[^0M]*.*							3	1	1	3.3
-NVIDIA 405								.*NVIDIA .*405[^0]*.*									3	1	0	3.3
-NVIDIA 410								.*NVIDIA .*410[^0]*.*									3	1	0	3.3
-NVIDIA GT 415							.*NVIDIA .*GT *415.*									3	1	1	4.3
-NVIDIA GT 420							.*NVIDIA .*GT *42.*									3	1	1	4.3
-NVIDIA GT 430							.*NVIDIA .*GT *43.*									3	1	1	4.3
-NVIDIA GT 440							.*NVIDIA .*GT *44.*									4	1	1	4.3
-NVIDIA GT 450							.*NVIDIA .*GT *45.*									4	1	1	4.3
-NVIDIA GTS 450							.*NVIDIA .*GTS *45.*									4	1	1	4.3
-NVIDIA GTX 460							.*NVIDIA .*GTX *46.*					5	1	1	4.3
-NVIDIA GTX 470							.*NVIDIA .*GTX *47.*									5	1	1	4.3
-NVIDIA GTX 480							.*NVIDIA .*GTX *48.*									5	1	1	4.3
-NVIDIA 505								.*NVIDIA .*505[^0]*.*						3	1	0	0
-NVIDIA 510								.*NVIDIA .*510[^0]*.*						3	1	0	0
-NVIDIA GT 520							.*NVIDIA .*GT *52.*									3	1	1	4.3
-NVIDIA GT 530							.*NVIDIA .*GT *53.*									3	1	1	4.3
-NVIDIA GT 540							.*NVIDIA .*GT *54.*									3	1	1	4.3
-NVIDIA GT 550							.*NVIDIA .*GT *55.*									3	1	1	4.3
-NVIDIA GTX 550							.*NVIDIA .*GTX *55.*					5	1	1	4.3
-NVIDIA GTX 560							.*NVIDIA .*GTX *56.*									5	1	1	4.3
-NVIDIA GTX 570							.*NVIDIA .*GTX *57.*									5	1	1	4.3
-NVIDIA GTX 580							.*NVIDIA .*GTX *58.*					5	1	1	4.3
-NVIDIA GTX 590							.*NVIDIA .*GTX *59.*									5	1	1	4.3
-NVIDIA 605								.*NVIDIA .*605[^0]*.*									3	1	1	4.3
-NVIDIA GT 61x							.*NVIDIA .*GT 61.*									3	1	1	4.3
-NVIDIA GT 62x							.*NVIDIA .*GT 62.*									3	1	0	4.3
-NVIDIA GT 63x							.*NVIDIA .*GT 63.*									3	1	0	4.3
-NVIDIA GT 64x							.*NVIDIA .*GT 64.*									3	1	0	4.3
-NVIDIA GT 65x							.*NVIDIA .*GT 65.*									3	1	1	4.3
-NVIDIA GTX 64x							.*NVIDIA .*GTX 64.*									3	1	1	4.3
-NVIDIA GTX 65x							.*NVIDIA .*GTX 65.*									3	1	1	4.3
-NVIDIA GTX 66x							.*NVIDIA .*GTX 66.*									5	1	0	4.3
-NVIDIA GTX 67x							.*NVIDIA .*GTX 67.*									5	1	1	4.3
-NVIDIA GTX 68x							.*NVIDIA .*GTX 68.*									5	1	1	4.3
-NVIDIA GTX 69x							.*NVIDIA .*GTX 69.*									5	1	1	4.3
-NVIDIA GT 71x							.*NVIDIA .*GT *71.*									3	1	0	4.3
-NVIDIA GT 72x							.*NVIDIA .*GT *72.*									3	1	0	4.3
-NVIDIA GT 73x							.*NVIDIA .*GT *73.*									3	1	0	4.3
-NVIDIA GT 74x							.*NVIDIA .*GT *74.*									3	1	0	4.3
-NVIDIA GTX 75x							.*NVIDIA .*GTX *75.*								3	1	0	4.3
-NVIDIA GTX 76x							.*NVIDIA .*GTX *76.*								5	1	0	4.3
-NVIDIA GTX 77x							.*NVIDIA .*GTX *77.*								5	1	0	4.3
-NVIDIA GTX 78x							.*NVIDIA .*GTX *78.*								5	1	0	4.3
-NVIDIA GTX TITAN						.*NVIDIA .*GTX *TITAN.*								5	1	0	4.3
-NVIDIA C51								.*NVIDIA .*C51.*									0	1	1	2
-NVIDIA G72								.*NVIDIA .*G72.*									1	1	0	0
-NVIDIA G73								.*NVIDIA .*G73.*									1	1	0	0
-NVIDIA G84								.*NVIDIA .*G84.*									2	1	0	0
-NVIDIA G86								.*NVIDIA .*G86.*									3	1	0	0
-NVIDIA G92								.*NVIDIA .*G92.*									3	1	0	0
-NVIDIA GK106							.*NVIDIA .*GK106.*									5	1	0	4.3
-NVIDIA GeForce							.*GeForce 256.*										0	0	0	0
-NVIDIA GeForce 2						.*GeForce ?2 ?.*									0	1	1	1.5
-NVIDIA GeForce 3						.*GeForce ?3 ?.*						2	1	1	2.1
-NVIDIA GeForce 3 Ti						.*GeForce ?3 Ti.*						0	1	0	0
-NVIDIA GeForce 4						.*NVIDIA .*GeForce ?4.*								0	1	1	1.5
-NVIDIA GeForce 4 Go						.*NVIDIA .*GeForce ?4.*Go.*				0	1	0	0
-NVIDIA GeForce 4 MX						.*NVIDIA .*GeForce ?4 MX.*				0	1	0	0
-NVIDIA GeForce 4 PCX					.*NVIDIA .*GeForce ?4 PCX.*				0	1	0	0
-NVIDIA GeForce 4 Ti						.*NVIDIA .*GeForce ?4 Ti.*				0	1	0	0
-NVIDIA GeForce 6100						.*NVIDIA .*GeForce 61.*								3	1	1	4.2
-NVIDIA GeForce 6200						.*NVIDIA .*GeForce 62.*								0	1	1	2.1
-NVIDIA GeForce 6500						.*NVIDIA .*GeForce 65.*								1	1	1	2.1
-NVIDIA GeForce 6600						.*NVIDIA .*GeForce 66.*								2	1	1	2.1
-NVIDIA GeForce 6700						.*NVIDIA .*GeForce 67.*								2	1	1	2.1
-NVIDIA GeForce 6800						.*NVIDIA .*GeForce 68.*								1	1	1	2.1
-NVIDIA GeForce 7000						.*NVIDIA .*GeForce 70.*								1	1	1	2.1
-NVIDIA GeForce 7100						.*NVIDIA .*GeForce 71.*								1	1	1	2.1
-NVIDIA GeForce 7200						.*NVIDIA .*GeForce 72.*								1	1	0	0
-NVIDIA GeForce 7300						.*NVIDIA .*GeForce 73.*								1	1	1	2.1
-NVIDIA GeForce 7500						.*NVIDIA .*GeForce 75.*								2	1	1	2.1
-NVIDIA GeForce 7600						.*NVIDIA .*GeForce 76.*								2	1	1	2.1
-NVIDIA GeForce 7800						.*NVIDIA .*GeForce 78.*								2	1	1	2.1
-NVIDIA GeForce 7900						.*NVIDIA .*GeForce 79.*								3	1	1	2.1
-NVIDIA GeForce 8100						.*NVIDIA .*GeForce 81.*								1	1	0	3.3
-NVIDIA GeForce 8200M					.*NVIDIA .*GeForce 820[0-9]M.*						1	1	0	3.3
-NVIDIA GeForce 8200						.*NVIDIA .*GeForce 82.*								1	1	0	3.3
-NVIDIA GeForce 8300						.*NVIDIA .*GeForce 83.*								3	1	1	3.3
-NVIDIA GeForce 8400M					.*NVIDIA .*GeForce 840[0-9]M.*						1	1	1	3.3
-NVIDIA GeForce 8400						.*NVIDIA .*GeForce 84.*								2	1	1	3.3
-NVIDIA GeForce 8500						.*NVIDIA .*GeForce 85.*								2	1	1	3.3
-NVIDIA GeForce 8600M					.*NVIDIA .*GeForce 860[0-9]M.*						2	1	1	3.3
-NVIDIA GeForce 8600						.*NVIDIA .*GeForce 86.*								3	1	1	3.3
-NVIDIA GeForce 8700M					.*NVIDIA .*GeForce 870[0-9]M.*						2	1	1	3.3
-NVIDIA GeForce 8700						.*NVIDIA .*GeForce 87.*								3	1	0	0
-NVIDIA GeForce 8800M					.*NVIDIA .*GeForce 880[0-9]M.*						2	1	1	3.3
-NVIDIA GeForce 8800						.*NVIDIA .*GeForce 88.*								3	1	1	3.3
-NVIDIA GeForce 9100M					.*NVIDIA .*GeForce 910[0-9]M.*						0	1	0	3.3
-NVIDIA GeForce 9100						.*NVIDIA .*GeForce 91.*								0	1	0	3.3
-NVIDIA GeForce 9200M					.*NVIDIA .*GeForce 920[0-9]M.*						1	1	0	3.3
-NVIDIA GeForce 9200						.*NVIDIA .*GeForce 92.*								1	1	0	3.3
-NVIDIA GeForce 9300M					.*NVIDIA .*GeForce 930[0-9]M.*						1	1	1	3.3
-NVIDIA GeForce 9300						.*NVIDIA .*GeForce 93.*								1	1	1	3.3
-NVIDIA GeForce 9400M					.*NVIDIA .*GeForce 940[0-9]M.*						2	1	1	3.3
-NVIDIA GeForce 9400						.*NVIDIA .*GeForce 94.*								3	1	1	3.3
-NVIDIA GeForce 9500M					.*NVIDIA .*GeForce 950[0-9]M.*						1	1	1	3.3
-NVIDIA GeForce 9500						.*NVIDIA .*GeForce 95.*								3	1	1	3.3
-NVIDIA GeForce 9600M					.*NVIDIA .*GeForce 960[0-9]M.*						2	1	1	3.3
-NVIDIA GeForce 9600						.*NVIDIA .*GeForce 96.*								3	1	1	3.3
-NVIDIA GeForce 9700M					.*NVIDIA .*GeForce 970[0-9]M.*						0	1	1	3.3
-NVIDIA GeForce 9800M					.*NVIDIA .*GeForce 980[0-9]M.*						2	1	1	3.3
-NVIDIA GeForce 9800						.*NVIDIA .*GeForce 98.*								3	1	1	3.3
-NVIDIA GeForce FX 5100					.*NVIDIA .*GeForce FX 51.*							0	1	0	0
-NVIDIA GeForce FX 5200					.*NVIDIA .*GeForce FX 52.*							0	1	0	2.1
-NVIDIA GeForce FX 5300					.*NVIDIA .*GeForce FX 53.*							0	1	0	0
-NVIDIA GeForce FX 5500					.*NVIDIA .*GeForce FX 55.*							0	1	1	2.1
-NVIDIA GeForce FX 5600					.*NVIDIA .*GeForce FX 56.*							1	1	1	2.1
-NVIDIA GeForce FX 5700					.*NVIDIA .*GeForce FX 57.*							0	1	1	2.1
-NVIDIA GeForce FX 5800					.*NVIDIA .*GeForce FX 58.*							1	1	0	0
-NVIDIA GeForce FX 5900					.*NVIDIA .*GeForce FX 59.*							1	1	1	2.1
-NVIDIA GeForce FX Go5100				.*NVIDIA .*GeForce FX Go51.*						0	1	0	0
-NVIDIA GeForce FX Go5200				.*NVIDIA .*GeForce FX Go52.*						0	1	0	1.5
-NVIDIA GeForce FX Go5300				.*NVIDIA .*GeForce FX Go53.*						0	1	0	0
-NVIDIA GeForce FX Go5500				.*NVIDIA .*GeForce FX Go55.*						0	1	0	0
-NVIDIA GeForce FX Go5600				.*NVIDIA .*GeForce FX Go56.*						0	1	1	2.1
-NVIDIA GeForce FX Go5700				.*NVIDIA .*GeForce FX Go57.*						1	1	1	1.5
-NVIDIA GeForce FX Go5800				.*NVIDIA .*GeForce FX Go58.*						1	1	0	0
-NVIDIA GeForce FX Go5900				.*NVIDIA .*GeForce FX Go59.*						1	1	0	0
-NVIDIA GeForce FX Go5xxx				.*NVIDIA .*GeForce FX Go.*							0	1	0	0
-NVIDIA GeForce Go 6100					.*NVIDIA .*GeForce Go 61.*							0	1	1	2.1
-NVIDIA GeForce Go 6200					.*NVIDIA .*GeForce Go 62.*							0	1	0	1.5
-NVIDIA GeForce Go 6400					.*NVIDIA .*GeForce Go 64.*							1	1	1	2.1
-NVIDIA GeForce Go 6500					.*NVIDIA .*GeForce Go 65.*							1	1	0	0
-NVIDIA GeForce Go 6600					.*NVIDIA .*GeForce Go 66.*							0	1	1	2.1
-NVIDIA GeForce Go 6700					.*NVIDIA .*GeForce Go 67.*							1	1	0	0
-NVIDIA GeForce Go 6800					.*NVIDIA .*GeForce Go 68.*							0	1	1	2.1
-NVIDIA GeForce Go 7200					.*NVIDIA .*GeForce Go 72.*							1	1	0	2.1
-NVIDIA GeForce Go 7300 LE				.*NVIDIA .*GeForce Go 73.*LE.*						1	1	0	0
-NVIDIA GeForce Go 7300					.*NVIDIA .*GeForce Go 73.*							1	1	1	2.1
-NVIDIA GeForce Go 7400					.*NVIDIA .*GeForce Go 74.*							1	1	1	2.1
-NVIDIA GeForce Go 7600					.*NVIDIA .*GeForce Go 76.*							1	1	1	2.1
-NVIDIA GeForce Go 7700					.*NVIDIA .*GeForce Go 77.*							0	1	1	2.1
-NVIDIA GeForce Go 7800					.*NVIDIA .*GeForce Go 78.*							2	1	0	0
-NVIDIA GeForce Go 7900					.*NVIDIA .*GeForce Go 79.*							1	1	1	2.1
-NVIDIA D9M								.*NVIDIA .*D9M.*									1	1	0	0
-NVIDIA G94								.*NVIDIA .*G94.*									3	1	0	0
-NVIDIA GeForce Go 6						.*GeForce Go 6.*									1	1	0	0
-NVIDIA NB8M								.*NVIDIA .*NB8M.*									1	1	0	0
-NVIDIA NB8P								.*NVIDIA .*NB8P.*									2	1	0	0
-NVIDIA NB9E								.*NVIDIA .*NB9E.*									3	1	0	0
-NVIDIA NB9M								.*NVIDIA .*NB9M.*									1	1	0	0
-NVIDIA NB9P								.*NVIDIA .*NB9P.*									2	1	0	0
-NVIDIA N10								.*NVIDIA .*N10.*									1	1	0	2.1
-NVIDIA GeForce PCX						.*GeForce PCX.*										0	1	0	1.5
-NVIDIA PCI								.*NVIDIA PCI[ ]*								0	0	0	2.1
-NVIDIA Generic							.*NVIDIA Generic.*								0	0	0	2.1
-NVIDIA Generic Unknown					.*NVIDIA .*Unknown.*								0	0	0	2.1
-NVIDIA NV17								.*NVIDIA .*NV17.*									0	1	0	0
-NVIDIA NV34								.*NVIDIA .*NV34.*									0	1	0	0
-NVIDIA NV35								.*NVIDIA .*NV35.*									0	1	0	0
-NVIDIA NV36								.*NVIDIA .*NV36.*									1	1	0	0
-NVIDIA NV41								.*NVIDIA .*NV41.*									1	1	0	0
-NVIDIA NV43								.*NVIDIA .*NV43.*									1	1	0	0
-NVIDIA NV44								.*NVIDIA .*NV44.*									1	1	0	0
-NVIDIA nForce							.*NVIDIA .*nForce.*									0	0	0	3.3
-NVIDIA MCP51							.*NVIDIA .*MCP51.*									1	1	0	0
-NVIDIA MCP61							.*NVIDIA .*MCP61.*									1	1	0	2.1
-NVIDIA MCP67							.*NVIDIA .*MCP67.*									1	1	0	0
-NVIDIA MCP68							.*NVIDIA .*MCP68.*									1	1	0	0
-NVIDIA MCP73							.*NVIDIA .*MCP73.*									1	1	0	0
-NVIDIA MCP77							.*NVIDIA .*MCP77.*									1	1	0	0
-NVIDIA MCP78							.*NVIDIA .*MCP78.*									1	1	0	0
-NVIDIA MCP79							.*NVIDIA .*MCP79.*									1	1	0	0
-NVIDIA MCP7A							.*NVIDIA .*MCP7A.*									1	1	0	0
-NVIDIA Corporation N12P					.*NVIDIA .*N12P.*									1	1	1	4.1
-NVIDIA Corporation N11M					.*NVIDIA .*N11M.*									2	1	0	3.1
-NVIDIA RIVA TNT							.*RIVA TNT.*										0	0	0	1.5
-NVIDIA GRID								.*NVIDIA .*GRID.*									0	0	0	1.5
-NVIDIA ION 2							.*NVIDIA .* *[I][O][N] 2.*							2	1	0	0
-NVIDIA ION a							.*NVIDIA .*[I][O][N]$							2	1	1	3.3
-NVIDIA ION b							.*NVIDIA .*(Corporation) [I][O][N].*				2	1	1	3.3
-S3										.*S3 *(Graphics)*.*									0	0	1	1.4
-SiS										SiS.*												0	0	1	1.5
-Trident									Trident.*											0	0	0	0
-Tungsten Graphics						Tungsten.*											0	0	0	0
-XGI										XGI.*												0	0	0	0
-VIA										VIA.*												0	0	0	0
-Apple Generic							Apple.*Generic.*									0	0	0	0
-Apple Software Renderer					Apple.*Software Renderer.*							0	0	0	0
-Oracle									VirtualBox.*										0	1	1	2.1
-Humper									Humper.*											0	1	1	2.1
-PowerVR SGX545							.*PowerVR SGX.*										1	1	1	3
-ATI GeForce Lulz						.*ATI.*GeForce.*									0	0	0	0
-
-
diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp
index ea39f812fd1..b1e3f2bb14e 100755
--- a/indra/newview/llfeaturemanager.cpp
+++ b/indra/newview/llfeaturemanager.cpp
@@ -60,8 +60,6 @@
 #include "lldxhardware.h"
 #endif
 
-#define LL_EXPORT_GPU_TABLE 0
-
 #if LL_DARWIN
 const char FEATURE_TABLE_FILENAME[] = "featuretable_mac.txt";
 const char FEATURE_TABLE_VER_FILENAME[] = "featuretable_mac.%s.txt";
diff --git a/scripts/gpu_table_tester b/scripts/gpu_table_tester
deleted file mode 100755
index af0678000d7..00000000000
--- a/scripts/gpu_table_tester
+++ /dev/null
@@ -1,293 +0,0 @@
-#!/usr/bin/perl
-## Checks entries in the indra/newview/gpu_table.txt file against sample data
-##
-## Copyright (c) 2011, Linden Research, Inc.
-##
-## Permission is hereby granted, free of charge, to any person obtaining a copy
-## of this software and associated documentation files (the "Software"), to deal
-## in the Software without restriction, including without limitation the rights
-## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-## copies of the Software, and to permit persons to whom the Software is
-## furnished to do so, subject to the following conditions:
-##
-## The above copyright notice and this permission notice shall be included in
-## all copies or substantial portions of the Software.
-##
-## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-## THE SOFTWARE.
-
-use English;
-use Getopt::Long;
-
-( $MyName = $0 ) =~ s|.*/||;
-my $mini_HELP = "
-  $MyName {--gpu-table|-g} <gpu_table.txt> {--table-only|-t}
-  
-    Checks for duplicates and invalid lines in the gpu_table.txt file.
-
-  $MyName {--gpu-table|-g} <gpu_table.txt> [ <gpu-strings-file> ... ]
-          [{--unmatched|-u}]
-
-    Tests the recognition of values in the gpu-strings-files (or 
-    standard input if no files are given).   The results of attempting to match 
-    each input line are displayed in report form, showing:
-     - NO MATCH, unsupported, or supported
-     - the class of the GPU
-     - the label for the recognizer line from the gpu_table that it matched
-
-    If the --unmatched option is specified, then no output is produced for
-    values that are matched.
-
-  $MyName {--gpu-table|-g} <gpu_table.txt> {--diff|-d} <old_results> [ <gpu-strings-file> ...]
-
-    With the --diff option, the report compares the current results to <old-results>,
-    which should be the output from a previous run without --diff.  The report shows each
-    input value with the old result and the new result if it is different.
-";
-
-&GetOptions("help"               => \$Help
-            ,"unmatched"         => \$UnMatchedOnly
-            ,"table-only"        => \$TableOnly
-            ,"gpu-table=s"       => \$GpuTable
-            ,"diff=s"            => \$Diff
-    )
-    || die "$mini_HELP";
-
-if ($Help)
-{
-    print $mini_HELP;
-    exit 0;
-}
-
-$ErrorsSeen = 0;
-$NoMatch = 'NO MATCH'; # constant
-
-die "Must specify a --gpu-table <gpu_table.txt> value"
-    unless $GpuTable;
-
-open(GPUS, "<$GpuTable")
-    || die "Failed to open gpu table '$GpuTable':\n\t$!\n";
-
-my $FirstLine = <GPUS>;
-die "First line of gpu table does not begin with '//GPU_TABLE'"
-    unless $FirstLine =~ m|^//GPU_TABLE|;
-
-# Parse the GPU table into these tables, indexed by the name
-my %NameLine;       # name -> line number on which a given name was found (catches duplicate names)
-my %RecognizerLine; # name -> line number on which a given name was found (catches duplicate names)
-my %Name;           # recognizer -> name
-my %Recognizer;     # name -> recognizer
-my %Class;          # recognizer -> class
-my %Supported;      # recognizer -> supported
-my @InOrder;        # lowercased recognizers in file order - these are the ones really used to match
-my %StatsBased;
-my %ExpectedOpenGL;
-
-$Name{$NoMatch}      = $NoMatch;
-$NameLine{$NoMatch}  = '(hard-coded)'; # use this for error messages in table parsing
-$Class{$NoMatch}     = '';
-$Supported{$NoMatch} = '';
-$StatsBased{$NoMatch} = '';
-$ExpectedOpenGL{$NoMatch} = '';
-
-while (<GPUS>)
-{
-    next if m|^//|;    # skip comments
-    next if m|^\s*$|;  # skip blank lines
-
-    chomp;
-    my ($name, $regex, $class, $supported, $stats_based, $expected_opengl, $extra) = split('\t+');
-    my $errsOnLine = $ErrorsSeen;
-    if (!$name)
-    {
-        print STDERR "No name found on $GpuTable line $INPUT_LINE_NUMBER\n";
-        $ErrorsSeen++;
-    }
-    elsif ( defined $NameLine{$name} )
-    {
-        print STDERR "Duplicate name '$name' on $GpuTable lines $NameLine{$name} and $INPUT_LINE_NUMBER:\n";
-        print STDERR "     $NameLine{$name}: /$Recognizer{$name}/  $Supported{$Recognizer{$name}}  class $Class{$Recognizer{$name}}\n";
-        print STDERR "     $INPUT_LINE_NUMBER: /$regex/  " . ($supported ? "supported" : "unsupported") .  " class $class - ignored\n";
-        $ErrorsSeen++;
-    }
-    if (!$regex)
-    {
-        print STDERR "No recognizer found on $GpuTable line $INPUT_LINE_NUMBER\n";
-        $ErrorsSeen++;
-    }
-    elsif ( defined $RecognizerLine{$regex} )
-    {
-        print STDERR "Duplicate recognizer /$regex/ found on $GpuTable lines $RecognizerLine{$regex} and $INPUT_LINE_NUMBER (ignored)\n";
-        print STDERR "     $RecognizerLine{$regex}: name '$Name{$regex}'  $Supported{$regex}  class $Class{$regex}\n";
-        print STDERR "     $INPUT_LINE_NUMBER: name '$name'  " . ($supported ? "supported" : "unsupported") .  "  class $class - ignored\n";
-        $ErrorsSeen++;
-    }
-    if ($class !~ m/[012345]/)
-    {
-        print STDERR "Invalid class value '$class' on $GpuTable line $INPUT_LINE_NUMBER\n";
-        $ErrorsSeen++;
-    }
-    if ($supported !~ m/[0123]/)
-    {
-        print STDERR "Invalid supported value '$supported' on $GpuTable line $INPUT_LINE_NUMBER\n";
-        $ErrorsSeen++;
-    }
-    if ($stats_based !~ m/[01]/)
-    {
-        print STDERR "Invalid stats_based value '$stats_based' on $GpuTable line $INPUT_LINE_NUMBER\n";
-        $ErrorsSeen++;
-    }
-    if ($expected_opengl !~ m/\d+(\.\d+)?/)
-    {
-        print STDERR "Invalid expected_opengl value '$expected_opengl' on $GpuTable line $INPUT_LINE_NUMBER\n";
-        $ErrorsSeen++;
-    }
-    if ($extra)
-    {
-        print STDERR "Extra data '$extra' on $GpuTable line $INPUT_LINE_NUMBER\n";
-        $ErrorsSeen++;
-    }
-    
-    if ($errsOnLine == $ErrorsSeen) # no errors found on this line
-    {
-        push @InOrder,$regex;
-        $NameLine{$name} = $INPUT_LINE_NUMBER;
-        $RecognizerLine{$regex} = $INPUT_LINE_NUMBER;
-        $Name{$regex} = $name;
-        $Recognizer{$name} = $regex;
-        $Class{$regex} = $class;
-        $Supported{$regex} = $supported ? "supported" : "unsupported";
-        $StatsBased{$regex} = $stats_based;
-        $ExpectedOpenGL{$regex} = $expected_opengl;
-    }
-}
-
-close GPUS;
-
-print STDERR "\n" if $ErrorsSeen;
-
-exit $ErrorsSeen if $TableOnly;
-
-
-# Loop over input lines, find the results for each 
-my %RecognizedBy;
-while (<>) 
-{
-    chomp;
-    $_ = substr($_,0,100);
-    my $lcInput = lc $_;  # the real gpu table parser lowercases the input string
-    my $recognizer;
-    $RecognizedBy{$_} = $NoMatch;
-    foreach $recognizer ( @InOrder ) # note early exit if recognized
-    {
-        my $lcRecognizer = lc $recognizer; # the real gpu table parser lowercases the recognizer
-        if ( $lcInput =~ m/$lcRecognizer/ )
-        {
-            $RecognizedBy{$_} = $recognizer;
-            last; # exit recognizer loop
-        }
-    }
-}
-
-format STDOUT_TOP =
-GPU String                                                                                               Supported?  Class  Stats  OpenGL  Recognizer
-------------------------------------------------------------------------------------------------------   ----------- -----  -----  ------  ------------------------------------
-.
-format STDOUT =
-@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<   @<<<<<<<<<<   @>    @>     @<<<<  @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<...
-$_, $Supported{$RecognizedBy{$_}},$Class{$RecognizedBy{$_}},$StatsBased{$RecognizedBy{$_}},$ExpectedOpenGL{$RecognizedBy{$_}},$Name{$RecognizedBy{$_}}
-.
-
-my $ReportLineTemplate = "A102xxxA12xxxA2xxxxA2xxxxA5A*"; # Used to read a previous report - MUST match the format STDOUT above
-
-my ( $oldSupported, $oldClass, $newSupported, $newClass );
-
-format DIFF_TOP =
-                                                                                                         ------------- OLD -------------  ----------- NEW --------------------
-GPU String                                                                                               Supported?  Class Stats OpenGL   Supported?  Class Stats OpenGL  Line
-------------------------------------------------------------------------------------------------------   ----------- ----- ----- ------   ----------- ----- ----- ------ -----
-.                                                                                                                                             
-format DIFF =                                                                                                                                 
-@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<   @<<<<<<<<<<   @>    @>  @<<<<    @<<<<<<<<<<    @>   @>  @<<<<  @>>>>
-$_, $oldSupported, $oldClass, $oldStatsBased, $oldExpectedOpenGL, $newSupported, $newClass, $newStatsBased, $newExpectedOpenGL, $newRecognizedLine
-.
-
-if ( ! $Diff )
-{
-    ## Print results of testing each input line and how it was recognized. 
-    foreach ( sort keys %RecognizedBy )
-    {
-        write if ! $UnMatchedOnly || $Name{$RecognizedBy{$_}} eq $NoMatch;
-        $-++; # suppresses pagination
-    }
-}
-else
-{
-    ## Print a comparison of how the recognition this time compared to the results from the $Diff file
-    open OLD, "<$Diff"
-        || die "Failed to open --diff file '$Diff'\n\t$!\n";
-    my $discard = 2;
-    while ( <OLD> )
-    {
-        if ( $discard <= 0 )
-        {
-            my ( $gpu, $supported, $class, $stats, $opengl ) = unpack $ReportLineTemplate;
-            $gpu =~ s/\s*$//;
-            ( $OldSupported{$gpu} = $supported ) =~ s/\s*$//;
-            ( $OldClass{$gpu} = $class ) =~ s/\s*$//;
-            ( $OldStatsBased{$gpu} = $stats ) =~ s/\s*$//;
-            ( $OldExpectedOpenGL{$gpu} = $opengl ) =~ s/\s*$//;
-        }
-        else
-        {
-            $discard--;
-        }
-    }
-    close OLD;
-
-    $FORMAT_TOP_NAME = 'DIFF_TOP';
-    $FORMAT_NAME = 'DIFF';
-    foreach ( sort keys %RecognizedBy )
-    {
-        $newSupported = $Supported{$RecognizedBy{$_}} || $NoMatch;
-        $newClass     = $Class{$RecognizedBy{$_}};
-        $newStatsBased     = $StatsBased{$RecognizedBy{$_}};
-        $newExpectedOpenGL = $ExpectedOpenGL{$RecognizedBy{$_}};
-        $newRecognizedLine = $RecognizerLine{$RecognizedBy{$_}};
-
-        if ( ! defined $OldSupported{$_} )
-        {
-            $oldSupported = 'NEW';
-            $oldClass = '-';
-            $oldStatsBased = '-';
-            $oldExpectedOpenGL = '-';
-            write;
-            $-++; # suppresses pagination
-        }
-        else
-        {
-            $oldSupported = $OldSupported{$_} || $NoMatch;
-            $oldClass     = $OldClass{$_};
-            $oldStatsBased     = $OldStatsBased{$_};
-            $oldExpectedOpenGL = $OldExpectedOpenGL{$_};
-
-            if (   ( $oldSupported ne $newSupported )
-                || ( $oldClass  ne $newClass )
-                || ( $oldStatsBased ne $newStatsBased )
-                || ( $oldExpectedOpenGL ne $newExpectedOpenGL )
-                )
-            {
-                write;
-                $-++; # suppresses pagination
-            }
-        }
-
-    }
-}
-
-exit $ErrorsSeen;
-- 
GitLab