Для семейства NT/2K/XP/2K3+; почти расследование
Обзаведясь примерно такими картами
и
захотелось потрогать что там за
3D-ускорение такое и с чем его едят. При этом было доподлинно известно, что в теории
аппаратное 3D семейство
Virge/Trio3D умеет точно. Интересовала в первую очередь именно
поддержка OpenGL.
Началось всё с
Windows 95/98/ME. Было выяснено, что:
1) Официального
OpenGL ICD драйвера для
S3 Virge/Trio3D не cуществовало (он появился только у
Savage3D и далее)
2) Существовал т.н.
S3D Virge Toolkit for game developers (
http://web.archive.org/web/199801280237 ... /tkit0.htm выжимка для Win32(Win9x only?) тут
ниже по тексту топика ), который позволял писать 3D-приложения для DOS/Win32 на С/C++ "в обход" DirectX пользуясь библиотекой S3DTKW.DLL. Библиотека S3DTKW.DLL берётся из Win9x драйверов S3 ( или из S3D10006.ZIP ), S3DTKW.H с описанем функций - имеется в исходниках MESA3D (2.x - 3.x), а S3DTKW.LIB есть тут -
ниже по тексту топика.
3) Существовали т.н.
MiniGL ICD драйверы (-врапперы) для S3, к-рые обеспечивали частичную, выборочную поддержку OpenGL через трансляцию вызовов команд в DirectX или S3DToolkit. Итак имелись:
a) S3 DirectX wrapper (
http://dmarton.tripod.com/s3quake.zip )
b) S3 DirectX 6 wrapper (
http://dmarton.tripod.com/s3quake_dx6.zip )
c) ICD-драйвер MESA3D 2.6 на базе S3DTKW (
http://jmpz.tripod.com/download/s3mesa26_v03.zip )
d) GateGL 0.5 DirectX wrapper - gategl.zip (
www.fortunecity.com/skyscraper/nuclear/274/ )
e) ICD-драйвер Techland wrapper на базе
S3DTKW (
http://82.114.193.227/vga/image/sbirka/ ... minigl.zip ) - фирма писала
OpenGL ICD драйверы для игр собственного производства (они есть в папке
DRIVERS их демки
Crime_Cities_Demo.zip - Яндекс в помощь
, инфо здесь
http://web.archive.org/web/199812020249 ... /index.htm и тут
http://web.archive.org/web/199812070728 ... minigl.htm ).
f) Alt Software DirectX wrapper (
http://nvworld.ru/files/old/docs/glide.html )
g) Полный software-драйвер OpenGL 2.1 MESA3D 7.3 (
http://nvworld.ru/files/downloads/wrapp ... win_73.zip ), подходит и для NT/2K/XP+
************************************
А теперь вернёмся к
NT/2K/XP/2K3-семейству.
Было выяснено что помимо "обычных" OpenGL драйверов, исполненных в виде отдельного файла (т.н.
full OpenGL,
OpenGL ICD - например
ig4icd32.dll, nvoglnt.dll, atioglxx.dll и пр.) существуют и
OpenGL MCD драйверы. В чем же отличие?
Теория
Graphics Drivers: Windows 2000 DDK - MCD Architecture
Figure 1 shows the mini client driver architecture within the Windows NT(R)/Windows(R) 2000 graphics subsystem.
Figure 1 MCD Architecture
The MCD is comprised of the following components:
MCD32: This system-supplied, client-side dynamic-link library (DLL) is loaded and called by OpenGL. It is a thin layer that performs data setup and then calls the Win32R ExtEscape function to send commands from user-mode OpenGL to the kernel-mode portion of the MCD. This module is also called client-side MCD in this document.
MCDSRV32: This system-supplied, server-side DLL is loaded by the kernel-mode display driver. MCDSRV32 manages the transport layer between OpenGL and the display driver. It also performs the bulk of object management and parameter validation for the MCD driver. These tasks typically require significant development effort by driver writers, yet are generally device-independent and have little to do with hardware acceleration. Consequently, the MCD architecture makes it easier for 3D driver writers to implement more robust drivers - a critical design goal as display drivers are trusted components of the Windows NT/Windows 2000 operating system. This module is also referred to as the MCD library or server-side MCD in this document.
MCD: This is the MCD portion of the display driver. The entire display driver, including the MCD portion, is implemented by graphics hardware vendors. This module is referred to as the MCD driver in this document.
The MCD interface provides the display driver access to both the OpenGL rasterization state and to the transformed and lit vertex data. To ensure maximum performance, there is no data translation between the front end (transform/lighting) and the MCD. That is, the vertex data processed by the MCD is the same data that is processed in OpenGL. As a consequence, the MCD interface requires that the display driver be able to handle floating-point data and operations. The driver need not use the special FLOATOBJ_Xxx routines provided by GDI.
At any point during the processing of drawing commands, the driver can return a failure to OpenGL. This causes OpenGL to finish the failed drawing operation using its own complete set of software simulations. The MCD architecture allows software simulation to be performed with direct framebuffer access through DirectDraw/DCI. This minimizes the performance penalty for falling back to software, and frees the driver writer from having to write software simulations for those operations not supported by the hardware. In addition, an MCD driver writer can choose to implement software simulations for those situations where improved performance can be achieved.
One of the distinguishing characteristics of the MCD is its absence of capability bits. This greatly simplifies driver implementation as the MCD driver need only implement those functions that it can accelerate in hardware.
The MCD model provides a language/compiler-independent implementation that allows easy upgrades to the driver and system-supplied services.
А теперь вкратце:
1) Видеокарты поддерживающие
Hardware OpenGL MCD "из коробки".
(DLL содержит "MCDEngInit")
*** Windows NT4 SP6 ***
► Показать
Код: Выделить всё
Compaq QVision 2000 PCI
Compaq QVision 2000+ PCI
Matrox IMPRESSION
Matrox IMPRESSION PCI
Matrox IMPRESSION VLB
Matrox IMPRESSION LITE PCI
Matrox IMPRESSION PLUS
Matrox IMPRESSION PLUS 220HZ
Matrox IMPRESSION PLUS 220HZ PCI
Matrox IMPRESSION PLUS PCI
Matrox IMPRESSION PLUS VLB
Matrox MILLENIUM PCI
Matrox MILLENIUM 220HZ PCI
Matrox ULTIMA PCI
Matrox ULTIMA VLB
Matrox ULTIMA + PCI
Matrox ULTIMA + VLB
***
A104548.exe : Millennium G200 NLX SDRAM rev 872 A10454
A104553.exe : Millennium G200 NLX SDRAM rev 872 A10455
A104555.exe : Millennium G200 NLX SDRAM rev 872 A10455
A104558.exe : Millennium G200 NLX SDRAM rev 872 A10455
A104624.exe : Millennium G200 SD ATX Rev 870 A104624
A104629.exe : Millennium G200 SD ATX Rev 870 A104629
A104631.exe : Millennium G200 SD ATX Rev 870 A104631
A104634.exe : Millennium G200 SD ATX Rev 870 A104634
A11482.exe : ViRGE/MX (86C260)(M5) 4.0.1381.8
A13030.exe : Matrox MGA Millenium [220 MHz RAMDAC] 3.
A13259.exe : Trident 9750 (AGP) 4.00.1381.0045
A14438.exe : 3D RAGE PRO (215R3DUA22)(AGP 1X) 4.35-B3
A14934.exe : CL-GD5465(AGP)
A14937.exe : CL-GD5465 (USB)(AGP)
A15178.exe : Viper V330 (AGP) 4.00.1381.0227
A15181.exe : Viper V330 4.00.1381.0227
A15184.exe : Viper V330 (AGP NLX) 4.00.1381.0227
A16039.exe : Stealth 3D 4000 4.1024.322.0009
A16909.exe : Stealth II S220 4.00.1381.0102
A17296.exe : Matrox MGA-G100 4MB/2MB AGP 3.31
A17301.exe : Matrox Millennium II AGP (250) 3.31
A17304.exe : Millennium II PCI (220) 3.31
A18751.exe : Viper V330 (AGP) 4.10.01.0024
A19026.exe : Mystique (220) 3.32
A19033.exe : Matrox Millennium II 4MB AGP (250) 3.32
A19039.exe : Matrox Millennium II 8MB AGP (250) 3.32
A19044.exe : G100 - Econo 2MB/4MB SGRAM AGP 3.32
A19047.exe : Productiva G100 4MB SGRAM AGP 3.32
A19050.exe : Productiva G100 8MB SDRAM AGP 3.32
A19056.exe : S3 Virge MX 86C260 Rev IB 4MB (AGP) 4.10
A19059.exe : S3 Virge MX 86C260 Rev IB 4MB (PCI) 4.10
A19162.exe : All-in-Wonder PRO+DVD (215R3BUA22) 5.10-
A19243.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP) 4.10
A19246.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP) 4.10
A19873.exe : Viper V330 4.10.01.0024
A19967.exe : Matrox Millennium II 8MB AGP (250) 3.33
A19984.exe : PowerStorm4D10T 2.0
A19985.exe : PowerStorm4D10T 2.0
A20216.exe : S3 Virge MX 86C260 rev. IB 4MB(French) 4
A20219.exe : S3 Virge MX 86C260 rev. IB 4MB (PCI) Ger
A20222.exe : S3 Virge MX 86C260 rev. IB 4MB(Italian)
A20225.exe : S3 Virge MX 86C260 rev. IB 4MB(Japanese)
A20226.exe : S3 Virge MX 86C260 rev. IB 4MB(Spanish)
A20229.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Fren
A20232.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Germ
A20235.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Ital
A20238.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Japa
A20239.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Span
A20242.exe : S3 ViRGE/MX 86C260 rev IB-4MB (AGP)(Fren
A20245.exe : S3 ViRGE/MX 86C260 rev IB-4MB (AGP)(Germ
A20248.exe : S3 ViRGE/MX 86C260 rev IB-4MB (AGP)(Ital
A20255.exe : S3 ViRGE/MX 86C260 rev IB-4MB (AGP)(Span
A20258.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Fren
A20261.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Germ
A20264.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Ital
A20267.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Japa
A20270.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Span
A21339.exe : S3 Virge/MX 86C260 4.1024.325.016
A21735.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Fren
A21736.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Germ
A21739.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Ital
A21740.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Japa
A21741.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP)(Span
A21742.exe : S3 ViRGE/MX 86C260 rev HB-2MB (AGP) 4.10
A21743.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Fren
A21744.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Germ
A21745.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Ital
A21746.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Japa
A21747.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP)(Span
A21748.exe : S3 ViRGE/MX 86C260 rev IB-2MB (AGP) 4.10
A21923.exe : Stealth II G460 4.00.1381.0109
A22049.exe : S3 Virge MX 86C260 rev. IB 4MB PCI for C
A22055.exe : S3 Virge MX 86C260 rev. IB 4MB (PCI) Fre
A22056.exe : S3 Virge MX 86C260 rev. IB 4MB (PCI) Ger
A22058.exe : S3 Virge MX 86C260 rev. IB 4MB (PCI) Ita
A22059.exe : S3 Virge MX 86C260 rev. IB 4MB (PCI) Jap
A22060.exe : S3 Virge MX 86C260 rev. IB 4MB (PCI) Spa
A22303.exe : Productiva G100 4MB SGRAM AGP MGA WinNT
A22466.exe : S3 VIRGE/MX for Compaq S3VIRGE.DL: 4.102
A22467.exe : S3 VIRGE/MX Chinese Localization for Com
A22468.exe : S3 VIRGE/MX Danish Localization for Comp
A22469.exe : S3 VIRGE/MX Dutch Localization for Compa
A22470.exe : S3 VIRGE/MX Finnish Localization for Com
A22471.exe : S3 VIRGE/MX French Localization for Comp
A22473.exe : S3 VIRGE/MX German Localization for Comp
A22474.exe : S3 VIRGE/MX Italian Localization for Com
A22475.exe : S3 VIRGE/MX Japanese Localization for Co
A22476.exe : S3 VIRGE/MX Korean Localization for Comp
A22477.exe : S3 VIRGE/MX Norwegain Localization for C
A22478.exe : S3 VIRGE/MX Portuguese Localization for
A22479.exe : S3 VIRGE/MX Spanish Localization for Com
A22480.exe : S3 VIRGE/MX Swedish Localization for Com
A22481.exe : S3 VIRGE/MX Taiwanese Localization for C
A22847.exe : S3 VIRGE DX 86C375 4.1024.323.009
A22850.exe : S3 VIRGE GX 86C385 4.1024.323.009
A22853.exe : S3 VIRGE GX2 86C357 rev IB (AGP) 4.1024.
A22856.exe : S3 VIRGE GX2 86C357 rev IB (PCI) 4.1024.
A22874.exe : Lightspeed 740 4.00.1381.003
A23232.exe : S3 Virge/MX+ 4.1024.328.0020
A24579.exe : S3 Inc. Virge/MX+ 4.1024.328.0003
A25287.exe : PowerStorm 4D10T 2.0b
A26188.exe : MGA-G200 SD 3.60.117
A26191.exe : Productiva G100 8MB SDRAM AGP 3.60.117
A26194.exe : Millennium G200 8MB SDRAM 3.60.117
A26197.exe : Millennium G200 8MB SGRAM 3.60.117
A26200.exe : Millennium G200 8MB SGRAM (NLX form fact
A26443.exe : Millenium II 4/8MB AGP (250) 3.25
A26998.exe : G100 - Econo 4MB SGRAM AGP 4.0.1381.3600
A27528.exe : PowerStorm 4D10T 4.00.1381.0001
A27574.exe : Stealth II G460 4.00.1381.0114
A28813.exe : Millennium II PCI 3.63
A28814.exe : Mystique 220 3.63
A30187.exe : Millennium G200 8MB SDRAM 3.63
A32036.exe : S3 Inc. ViRGE/MX for Compaq 4.1024.325.0
A32821.exe : S3 Inc. ViRGE MXC 4.1024.329.0003
A32957.exe : S3 ViRGE/MX (rev.IB) (2MB) for Toshiba 4
A33064.exe : S3 ViRGE/MX (rev.IB) (4MB) for Toshiba 4
A35653.exe : S3 Virge MX 86C260 Rev IB 4MB 86C260 For
A36419.exe : Rendition Verlite 2200 4.10.01.5203
A38419.exe : S3 Inc. ViRGE/MX (4MB) (PCI) for Toshib
A38431.exe : S3 Inc. ViRGE/MX (2MB) (PCI) for Toshib
A38435.exe : S3 Inc. ViRGE/MX (2MB) (AGP) for Toshib
A38450.exe : S3 Inc. ViRGE/MX (4MB) (AGP) for Toshib
A41066.exe : Millenium G200 PCI 4.25.031
A41070.exe : Millenium G200 PCI 4.25.031
A41072.exe : Millenium G200 PCI 4.25.031
A41075.exe : Millenium G200 PCI 4.25.031
A41808.exe : SpeedStar A50 4.00.1381.1230
A42606.exe : Millenium G200 PCI 3.67.145
A42930.exe : Millenium G200 PCI 3.67.145
A43190.exe : Millenium G200 PCI 3.67.145
A43557.exe : S3 ViRGE/MX (rev.1B) (2MB) for Toshiba 4
A43558.exe : S3 ViRGE/MX (rev.1B) (2MB) for Toshiba 4
A43559.exe : S3 ViRGE/MX (rev.1B) (2MB) for Toshiba 4
A43560.exe : S3 ViRGE/MX (rev.1B) (2MB) for Toshiba 4
A43561.exe : S3 ViRGE/MX (rev.1B) (2MB) for Toshiba 4
A43562.exe : S3 ViRGE/MX (rev.1B) (2MB) for Toshiba 4
A43572.exe : S3 Virge/MX 86C260 4.1024.327.0011
A43574.exe : S3 VIRGE/MX 86C260 rev IB 4 MB PCI 4.102
A43576.exe : S3 VIRGE/MX 86C260 rev IB 4 MB AGP 4.102
A43810.exe : Virge/MX (Rev.IB) (2mb) (PCI) 86C260 Gen
A43815.exe : Virge/MX (Rev.IB) (4mb) (PCI) 86C260 Gen
A43820.exe : Virge/MX+ (Rev.DB) (4mb) (PCI) 86C280 Ge
A43840.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43841.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43842.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43843.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43844.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43845.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43846.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43847.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43848.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43849.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43850.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43851.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43852.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43853.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43854.exe : S3 VIRGE/MX for Compaq 4.1024.325.0022
A43964.exe : SpeedStar A70 (Win9x 4.10.01.0208 NT40 4
A44009.exe : SpeedStar A70 (Win9x 4.10.01.0208 NT40 4
A44357.exe : Mystique 220 3.60.147
A44362.exe : Mystique 220 3.60.147
A44364.exe : Mystique 220 3.60.147
A44367.exe : Mystique 220 3.60.147
A45079.exe : Millennium G200 8MB SGRAM (ATX) rev 871
A45084.exe : Millennium G200 8MB SGRAM (ATX) rev 871
A45086.exe : Millennium G200 8MB SGRAM (ATX) rev 871
A45089.exe : Millennium G200 8MB SGRAM (ATX) rev 871
A45265.exe : S3 VIRGE/MX 86C260 rev IB 4 MB PCI 4.102
A45271.exe : S3 VIRGE/MX 86C260 rev IB 4 MB PCI 4.102
A45272.exe : S3 VIRGE/MX 86C260 rev IB 4 MB PCI 4.102
A45273.exe : S3 VIRGE/MX 86C260 rev IB 4 MB PCI 4.102
A45274.exe : S3 VIRGE/MX 86C260 rev IB 4 MB PCI 4.102
A45363.exe : S3 Virge/MX 86C260 4.1024.327.0001
A45364.exe : S3 Virge/MX 86C260 4.1024.327.0011
A45366.exe : S3 Virge/MX 86C260 4.1024.327.0001
A45368.exe : S3 Virge/MX 86C260 4.1024.327.0001
A45369.exe : S3 Virge/MX 86C260 4.1024.327.0001
A45390.exe : S3 VIRGE/MX 86C260 rev IB 4 MB AGP 4.102
A45391.exe : S3 VIRGE/MX 86C260 rev IB 4 MB AGP 4.102
A45392.exe : S3 VIRGE/MX 86C260 rev IB 4 MB AGP 4.102
A45393.exe : S3 VIRGE/MX 86C260 rev IB 4 MB AGP 4.102
A45394.exe : S3 VIRGE/MX 86C260 rev IB 4 MB AGP 4.102
A46370.exe : Trident Cyber 9397 DVD .404X.XXDFB
A48365.exe : Millennium G200 8MB NLX SDRAM rev 872 3.
A48398.exe : Millennium G200 8MB NLX SDRAM rev 872 3.
A48403.exe : Millennium G200 8MB NLX SDRAM rev 872 3.
A48547.exe : Millennium G200 AGP 3.70.151
A48586.exe : Millennium G200 AGP 3.70.151
A48588.exe : Millennium G200 AGP 3.70.151
A48591.exe : Millennium G200 AGP 3.70.151
A48691.exe : Mga G200 3.70.151
A48729.exe : Mga G200 3.70.151
A48731.exe : Mga G200 3.70.151
A48759.exe : Millennium G200 8MB ATX SGRAM rev 871 3.
A48803.exe : Millennium G200 8MG ATX SGRAM rev 871 3.
A48805.exe : Millennium G200 8MG ATX SGRAM rev 871 3.
A48808.exe : Millennium G200 8MG ATX SGRAM rev 871 3.
A48858.exe : Millennium G200 8MB PCI SDRAM with DFP c
A48897.exe : Millennium G200 8MG PCI SDRAM with DFP c
A48899.exe : Millennium G200 8MG PCI SDRAM with DFP c
A48902.exe : Millennium G200 8MG PCI SDRAM with DFP c
A49451.exe : G100 - Econo 4MB SGRAM AGP 3.70.151
A49456.exe : G100 - Econo 4MB SGRAM AGP 3.70.151
A49458.exe : G100 - Econo 4MB SGRAM AGP 3.70.151
A49461.exe : G100 - Econo 4MB SGRAM AGP 3.70.151
A49485.exe : Productiva G100 8MB SDRAM AGP 3.70.151
A49490.exe : Productiva G100 8MB SDRAM AGP 3.70.151
A49492.exe : Productiva G100 8MB SDRAM AGP 3.70.151
A49495.exe : Productiva G100 8MB SDRAM AGP 3.70.151
A49520.exe : Millennium G200 8MB SGRAM (ATX) rev 798
A49524.exe : Millennium G200 PCI 3.70.151
A49562.exe : Millennium G200 8MB SGRAM (ATX) rev 798
A49567.exe : Millennium G200 8MB SGRAM (ATX) rev 798
A49627.exe : Millennium G200 PCI 3.70.151
A49629.exe : Millennium G200 PCI 3.70.151
A49632.exe : Millennium G200 PCI 3.70.151
A49657.exe : Millennium G200 8MB SGRAM NLX rev 888 3.
A49661.exe : Millennium G200 8MB SDRAM (ATX) rev 834
A49702.exe : Millennium G200 8MB SDRAM (ATX) rev 834
A49704.exe : Millennium G200 8MB SDRAM (ATX) rev 834
A49707.exe : Millennium G200 8MB SDRAM (ATX) rev 834
A49740.exe : Millennium G200 8MB SGRAM NLX rev 837 3.
A49784.exe : Millennium G200 8MB NLX SGRAM rev 888 3.
A49786.exe : Millennium G200 8MB NLX SGRAM rev 888 3.
A49789.exe : Millennium G200 8MB NLX SGRAM rev 888 3.
A49844.exe : Millennium G200 8MB SGRAM NLX rev 837 3.
A49846.exe : Millennium G200 8MB SGRAM NLX rev 837 3.
A49849.exe : Millennium G200 8MB SGRAM NLX rev 837 3.
A49924.exe : Millennium II PCI 3.70.151
A49929.exe : Millennium II PCI 3.70.151
A49931.exe : Millennium II PCI 3.70.151
A49934.exe : Millennium II PCI 3.70.151
A50022.exe : Millennium II AGP 3.70.151
A50027.exe : Millennium II AGP 3.70.151
A50029.exe : Millennium II AGP 3.70.151
A50032.exe : Millennium II AGP 3.70.151
A50399.exe : S3 Inc. ViRGE/MXC (rev.E) (2MB) (PCI) 86
A50400.exe : S3 Inc. ViRGE/MXC (rev.E) (2MB) (PCI) 86
A50401.exe : S3 Inc. ViRGE/MXC (rev.E) (2MB) (PCI) 86
A50402.exe : S3 Inc. ViRGE/MXC (rev.E) (2MB) (PCI) 86
A50403.exe : S3 Inc. ViRGE/MXC (rev.E) (2MB) (PCI) 86
A50404.exe : S3 Inc. ViRGE/MXC (rev.E) (2MB) (PCI) 86
A7092.exe : Millennium II v3.11.042
A71166.exe : Trident Cyber 9525DVD 481070/4.00.1381.0
A75306.exe : Trident Cyber 9525DVD A75306
A7724.exe : Millennium II v3.07.045
A78239.exe : G100 - Econo 4MB SGRAM AGP A78239
A78244.exe : G100 - Econo 4MB SGRAM AGP A78244
A78246.exe : G100 - Econo 4MB SGRAM AGP A78246
A78249.exe : G100 - Econo 4MB SGRAM AGP A78249
A78292.exe : Productiva G100 8MB SDRAM AGP A78292
A78297.exe : Productiva G100 8MB SDRAM AGP A78297
A78299.exe : Productiva G100 8MB SDRAM AGP A78299
A78302.exe : Productiva G100 8MB SDRAM AGP A78302
A78345.exe : Millenium G200 SG NLX Rev 888 A78345
A78350.exe : Millenium G200 SG NLX Rev 888 A78350
A78352.exe : Millenium G200 SG NLX Rev 888 A78352
A78355.exe : Millenium G200 SG NLX Rev 888 A78355
A78410.exe : Millennium G250 SG NLX rev 873 A78410
A78415.exe : Millennium G250 SG NLX rev 873 A78415
A78417.exe : Millennium G250 SG NLX rev 873 A78417
A78420.exe : Millennium G250 SG NLX rev 873 A78420
A78465.exe : Millennium G200 NLX SDRAM rev 872 A78465
A78470.exe : Millennium G200 NLX SDRAM rev 872 A78470
A78472.exe : Millennium G200 NLX SDRAM rev 872 A78472
A78475.exe : Millennium G200 NLX SDRAM rev 872 A78475
A78527.exe : Millennium G200 8MB ATX SGRAM rev 871 A7
A78532.exe : Millennium G200 8MB ATX SGRAM rev 871 A7
A78534.exe : Millennium G200 8MB ATX SGRAM rev 871 A7
A78537.exe : Millennium G200 8MB ATX SGRAM rev 871 A7
A78680.exe : Millennium G200 8MB SGRAM (ATX) rev 856
A78685.exe : Millennium G200 8MB SGRAM (ATX) rev 856
A78687.exe : Millennium G200 8MB SGRAM (ATX) rev 856
A78690.exe : Millennium G200 8MB SGRAM (ATX) rev 856
A79050.exe : Millennium G200 SG (NLX rev 873) A79050
A79054.exe : Millennium G200 SG (NLX rev 873) A79054
A79056.exe : Millennium G200 SG (NLX rev 873) A79056
A79059.exe : Millennium G200 SG (NLX rev 873) A79059
A79155.exe : Millennium G200 PCI A79155
A79160.exe : Millennium G200 PCI A79160
A79162.exe : Millennium G200 PCI A79162
A79165.exe : Millennium G200 PCI A79165
A8902.exe : Millennium II 3.20.055
A9883.exe : 86E260 3.20.11
A9886.exe : ViRGE GX2 357 3.21.03
A99070.exe : Millennium G200 8MB ATX SGRAM rev 871 A9
A99075.exe : Millennium G200 8MB ATX SGRAM rev 871 A9
A99077.exe : Millennium G200 8MB ATX SGRAM rev 871 A9
A99080.exe : Millennium G200 8MB ATX SGRAM rev 871 A9
A99129.exe : Millennium G200 SG (NLX rev 873) A99129
A99134.exe : Millennium G200 SG (NLX rev 873) A99134
A99136.exe : Millennium G200 SG (NLX rev 873) A99136
A99139.exe : Millennium G200 SG (NLX rev 873) A99139
A99201.exe : Millennium G250 SG NLX rev 873 A99201
A99206.exe : Millennium G250 SG NLX rev 873 A99206
A99208.exe : Millennium G250 SG NLX rev 873 A99208
A99211.exe : Millennium G250 SG NLX rev 873 A99211
A99308.exe : Millenium G200 SG NLX Rev 888 A99308
A99312.exe : Millenium G200 SG NLX Rev 888 A99312
A99314.exe : Millenium G200 SG NLX Rev 888 A99314
A99317.exe : Millenium G200 SG NLX Rev 888 A99317
A9985.exe : Matrox Performance 3.20.055
*** Windows 2000 SP4 ***
► Показать
Код: Выделить всё
Compaq QVision 2000 PCI PCI\VEN_102B&DEV_0518
Compaq QVision 2000+ PCI PCI\VEN_102B&DEV_0D10
Matrox IMPRESSION *PNP0918
Matrox IMPRESSION PCI PCI\VEN_102B&DEV_0518
Matrox IMPRESSION VLB
Matrox IMPRESSION LITE PCI PCI\VEN_102B&DEV_0D10
Matrox IMPRESSION PLUS
Matrox IMPRESSION PLUS 220HZ
Matrox IMPRESSION PLUS 220HZ PCI PCI\VEN_102B&DEV_0518
Matrox IMPRESSION PLUS PCI PCI\VEN_102B&DEV_0D10
Matrox IMPRESSION PLUS VLB
Matrox ULTIMA PCI PCI\VEN_102B&DEV_0518
Matrox ULTIMA VLB
Matrox ULTIMA + PCI PCI\VEN_102B&DEV_0D10
Matrox ULTIMA + VLB
Matrox Millennium PCI PCI\VEN_102B&DEV_0519
Matrox Mystique PCI PCI\VEN_102B&DEV_051A
Matrox Millennium II PCI PCI\VEN_102B&DEV_051B
Matrox Millennium II AGP PCI\VEN_102B&DEV_051F
Matrox Productiva G100 Multi-Monitor PCI\VEN_102B&DEV_1000&SUBSYS_FF05102B
Matrox MGA-G100 AGP PCI\VEN_102B&DEV_1001&SUBSYS_FF00102B
Matrox MGA-G100 AGP PCI\VEN_102B&DEV_1001&SUBSYS_FF04102B
Matrox Productiva G100 AGP PCI\VEN_102B&DEV_1001&SUBSYS_FF01102B
Matrox MGA-G100 AGP PCI\VEN_102B&DEV_1001&SUBSYS_1001102B
Matrox MGA-G100 AGP PCI\VEN_102B&DEV_1001&SUBSYS_001E110A
Matrox Productiva G100 Multi-Monitor PCI\VEN_102B&DEV_1000
Matrox MGA-G100 PCI\VEN_102B&DEV_1001
Matrox Millennium G200 SD PCI PCI\VEN_102B&DEV_0520&SUBSYS_FF03102B
Matrox Marvel G200 PCI PCI\VEN_102B&DEV_0520&SUBSYS_FF04102B
Matrox MGA-G200 AGP PCI\VEN_102B&DEV_0521&SUBSYS_FF00102B
Matrox Mystique G200 AGP PCI\VEN_102B&DEV_0521&SUBSYS_FF02102B
Matrox Millennium G200 AGP PCI\VEN_102B&DEV_0521&SUBSYS_FF03102B
Matrox Marvel G200 AGP PCI\VEN_102B&DEV_0521&SUBSYS_FF04102B
Matrox Mystique G200 Video AGP PCI\VEN_102B&DEV_0521&SUBSYS_F806102B
Matrox MGA-G200 AGP PCI\VEN_102B&DEV_0521&SUBSYS_0032110A
Matrox Millennium G200 AGP PCI\VEN_102B&DEV_0521&SUBSYS_FF031014
Matrox Millennium G200 SD AGP PCI\VEN_102B&DEV_0521&SUBSYS_48F8102B
Matrox Millennium G200 SG AGP PCI\VEN_102B&DEV_0521&SUBSYS_4A64102B
Matrox Millennium G200 SG LE AGP PCI\VEN_102B&DEV_0521&SUBSYS_4A60102B
Matrox Mystique G200 SD AGP PCI\VEN_102B&DEV_0521&SUBSYS_48E9102B
Matrox Millennium G250 AGP PCI\VEN_102B&DEV_0521&SUBSYS_CA6C102B
Matrox Millennium G250 LE AGP PCI\VEN_102B&DEV_0521&SUBSYS_CA60102B
Matrox Millennium G200 PCI\VEN_102B&DEV_0520
Matrox Millennium G200 PCI\VEN_102B&DEV_0521
Number 9 Imagine 128 Series 2 PCI\VEN_105D&DEV_2339
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0000105D
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0001105D
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0002105D
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0003105D
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0004105D
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0005105D
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0006105D
Number 9 Imagine 128 Series 2(4 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0007105D
Number 9 Imagine 128 Series 2e (4 Meg DRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0008105D
Number 9 Imagine 128 Series 2e (4 Meg DRAM) PCI\VEN_105D&DEV_2339&SUBSYS_0009105D
Number 9 Imagine 128 Series 2(8 Meg VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_000A105D
Number 9 Imagine 128 Series 2(8 Meg H-VRAM) PCI\VEN_105D&DEV_2339&SUBSYS_000B105D
Number 9 Revolution 3D PCI\VEN_105D&DEV_493D
Number 9 Revolution 4 PCI\VEN_105D&DEV_5348
Number 9 Reality 332 (Virge) PCI\VEN_5333&DEV_5631
Number 9 Reality 772 (Virge VX) PCI\VEN_5333&DEV_883D
S3 ViRGE PCI\VEN_5333&DEV_5631
S3 Aurora64V+ PCI\VEN_5333&DEV_8812
S3 Trio64UV+ PCI\VEN_5333&DEV_8814
S3 ViRGE/VX PCI\VEN_5333&DEV_883D
S3 Trio64V2 PCI\VEN_5333&DEV_8901
S3 Plato PX (Integrated Accelerator) PCI\VEN_5333&DEV_8902
S3 ViRGE DX/GX PCI\VEN_5333&DEV_8A01
S3 ViRGE GX2 PCI\VEN_5333&DEV_8A10
S3 ViRGE M3 PCI\VEN_5333&DEV_8C00
S3 ViRGE MX PCI\VEN_5333&DEV_8C01&SUBSYS_00011179
S3 ViRGE MX PCI\VEN_5333&DEV_8C01
S3 ViRGE MX+ PCI\VEN_5333&DEV_8C03
S3 ViRGE MXC PCI\VEN_5333&DEV_8C02
Trident Video Accelerator 3D Image985 PCI\VEN_1023&DEV_9850
Trident Video Accelerator 3D Image975 PCI\VEN_1023&DEV_9750
Trident Video Accelerator 3D Cyber9397 PCI\VEN_1023&DEV_9397
Trident Video Accelerator 3D Cyber9397DVD PCI\VEN_1023&DEV_939A
Trident Video Accelerator 3D Cyber9520 PCI\VEN_1023&DEV_9520
Trident Video Accelerator 9525DVD PCI\VEN_1023&DEV_9525
SiS 530/620 PCI\VEN_1039&DEV_6306&SUBSYS_63061039
SiS 5598/6326 PCI\VEN_1039&DEV_6326
SiS 5598/6326 PCI\VEN_1039&DEV_0200
A136934.exe : Trident Cyber 9525DVD A136934
A140081.exe : Trident Cyber 9525DVD A140081
A143490.exe : SiS530 A3 device driver
A143492.exe : The SiS620 A2 device driver
A145338.exe : Trident Cyber 9525DVD A145338
A149218.exe : Trident Cyber 9525DVD A149218
A151909.exe : Trident Cyber 9525DVD A151909
A162917.exe : Trident Cyber 9525DVD A162917
A162944.exe : Trident Cyber 9525DVD A162944
A195605.exe : SiS530 device driver
A204661.exe : Trident Cyber 9525DVD A204661
*** Windows XP SP3 / Windows 2003 Server SP2 (x86)***
► Показать
Код: Выделить всё
Number 9 Reality 332 (Virge) PCI\VEN_5333&DEV_5631
Number 9 Reality 772 (Virge VX) PCI\VEN_5333&DEV_883D
S3 ViRGE PCI\VEN_5333&DEV_5631
S3 Aurora64V+ PCI\VEN_5333&DEV_8812
S3 Trio64UV+ PCI\VEN_5333&DEV_8814
S3 ViRGE/VX PCI\VEN_5333&DEV_883D
S3 Trio64V2 PCI\VEN_5333&DEV_8901
S3 Plato PX (Integrated Accelerator) PCI\VEN_5333&DEV_8902
S3 ViRGE DX/GX PCI\VEN_5333&DEV_8A01
S3 ViRGE GX2 PCI\VEN_5333&DEV_8A10
S3 ViRGE M3 PCI\VEN_5333&DEV_8C00
S3 ViRGE MX PCI\VEN_5333&DEV_8C01&SUBSYS_00011179
S3 ViRGE MX PCI\VEN_5333&DEV_8C01
S3 ViRGE MX+ PCI\VEN_5333&DEV_8C03
S3 ViRGE MXC PCI\VEN_5333&DEV_8C02
Trident Video Accelerator 3D Image985 PCI\VEN_1023&DEV_9850
Trident Video Accelerator 3D Image975 PCI\VEN_1023&DEV_9750
Trident Video Accelerator 3D Cyber9397 PCI\VEN_1023&DEV_9397
Trident Video Accelerator 3D Cyber9397DVD PCI\VEN_1023&DEV_939A
Trident Video Accelerator 3D Cyber9520 PCI\VEN_1023&DEV_9520
2) как детектировать OpenGL MCD (для пользователей)
* ищем "MCDEngInit" (например используя HIEW) в DLL видеодрайвера (без гарантий...)
* запускаем glxinfo ( [URL]см. ниже[/b] ), ищем в логе таблицу режимов, а там - MCD (!!! не 'soft' или 'ICD'), выглядит это как-то так:
Код: Выделить всё
...
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: GDI Generic
OpenGL version string: 1.1.0
OpenGL extensions:
GL_WIN_swap_hint, GL_EXT_bgra, GL_EXT_paletted_texture
GLU version string: 1.2.2.0 Microsoft Corporation
GLU extensions:
GL_EXT_bgra
...
visual accl rgba d st w b g o a g n s s colorbuffer ax dp st accumbuffer
id dep type indx b ro n m d g c f p p b r g b a bf th cl r g b a
-------------------------------------------------------------------------
0x01 16 MCD RGBA . . y . y y y y . . . 5 5 5 0 0 0 8 11 11 10 0
0x02 16 MCD RGBA y . y . . y y y . . . 5 5 5 0 0 0 8 11 11 10 0
0x03 16 MCD RGBA . . y . y y y y . . . 5 5 5 0 0 16 8 11 11 10 0
0x04 16 MCD RGBA y . y . . y y y . . . 5 5 5 0 0 16 8 11 11 10 0
0x05 16 soft RGBA . . y y y y . y . . . 5 5 5 0 0 32 8 11 11 10 0
0x06 16 soft RGBA . . y y y y . y . . . 5 5 5 0 0 16 8 11 11 10 0
...
* Запускаем любую игру на
quake2-движке. если есть аппаратное
3D (
ICD/MCD) игра запустится в
OpenGL.
* Запускаем любую игру на
quake3-движке (q3/cod/
rtcw/et). если есть аппаратное
3D (
ICD/MCD) игра запустится и даст сообщение "
...MCD acceleration found".
3) заметки, pros, contras.
* INFO: в S3 Virge, S3 trio3D MСD работает ТОЛЬКО в 5/5/5 режиме (15/16bpp)
* PRO:
MCD драйвер не загружает CPU
* PRO:
MCD драйвер встроен внутри обычного драйвера, в теории он быстрее ICD и software
* PRO: в
S3 Virge PCI (
NT4) даёт двухкратное ускорение по сравнению с софтовым OpenGL (по треугольникам) на VIA-чипсете (PentiumI 233-MMX).
* CONTRA: MCD драйвер не даёт нового OpenGL API старше системного MS OpenGL 1.1 (1.0 в NT 3.5x)
* CONTRA: аппаратное 3D (применительно к данным картам) неэффективно на компьтерах с "быстрым"
CPU - PentiumII/III/IV и старше.
* CONTRA: в некоторых случаях смена разрешения видеорежима из игры невозможна (S3 Trio3D+W2K+Quake2)
* CONTRA: наличия MCD-драйвера "не видно", даже если он установлен. Система тупо пишет что установлен
Microsoft Corporation GDI Generic 1.1.0 и всё, что часто сбивает с толку.
4) как детектировать OpenGL MCD (для программистов)
Код: Выделить всё
int pixelFormat = ChoosePixelFormat (hDC, &pfd);
PIXELFORMATDESCRIPTOR pfd_new;
DescribePixelFormat (hDC, pixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &pfd_new);
int generic_format = pfd_new.dwFlags & PFD_GENERIC_FORMAT;
int generic_accelerated = pfd_new.dwFlags & PFD_GENERIC_ACCELERATED;
if (generic_format && ! generic_accelerated)
puts( "Software Mode"); // software
else if (generic_format && generic_accelerated)
puts( "Hardware - MCD Mode"); // hardware - MCD
else if (! generic_format && ! generic_accelerated)
puts( "Hardware - ICD Mode"); // hardware - ICD
else
puts( "unknown unsupported mode!"); // WTF ???
Ссылки:
Techland MiniGL:
http://web.archive.org/web/199812070728 ... minigl.htm
Matrox:
http://www.matrox.com/graphics/en/support/drivers/
Number9: Number Nine Visual Technology, buyed by S3 in 2000
S3 Graphics:
http://ranger.s3graphics.com/swlib/
VIA(and some Tridents):
http://www.via.com.tw/en/support/drivers.jsp
SIS:
http://www.sis.com/download/
http://jmpz.tripod.com/download/
http://dmarton.tripod.com/ViRGEtip.html
http://dmarton.tripod.com/download.html#s3
http://web.archive.org/web/199901271322 ... evirge.htm
http://www.angelfire.com/ca/rchau/opengl.html
http://www.fortunecity.com/skyscraper/nuclear/274/
SGI software OpenGL 1.1 и TECHLAND OpenGL Wrapper в архиве ниже.