This replicates what seems to be happening when using sign() with shader model 3, which is roughly...
``` int pos = (int) (x > 0); int neg = -((int) (x < 0)); int result = pos + neg; ```
Fixes https://bugs.winehq.org/show_bug.cgi?id=54826
-- v10: tests: Add tests for sign() intrinsic. vkd3d-shader/hlsl: Add support for sign() intrinsic.