On Sat Mar 4 08:05:55 2023 +0000, Nikolay Sivov wrote:
Yes, this does not have to be that confusing. If we are going to compile in advance to check for compilation errors, it does not matter what runner supports. So maybe we should run compilation first, report compilation errors, and then run d3d9/d3d11/d3d12/vulkan tests passes. This way check_requirements() could be adjusted to reflect actual support - 5.0 in d3d11 for example. For compilation pass we don't need to check requirements at all.
Another approach could be adding optional explicit profile to header like [effect fx_2_0]. Requirement setting with [require] could then be used only for draw tests. There is one more thing to consider, right now if check_requirements() fails the rest of the test source is ignored, that's not ideal and we could read until next [require] to re-check.