GRHIVendorId is 0 in OS X with Intel Iris 6100

I have the same report from a couple of playtesters who appear to be on 2015 Macbook Pros:

  1. They download and run a development build of the game

  2. The game quits, dumping the following into the log:

    LogOnline:warning: No default platform service specified for OnlineSubsystem
    Assertion failed: GRHIVendorId != 0 [File:/Users/nicholashughes/code/piinecone/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHI.cpp] [Line: 359]

    LogMac:Error: appError called: Assertion failed: Assertion failed: GRHIVendorId != 0
    [File:/Users/nicholashughes/code/piinecone/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHI.cpp] [Line: 359]

Line 359 in RHI.cpp is the check(GRHIVendorId != 0) in the IsRHIDeviceNVIDIA() function, which is what made me think these Macbooks are just not returning anything useful in the PlatformContext->VendorId property.

These Macbooks are using an integrated Intel GPU, the Iris 6100. Is it possible this GPU just isn’t supported? I’m surprised it would report 0 as its VendorId. It is surprising to me that I can run the same build on a 2011 with integrated graphics but not on a 2015 with integrated graphics. I feel like I’m missing a setting or library in either Yosemite or the engine packaging configuration.

This should have been fixed in the last update to 4.7 & definitely is fixed in 4.8.