This line states that NAME_PRIMITIVE_ID is not supported on Metal - but according to the language spec (page 92… why is this a PDF, Apple 😠) it's supported since Metal 2.2 on macOS and 2.3 on iOS - i.e. macOS 10.15 and iOS 14.0.
There's a few other places in the Metal translation with comments saying that primitive ID is not supported on Metal, which presumably would also have to be fixed.
According to the feature set tables this requires MTLGPUFamilyApple7, MTLGPUFamilyMac2 or MTLGPUFamilyMacCatalyst2 (I think). iPhone 12 and above and… no idea which Macs count for that. Not totally sure how that maps on to the targeting system in HLSLcc? Assuming there is some way of doing this..?
HLSLcc/src/toMetalDeclaration.cpp
Line 262 in 3ea1fcd
This line states that
NAME_PRIMITIVE_IDis not supported on Metal - but according to the language spec (page 92… why is this a PDF, Apple 😠) it's supported since Metal 2.2 on macOS and 2.3 on iOS - i.e. macOS 10.15 and iOS 14.0.There's a few other places in the Metal translation with comments saying that primitive ID is not supported on Metal, which presumably would also have to be fixed.
According to the feature set tables this requires
MTLGPUFamilyApple7,MTLGPUFamilyMac2orMTLGPUFamilyMacCatalyst2(I think). iPhone 12 and above and… no idea which Macs count for that. Not totally sure how that maps on to the targeting system in HLSLcc? Assuming there is some way of doing this..?