GPU ray tracing requirements for HelloPhotogrammetry command line app

Hi,

I am trying to build and run the HelloPhotogrammetry app that is associated with WWDC21 session 10076 (available for download here).

But when I run the app, I get the following error message:

A GPU with supportsRaytracing is required

I have a Mac Pro (2019) with an AMD Radeon Pro 580X 8 GB graphics card and 96 GB RAM. According to the requirements slide in the WWDC session, this should be sufficient. Is this a configuration issue or do I actually need a different graphics card (and if so, which one?).

Thanks in advance.

I have the same issue with an iMac 2017. Displays this when I try to start the app :

21-09-23 13:57:51.044611+0200 HelloPhotogrammetry[4417:119061] [HelloPhotogrammetry] Using configuration: Configuration(isObjectMaskingEnabled: true, sampleOrdering: RealityFoundation.PhotogrammetrySession.Configuration.SampleOrdering.sequential, featureSensitivity: RealityFoundation.PhotogrammetrySession.Configuration.FeatureSensitivity.normal)

2021-09-23 13:57:51.069307+0200 HelloPhotogrammetry[4417:119061] Metal API Validation Enabled

2021-09-23 13:57:51.087497+0200 HelloPhotogrammetry[4417:119061] [HelloPhotogrammetry] Error creating session: cantCreateSession("A GPU with supportsRaytracing is required.")

Program ended with exit code: 1

Did you have any luck sorting this out? I have looked all over, and everything says that an RX580 should be enough, but I get the same error.

@moonlightmac, can you see what this API returns if you use your AMD GPU as the MTLDevice? I also found a bug report that this might be caused if you have Shader/API validation enabled for your project. You can disable those in the app's scheme.

Sadly, I am just proficient enough to get the project to compile and run within X-code. So, short of tossing in a printf, I am outside my league. I did check the scheme, and Shader/API validation was turned off. Just for grins, turned off Metal validation as well.

As the RX580 is the only GPU in the system, and it is recognized as metal capable, I'm not sure what else would be causing the "A GPU with supportsRaytracing is required" besides the API indicating it. This is for both Photo Catch and HelloPhotogrammetry.

I do have one other machine that I can try Monterey on, but it is right on the edge of what is considered compatible... a 2018 MBP with 4GB RX560X

It's pretty easy to use the API, the following lines should get you what you need let device = MTLCreateSystemDefaultDevice()! print(device.name, device.supportsRaytracing). You may need to import Metal into your project though. But yes, it might be good try your other graphics card. But I would run the code above just to confirm that the AMD GPU is being chosen and not an integrated Intel GPU.

Well, that's my first swift program.

Result: AMD Radeon RX 580 false

Full disclosure time. This is a Mac Pro 5,1 teased into running Monterey 12.0.1 with a popular tool. Is it possible that suppportsRayTracing has some dependency on also having an iGPU or T2 as well as a discrete AMD on intel platforms?

It shouldn't depend on having an iGPU. But it's possible that the RX580 doesn't support ray tracing, or that this is an issue with running Monterey on unsupported hardware.

It does work on a 2018 Macbook pro, so I am set for now. Odd that the MBP has a RX560X with half the vram, and it is supported.

Hi, I have the following:

[HelloPhotogrammetry] Error creating session: cantCreateSession("A GPU that is not in low power mode is required. https://developer.apple.com/documentation/metal/mtldevice/1433409-lowpower")

I run a MBP 2018 13" with 16GB RAM. I there a way to switch to high power mode with this kind of MBP ? Thanks. The CPU is Intel Core i7 and the Graphics says: Intel Iris Plus Graphics 655 1536 MB

I have the same issue on iMac (Retina 5k, 27-inch, 2017). Video is Radeon Pro 570 which supports shader-based ray-tracing but does not support DirectX DXR or Nvidia's RTX branded ray-tracing technique. The card passes Metal API validation but fails at the Raytracing issue.

2021-11-03 13:23:21.490807+1030 HelloPhotogrammetry[34739:1125528] [HelloPhotogrammetry] Using configuration: Configuration(isObjectMaskingEnabled: true, sampleOrdering: RealityFoundation.PhotogrammetrySession.Configuration.SampleOrdering.unordered, featureSensitivity: RealityFoundation.PhotogrammetrySession.Configuration.FeatureSensitivity.normal)

2021-11-03 13:23:21.545091+1030 HelloPhotogrammetry[34739:1125528] Metal API Validation Enabled

2021-11-03 13:23:21.730644+1030 HelloPhotogrammetry[34739:1125528] [HelloPhotogrammetry] Error creating session: cantCreateSession("A GPU with supportsRaytracing is required.")

Program ended with exit code: 1

Got the same issue on Mac Pro 2019 with AMD Radeon Pro 580X

GPU ray tracing requirements for HelloPhotogrammetry command line app
 
 
Q