This seems rather hard, but dawn has already figured out a pretty solid way to do it:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/dawn/src/dawn/gpu_info.json;bpv=0;bpt=0
We can take this and generate rust code from it, minding that we'd need to roll something for metal based on GPU families. This is something we "need" for WebGPU's GPUAdapterInfo.architecture anyway. This will help our testing infrastructure differentiate between architectures. For example Xe and Xe-LPG have different failure sets.
This seems rather hard, but dawn has already figured out a pretty solid way to do it:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/dawn/src/dawn/gpu_info.json;bpv=0;bpt=0
We can take this and generate rust code from it, minding that we'd need to roll something for metal based on GPU families. This is something we "need" for WebGPU's
GPUAdapterInfo.architectureanyway. This will help our testing infrastructure differentiate between architectures. For example Xe and Xe-LPG have different failure sets.