Files
UnrealEngineUWP/Engine/Config/Windows
giacomo serafini 4ed9852e51 NNE - Settle hardware capability support for NNERuntimeHlsl
Problems:
* Hardware capability support is not enforced explicitly

Solutions:
* Put platform support checks in shader base's `ShouldCompilePermutation()` to skip compiling NNE shaders when target platform doesn't support them.
* Put current system support checks in `CanCreateModelRDG()`, disallowing model creation on unsupported systems
* Introduce WITH_NNE_RUNTIME_HLSL define enabling registration of the runtime only for supported systems (non-editor builds).

Tests:
* Win64 Editor PCD3D_SM6: manually checked that Hlsl OPs are getting executed
* Win64 Editor PCD3D_SM5: manually checked that shaders don't get compiled and that model creation fails with unsupported messages.
* Win64 Editor VULKAN_SM5: manually checked that shaders don't get compiled and that model creation fails with unsupported messages.
* Win64 Editor VULKAN_SM6: manually checked that shaders don't get compiled and that model creation fails with unsupported messages.
* Win64 Standalone PCD3D_SM6: manually checked that Hlsl OPs are getting executed
* Win64 Standalone PCD3D_SM5: manually checked that shaders don't get compiled, that Hlsl runtime doesn't get registered and that proper messages are emitted
* Win64 Standalone VULKAN_SM5: manually checked that shaders don't get compiled, that Hlsl runtime doesn't get registered and that proper messages are emitted
* Win64 Standalone VULKAN_SM6:manually checked that shaders don't get compiled, that Hlsl runtime doesn't get registered and that proper messages are emitted
* Supported Consoles: manually checked that Hlsl OPs are getting executed
* Mac Editor METAL_SM5: manually checked that shaders don't get compiled and that model creation fails with unsupported messages.
* Mac Editor METAL_SM6: manually checked that shaders are getting compiled (although compilation fails for an unrelated reason)
* Linux Editor VULKAN_SM5: manually checked that shaders don't get compiled and that model creation fails with unsupported messages.
* Linux Editor VULKAN_SM6: manually checked that shaders don't get compiled and that model creation fails with unsupported messages.
* Linux Standalone VULKAN_SM6:manually checked that shaders don't get compiled, that Hlsl runtime doesn't get registered and that proper messages are emitted

#rnx
#jira UE-218576
#rb florent.guinier

[CL 35491250 by giacomo serafini in ue5-main branch]
2024-08-13 08:38:20 -04:00
..