Closed aitor-lunarg closed 6 months ago
The original portability subset extension had the pointPolygons
flag (https://github.com/KhronosGroup/MoltenVK/issues/1396). It was recently renamed to rasterizationDynamicPolygonModePoints
assuming that emulation is feasible (see discussions in https://github.com/KhronosGroup/MoltenVK/pull/2100).
Thank you for pointing it out! I was not aware of that flag, I'll close the issue
Failing CTS tests:
The test renders a triangle list with points as polygon fill mode. However, Metal does not support fill mode to be points (https://developer.apple.com/documentation/metal/mtltrianglefillmode), so MoltenVK decides to change the input primitive topology type to point instead of triangle list. This seems like a reasonable approach. However, Metal does not support depth bias unless the topology type is triangles (https://developer.apple.com/documentation/metal/mtlrendercommandencoder/1516269-setdepthbias check note). Due to this combination the test fails.
Proposed solutions:
VkPhysicalDeviceFeatures::fillModeNonSolid
we would also lose line fill mode when Metal does support this.VK_KHR_portability_subset_metal
to let the user know that point fill mode is not allowed.VK_KHR_portability_subset_metal
to let the user know that depth bias is not supported when polygon fill mode is point.Let me know your thoughts or if I missed anything.