Module: tools
Branch: master
Commit: feb1102cc2ed2eb592f1c3ea6300723024ba01e7
URL: https://source.winehq.org/git/tools.git/?a=commit;h=feb1102cc2ed2eb592f1c3e…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Fri Jan 29 06:20:01 2021 +0100
testbot/LogUtils: Fix handling of new test units with no start line.
Create a real new test unit object so $Cur->{LineFailures} is not
counted multiple times.
This matches the winetest parser behavior.
Improve the documentation.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/lib/WineTestBot/LogUtils.pm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm
index 1b4ee7a..15ec31a 100644
--- a/testbot/lib/WineTestBot/LogUtils.pm
+++ b/testbot/lib/WineTestBot/LogUtils.pm
@@ -675,11 +675,14 @@ sub ParseWineTestReport($$$)
$Cur->{IsBroken} = 1;
_CloseTestUnit($LogInfo, $Cur, 0);
- # Then switch to the new one, warning it's missing a start line,
- # and that its results may be inconsistent.
- ($Cur->{Dll}, $Cur->{Unit}) = ($Dll, $Unit);
- _AddExtra($LogInfo, "had no start line (or it is garbled)", $Cur);
+ # Then switch to the new test unit, not for the past lines, but for
+ # those before the next 'start' line. This 'new' test unit may have
+ # inconsistent results too so set IsBroken.
+ $Cur = _NewCurrentUnit($Dll, $Unit);
$Cur->{IsBroken} = 1;
+
+ # Finally, warn about the missing start line.
+ _AddExtra($LogInfo, "had no start line (or it is garbled)", $Cur);
}
if ($Rc == 258)
Module: wine
Branch: master
Commit: f72ef20e88fba67254caf0124ab8713e3d15fa2a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f72ef20e88fba67254caf012…
Author: Floris Renaud <jkfloris(a)dds.nl>
Date: Thu Jan 28 13:40:03 2021 +0100
documentation: Add Dutch README translation.
Signed-off-by: Floris Renaud <jkfloris(a)dds.nl>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
documentation/README.nl | 181 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 181 insertions(+)
diff --git a/documentation/README.nl b/documentation/README.nl
new file mode 100644
index 00000000000..2b54c33b5dc
--- /dev/null
+++ b/documentation/README.nl
@@ -0,0 +1,181 @@
+1. INTRODUCTIE
+
+Wine is een programma wat het mogelijk maakt om Microsoft Windows
+programma's (waaronder uitvoerbare DOS, Windows 3.x, Win32 en Win64
+bestanden) op Unix uit te voeren. Het bestaat uit een programma-
+lader die het Microsoft Windows binaire bestand laadt en uitvoert.
+Een bibliotheek (Winelib genaamd) die de Windows API aanroepen laat
+uitvoeren door overeenkomstige Unix, X11 of Mac varianten. Deze
+bibliotheek kan ook worden gebruikt om Windows code om te zetten in
+echte Unix uitvoerbare bestanden.
+
+Wine is vrije software, uitgebracht onder de GNU LGPL. Zie het
+LICENCE bestand voor meer informatie.
+
+
+2. SNEL AAN DE SLAG
+
+Voer in de hoofdmap van de Wine broncode (waar het README bestand staat),
+het volgende uit:
+
+./configure
+make
+
+Installeer daarna Wine met:
+
+make install
+
+Of voer Wine uit in de map waarin die gebouwd is:
+
+./wine notepad
+
+Programma's kunnen uitgevoerd worden met "wine programma". Lees voor meer
+informatie en het oplossingen van problemen de rest van dit bestand, de
+man pagina's van Wine en vooral de overvloed aan informatie op
+https://winehq.org .
+
+
+3. BENODIGDHEDEN
+
+Om Wine te kunnen compileren en uit te voeren, is één van het volgende
+besturingssystemen nodig:
+
+ Linux versie 2.0.36 of nieuwer
+ FreeBSD 8.0 of nieuwer
+ Solaris x86 9 of nieuwer
+ NetBSD-current
+ Mac OS X 10.8 of nieuwer
+
+Omdat Wine threadondersteuning op kernelniveau vereist, worden alleen de
+bovenstaande besturingssystemen ondersteund. Andere besturingssystemen
+die threadondersteuning op kernelniveau hebben, kunnen mogelijk in de
+toekomst ook ondersteund worden.
+
+FreeBSD informatie:
+ Over het algemeen werkt Wine niet goed op versies die ouder zijn dan
+ FreeBSD 8.0. Zie https://wiki.freebsd.org/Wine voor meer informatie.
+
+Solaris informatie:
+ Hoogst waarschijnlijk moet Wine gebouwd worden met de GNU toolchain
+ (gcc, gas, enz.). Waarschuwing: het installeren van gas houdt *niet*
+ in dat het gebruikt wordt door gcc. Hercompileren van gcc nadat gas
+ is geïnstalleerd of symbolische verwijzingen maken voor cc, as en
+ ld naar de gnu-tools is waarschijnlijk noodzakelijk.
+
+NetBSD informatie:
+ Zorg er voor dat de volgende opties aan staan in de kernel: USER_LDT,
+ SYSVSHM, SYSVSEM, en SYSVMSG.
+
+Mac OS X informatie:
+ Xcode/Xcode Command Line Tools of Apple cctools zijn nodig. De minimale
+ vereisten om Wine te kunnen compileren zijn clang 3.8 met MacOSX10.10.sdk
+ en mingw-w64 v8. MacOSX10.14.sdk en nieuwer kunnen alleen wine64 bouwen.
+
+Ondersteunde bestandssystemen:
+ Wine zou op de meeste bestandssystemen uitgevoerd moeten kunnen worden.
+ Er zijn enkele compatibiliteitsproblemen bekend met bestanden die via
+ Samba worden benaderd. Ook heeft NTFS niet alle bestandssysteemopties die
+ nodig zijn met sommige programma's. Een oorspronkelijk Unix
+ bestandssysteem wordt aangeraden.
+
+Basis benodigdheden:
+ De X11-ontwikkel-bestanden moeten geïnstalleerd zijn. (Voor Debian is dat
+ pakket xorg-dev in RedHat is dit libX11-devel).
+
+ Natuurlijk is ook "make" nodig. (Hoogst waarschijnlijk GNU make.)
+
+ Ook zijn bison en flex versie 2.5.33 of nieuwer nodig.
+
+Optionele bibliotheken:
+ Tijdens het uitvoeren van ./configure wordt er aangegeven of de optionele
+ bibliotheken zijn gevonden op het systeem. Bekijk
+ https://wiki.winehq.org/Building_Wine voor meer informatie over welke
+ pakketten er geïnstalleerd zouden moeten worden. Op 64-bit systemen
+ moeten ook de 32-bit versies van deze pakketten geïnstalleerd worden.
+
+
+4. COMPILEREN
+
+Om Wine te bouwen, voer het volgende uit:
+
+./configure
+make
+
+Hiermee wordt het programma "wine" en talrijke ondersteunende bibliotheken
+en uitvoerbare bestanden gemaakt. Het programma "wine" laadt en voert de
+uitvoerbare Windows bestanden uit.
+De bibliotheek "libwine" ("Winelib") kan worden gebruikt om Windows
+broncode te compileren en te linken in Unix.
+
+Voor alle opties tijdens het compileren, voer ./configure --help uit.
+
+Voor meer informatie bekijk: https://wiki.winehq.org/Building_Wine
+
+
+5. SETUP
+
+Wanneer Wine goed in elkaar is gezet, kan Wine geïnstalleerd worden met
+"make install". Deze opdracht installeert het uitvoerbare wine bestand,
+de bibliotheken, de Wine man pagina's en alle andere benodigde bestanden.
+
+Vergeet niet om eerst elke tegenstrijdige Wine installatie te verwijderen.
+Dit kan voor de installatie met "dpkg -r wine", "rpm -e wine" of met
+"make uninstall"
+
+Eenmaal geïnstalleerd, kan het configuratie programma "winecfg" worden
+uitgevoerd. Bekijk de Support pagina op https://www.winehq.org/ voor
+configuratiehints.
+
+
+6. PROGRAMMA'S UITVOEREN
+
+Bij het gebruiken van Wine kan het gehele pad naar het uitvoerbare bestand
+worden gebruikt of alleen de bestandsnaam.
+
+Voorbeeld: het Kladblok (Notepad) uitvoeren:
+
+ wine notepad (gebruikt het zoek-pad, zoals in het register is
+ wine notepad.exe opgegeven, om het bestand te vinden)
+
+ wine c:\\windows\\notepad.exe (met een DOS bestandsnaam constructie)
+
+ wine ~/.wine/drive_c/windows/notepad.exe (een Unix constructie)
+
+ wine notepad.exe readme.txt (een programma met parameters)
+
+Wine is niet perfect. Dus sommige programma's kunnen crashen. Als dat
+gebeurd komt er een logboek van de crash. Deze kan bijgevoegd worden als de
+fout wordt gerapporteerd.
+
+
+7. MEER INFORMATIE
+
+WWW: Een grote verscheidenheid aan informatie voor Wine is beschikbaar
+ gemaakt door WineHQ op https://www.winehq.org/ : verschillende
+ handleidingen, programma database, bug tracking. Dit is
+ waarschijnlijk de beste plek om te beginnen.
+
+FAQ: Veel vragen over Wine zijn te vinden op https://www.winehq.org/FAQ
+
+Wiki: De Wine-Wiki staat op https://wiki.winehq.org
+
+Mail-lijsten:
+ Er zijn meerdere mail-lijsten voor gebruikers en ontwikkelaars van
+ Wine. Bekijk https://www.winehq.org/forums voor meer informatie.
+
+Fouten: Op https://bugs.winehq.org kunnen fouten gemeld worden aan de Wine
+ Bugzilla. Doorzoek eerst de database van bugzilla om te kijken of
+ de fout al bekend of gerepareerd is voordat de fout gemeld wordt.
+
+IRC: Online hulp is beschikbaar in kanaal #WineHQ op irc.freenode.net
+
+Git: De huidige ontwikkeling van Wine is beschikbaar op Git. Bezoek
+ https://www.winehq.org/git voor meer informatie.
+
+Om iets toe te voegen aan de volgende uitgave van Wine of om een fout op te
+lossen, stuur een patch (de voorkeur heeft een git-format-patch) naar de
+wine-devel(a)winehq.org lijst.
+
+--
+Alexandre Julliard
+julliard(a)winehq.org
Module: wine
Branch: master
Commit: 8c65205d2245e83b00c62911469b082fd3689143
URL: https://source.winehq.org/git/wine.git/?a=commit;h=8c65205d2245e83b00c62911…
Author: Floris Renaud <jkfloris(a)dds.nl>
Date: Thu Jan 28 13:32:40 2021 +0100
documentation: Change obsolete Debian and Red Hat packages.
xlib6g-dev on Debian and XFree86-devel on Red Hat no longer exist.
Replaced with: xorg-dev (Debian) and libX11-devel (Red Hat)
Signed-off-by: Floris Renaud <jkfloris(a)dds.nl>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
README | 2 +-
documentation/README.de | 2 +-
documentation/README.es | 2 +-
documentation/README.fi | 4 ++--
documentation/README.fr | 4 ++--
documentation/README.hu | 2 +-
documentation/README.it | 2 +-
documentation/README.ja | 2 +-
documentation/README.ko | 4 ++--
documentation/README.no | 4 ++--
documentation/README.pt | 2 +-
documentation/README.pt_br | 2 +-
documentation/README.ru | 2 +-
documentation/README.sv | 4 ++--
documentation/README.tr | 2 +-
documentation/README.uk | 2 +-
documentation/README.zh_cn | 6 ++----
17 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/README b/README
index 21ab6f23b20..7d834db0a8f 100644
--- a/README
+++ b/README
@@ -75,7 +75,7 @@ Supported file systems:
Basic requirements:
You need to have the X11 development include files installed
- (called xlib6g-dev in Debian and XFree86-devel in Red Hat).
+ (called xorg-dev in Debian and libX11-devel in Red Hat).
Of course you also need "make" (most likely GNU make).
diff --git a/documentation/README.de b/documentation/README.de
index b30575a356d..be8c033dba5 100644
--- a/documentation/README.de
+++ b/documentation/README.de
@@ -80,7 +80,7 @@ Unterstützte Dateisysteme:
Grundsätzliche Voraussetzungen:
Sie müssen die Entwicklungsdateien für X11 installiert haben
- (Debian nennt diese xlib6g-dev, Red Hat XFree86-devel).
+ (Debian nennt diese xorg-dev, Red Hat libX11-devel).
Selbstverständlich benötigen Sie auch "make" (höchstwahrscheinlich GNU make).
diff --git a/documentation/README.es b/documentation/README.es
index 8068217ebcd..19b43dd02ec 100644
--- a/documentation/README.es
+++ b/documentation/README.es
@@ -68,7 +68,7 @@ Sistemas de ficheros soportados:
Requisitos básicos:
Necesitará tener instalados los archivos include X11 para desarrollo
- (llamados xlib6g-dev en Debian y XFree86-devel en RedHat).
+ (llamados xorg-dev en Debian y libX11-devel en RedHat).
Además necesitará "make" (preferiblemente GNU make).
diff --git a/documentation/README.fi b/documentation/README.fi
index b2c6524548e..13af44b1e9b 100644
--- a/documentation/README.fi
+++ b/documentation/README.fi
@@ -71,8 +71,8 @@ Tuetut tiedostojärjestelmät:
on suotavaa.
Perusvaatimukset:
- Koneella täytyy olla X11:n kehitystiedostot (Debianissa xlib6g-dev,
- Red Hatissa XFree86-devel).
+ Koneella täytyy olla X11:n kehitystiedostot (Debianissa xorg-dev,
+ Red Hatissa libX11-devel).
Luonnollisesti myös make (yleensä GNU make) on tarpeen.
diff --git a/documentation/README.fr b/documentation/README.fr
index 28729a5b41e..2105502cf55 100644
--- a/documentation/README.fr
+++ b/documentation/README.fr
@@ -74,8 +74,8 @@ Systèmes de fichiers pris en charge :
est recommandée.
Configuration de base requise :
- Les fichiers d'en-tête de X11 (appelés xlib6g-dev sous Debian et
- XFree86-devel sous Red Hat) doivent être installés.
+ Les fichiers d'en-tête de X11 (appelés xorg-dev sous Debian et
+ libX11-devel sous Red Hat) doivent être installés.
Bien entendu, vous aurez besoin du programme « make » (très probablement
GNU make).
diff --git a/documentation/README.hu b/documentation/README.hu
index f672dea43d2..e28c534c51e 100644
--- a/documentation/README.hu
+++ b/documentation/README.hu
@@ -73,7 +73,7 @@ Támogatott fájlrendszerek:
Alap követelmények:
Önnek fel kell telepítenie az X11 fejlesztõi fájlokat
- (xlib6g-dev néven van a Debianban és XFree86-devel néven a Red Hat-ben).
+ (xorg-dev néven van a Debianban és libX11-devel néven a Red Hat-ben).
Fordítási eszköz követelmények:
x86 rendszereken gcc >= 2.7.2 szükséges.
diff --git a/documentation/README.it b/documentation/README.it
index ecb4aed75e8..68f0df1f75f 100644
--- a/documentation/README.it
+++ b/documentation/README.it
@@ -68,7 +68,7 @@ File system supportati:
Requisiti basilari:
Devono essere installati i file include di sviluppo di X11
- (chiamato xlib6g-dev in Debian e XFree86-devel in Red Hat).
+ (chiamato xorg-dev in Debian e libX11-devel in Red Hat).
Ovviamente necessario anche "make" (possibilmente GNU make).
diff --git a/documentation/README.ja b/documentation/README.ja
index ea584853db1..72e1ce2fe46 100644
--- a/documentation/README.ja
+++ b/documentation/README.ja
@@ -77,7 +77,7 @@ Mac OS X情報:
基本的な要件:
X11開発includeファイルをインストールする必要があります。
- (Debianではxlib6g-devでRed HatではXFree86-develと呼ばれます。[訳注: 最近の
+ (Debianではxorg-devでRed HatではlibX11-develと呼ばれます。[訳注: 最近の
ディストリビューションでは別のパッケージで置き換えられています])
もちろん"make"も必要です(大概はGNU make)。
diff --git a/documentation/README.ko b/documentation/README.ko
index a22cc1ea149..17fcfee318a 100644
--- a/documentation/README.ko
+++ b/documentation/README.ko
@@ -72,8 +72,8 @@ Mac OS X 정보:
기본 요구 사항:
- X11 개발용 헤더 파일이 설치되어 있어야 합니다 (데비안에서는 xlib6g-dev,
- 레드햇에서는 XFree86-devel이란 패키지명으로 되어 있습니다).
+ X11 개발용 헤더 파일이 설치되어 있어야 합니다 (데비안에서는 xorg-dev,
+ 레드햇에서는 libX11-devel이란 패키지명으로 되어 있습니다).
당연히 "make" 프로그램도 필요합니다 (대부분 GNU make 사용).
diff --git a/documentation/README.no b/documentation/README.no
index 14d7ebcd498..a25b47f7fce 100644
--- a/documentation/README.no
+++ b/documentation/README.no
@@ -64,8 +64,8 @@ Støttede filsystemer:
programmer trenger. Det anbefales å bruke et ekte Unix-filsystem.
Basiskrav:
- Inkluderingsfilene for X11 må være installert (kalt «xlib6g-dev» i
- Debian og «XFree86-devel» i RedHat).
+ Inkluderingsfilene for X11 må være installert (kalt «xorg-dev» i
+ Debian og «libX11-devel» i RedHat).
Du må selvfølgelig også ha «make», sannsynligvis «GNU make».
diff --git a/documentation/README.pt b/documentation/README.pt
index 848d2d2eb26..256eb2310c0 100644
--- a/documentation/README.pt
+++ b/documentation/README.pt
@@ -73,7 +73,7 @@ possa escrever.
Requisitos básicos:
Tu precisas de ter instalados os fucheiros de include do X11 development
-(chamados xlib6g-dev em Debian e Xfree86-devel no RedHat).
+(chamados xorg-dev em Debian e libX11-devel no RedHat).
Requisitos para as ferramentas de construção:
Em sistemas x86 o gcc >= 2.7.2 é requerido.
diff --git a/documentation/README.pt_br b/documentation/README.pt_br
index 05a3d037bd5..a8025b55ac0 100644
--- a/documentation/README.pt_br
+++ b/documentation/README.pt_br
@@ -68,7 +68,7 @@ Sistemas de arquivo suportados:
Requisitos básicos:
Você necessita ter instalados os arquivos de inclusão para desenvolvimento
- do X11 (chamados de xlib6g-dev no Debian e XFree86-devel no RedHat).
+ do X11 (chamados de xorg-dev no Debian e libX11-devel no RedHat).
Obviamente você também irá precisar do "make" (comumente o GNU make).
diff --git a/documentation/README.ru b/documentation/README.ru
index f3328edd13a..78ee9a50959 100644
--- a/documentation/README.ru
+++ b/documentation/README.ru
@@ -66,7 +66,7 @@ Mac OS X:
Базовые требования:
У вас должны быть установлены заголовочные файлы X11
- (xlib6g-dev в Debian и XFree86-devel в Red Hat).
+ (xorg-dev в Debian и libX11-devel в Red Hat).
Разумеется, вам необходим «make» (лучше всего использовать GNU make).
diff --git a/documentation/README.sv b/documentation/README.sv
index b68e6997d92..be017d40d7f 100644
--- a/documentation/README.sv
+++ b/documentation/README.sv
@@ -70,8 +70,8 @@ Stödda filsystem:
program. Det rekommenderas att använda ett riktigt Unix-filsystem.
Grundläggande krav:
- Utvecklingsfilerna för X11 måste vara installerade (de kallas xlib6g-dev i
- Debian och XFree86-devel i Red Hat).
+ Utvecklingsfilerna för X11 måste vara installerade (de kallas xorg-dev i
+ Debian och libX11-devel i Red Hat).
Du måste givetvis också ha "make" (mest troligt "GNU make").
diff --git a/documentation/README.tr b/documentation/README.tr
index 28b17b8c377..ae145171269 100644
--- a/documentation/README.tr
+++ b/documentation/README.tr
@@ -69,7 +69,7 @@ Desteklenen dosya sistemleri:
Temel gereksinimler:
X11 geliştirme dosyalarının kurulu olması gereklidir.
- (Debian'da xlib6g-dev, Red Hat'da XFree86-devel adlı paketler).
+ (Debian'da xorg-dev, Red Hat'da libX11-devel adlı paketler).
"make" komutuna kesinlikle ihtiyacınız vardır. (çoğunlukla GNU make)
diff --git a/documentation/README.uk b/documentation/README.uk
index a70e4979f11..8fea73571af 100644
--- a/documentation/README.uk
+++ b/documentation/README.uk
@@ -70,7 +70,7 @@ Mac OS X:
Базові вимоги:
У вас повинні бути встановлені файли заголовків X11
- (Xlib6g-dev в Debian та XFree86-devel в Red Hat).
+ (xorg-dev в Debian та libX11-devel в Red Hat).
Звісно, вам потрібен "make" (краще всього використовувати GNU make).
diff --git a/documentation/README.zh_cn b/documentation/README.zh_cn
index 963b15720b0..934079fdef4 100644
--- a/documentation/README.zh_cn
+++ b/documentation/README.zh_cn
@@ -63,10 +63,8 @@ Mac OS X 信息:
文件系统。
基本要求:
- 您需要安装 X11 开发用头文件(在 Debian 中可能被称为 xlib6g-dev
- ,在 Red Hat 中可能被称为 XFree86-devel [译注:在新版本的 Linux
- 发行版中可能有其它名称,例如使用替代 Xlib 的 XCB library,此时
- Debian 的包名称应为 libxcb1-dev])。
+ 您需要安装 X11 开发用头文件(在 Debian 中可能被称为 xorg-dev
+ ,在 Red Hat 中可能被称为 libX11-devel)。
当然您同样需要“make”工具(一般应当为 GNU make)。
Module: wine
Branch: master
Commit: 5fbd40520d9a1505764b9e7b86f01d663b3aa391
URL: https://source.winehq.org/git/wine.git/?a=commit;h=5fbd40520d9a1505764b9e7b…
Author: Brendan Shanks <bshanks(a)codeweavers.com>
Date: Wed Jan 27 11:16:47 2021 -0800
winemac.drv: Handle non-PCI GPUs correctly.
Signed-off-by: Brendan Shanks <bshanks(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/winemac.drv/cocoa_display.m | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
index 2e50b67c7d1..7cc6f981fee 100644
--- a/dlls/winemac.drv/cocoa_display.m
+++ b/dlls/winemac.drv/cocoa_display.m
@@ -183,7 +183,9 @@ done:
/***********************************************************************
* macdrv_get_gpu_info_from_entry
*
- * Starting from entry, search upwards to find the PCI GPU. And get GPU information from the PCI GPU entry.
+ * Starting from entry (which must be the GPU or a child below the GPU),
+ * search upwards to find the IOPCIDevice and get information from it.
+ * In case the GPU is not a PCI device, get properties from 'entry'.
*
* Returns non-zero value on failure.
*/
@@ -193,18 +195,21 @@ static int macdrv_get_gpu_info_from_entry(struct macdrv_gpu* gpu, io_registry_en
io_registry_entry_t gpu_entry;
kern_return_t result;
int ret = -1;
- char buffer[64];
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
gpu_entry = entry;
- while (![@"IOPCIDevice" isEqualToString:[(NSString*)IOObjectCopyClass(gpu_entry) autorelease]]
- || get_entry_property_string(gpu_entry, CFSTR("IOName"), buffer, sizeof(buffer))
- || strcmp(buffer, "display"))
+ while (![@"IOPCIDevice" isEqualToString:[(NSString*)IOObjectCopyClass(gpu_entry) autorelease]])
{
result = IORegistryEntryGetParentEntry(gpu_entry, kIOServicePlane, &parent_entry);
if (gpu_entry != entry)
IOObjectRelease(gpu_entry);
- if (result != kIOReturnSuccess)
+ if (result == kIOReturnNoDevice)
+ {
+ /* If no IOPCIDevice node is found, get properties from the given entry. */
+ gpu_entry = entry;
+ break;
+ }
+ else if (result != kIOReturnSuccess)
{
[pool release];
return ret;
@@ -404,6 +409,7 @@ static int macdrv_get_gpus_from_iokit(struct macdrv_gpu** new_gpus, int* count)
int integrated_index = -1;
int primary_index = 0;
int gpu_count = 0;
+ char buffer[64];
int ret = -1;
int i;
@@ -417,7 +423,9 @@ static int macdrv_get_gpus_from_iokit(struct macdrv_gpu** new_gpus, int* count)
while ((entry = IOIteratorNext(iterator)))
{
- if (!macdrv_get_gpu_info_from_entry(&gpus[gpu_count], entry))
+ if (!get_entry_property_string(entry, CFSTR("IOName"), buffer, sizeof(buffer)) &&
+ !strcmp(buffer, "display") &&
+ !macdrv_get_gpu_info_from_entry(&gpus[gpu_count], entry))
{
gpu_count++;
assert(gpu_count < MAX_GPUS);