You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When testing the fragment_shader_barycentric sample from the official Khronos Vulkan Sample repository (https://github.com/KhronosGroup/Vulkan-Samples), I receive the following errors:
[mvk-error] SPIR-V to MSL conversion error: Cannot declare both BaryCoordNV and BaryCoordNoPerspNV in same shader in MSL.
[mvk-error] SPIR-V to MSL conversion error: PerVertexKHR decoration is not supported in MSL.
My device reports fragmentShaderBarycentric = true, and while it allows the sample to startup it eventually fails on the above MSL conversion errors. The spec says the following:
fragmentShaderBarycentric indicates that the implementation supports the BaryCoordKHR and BaryCoordNoPerspKHR SPIR-V fragment shader built-ins and supports the PerVertexKHR SPIR-V decoration on fragment shader input variables.
So my question is why does MoltenVK report fragmentShaderBarycentric = true, when the implementation is incomplete and violates the spec? Perhaps this should instead return false, and let the developer choose to proceed only based on known limitations of this feature on MoltenVK. Or have you taken the opposite approach, i.e. return true but expect the developer to investigate the known limitations on MoltenVK and write code to support only the working cases?
The text was updated successfully, but these errors were encountered:
When testing the fragment_shader_barycentric sample from the official Khronos Vulkan Sample repository (https://github.com/KhronosGroup/Vulkan-Samples), I receive the following errors:
[mvk-error] SPIR-V to MSL conversion error: Cannot declare both BaryCoordNV and BaryCoordNoPerspNV in same shader in MSL.
[mvk-error] SPIR-V to MSL conversion error: PerVertexKHR decoration is not supported in MSL.
My device reports
fragmentShaderBarycentric = true
, and while it allows the sample to startup it eventually fails on the above MSL conversion errors. The spec says the following:fragmentShaderBarycentric indicates that the implementation supports the
BaryCoordKHR
andBaryCoordNoPerspKHR
SPIR-V fragment shader built-ins and supports thePerVertexKHR
SPIR-V decoration on fragment shader input variables.So my question is why does MoltenVK report
fragmentShaderBarycentric = true
, when the implementation is incomplete and violates the spec? Perhaps this should instead return false, and let the developer choose to proceed only based on known limitations of this feature on MoltenVK. Or have you taken the opposite approach, i.e. return true but expect the developer to investigate the known limitations on MoltenVK and write code to support only the working cases?The text was updated successfully, but these errors were encountered: