2024-10-17 23:21:18 +02:00
|
|
|
[require]
|
|
|
|
shader model >= 4.0
|
|
|
|
|
2024-11-05 21:44:36 +01:00
|
|
|
[rtv 0]
|
|
|
|
format r32g32b32a32-uint
|
|
|
|
size (2d, 640, 480)
|
|
|
|
|
2024-10-17 23:21:18 +02:00
|
|
|
[pixel shader]
|
|
|
|
uniform float a;
|
|
|
|
|
|
|
|
uint4 main() : sv_target
|
|
|
|
{
|
|
|
|
return f32tof16(a);
|
|
|
|
}
|
|
|
|
|
|
|
|
[test]
|
|
|
|
uniform 0 float 42.0
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x5140, 0x5140, 0x5140, 0x5140)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% zero
|
|
|
|
uniform 0 float 0.0
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x0, 0x0, 0x0, 0x0)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% negative zero
|
|
|
|
uniform 0 uint 0x8000
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2024-10-17 23:21:18 +02:00
|
|
|
probe (0, 0) rgba(-0.0, -0.0, -0.0, -0.0)
|
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 5.9604645e-08
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x1, 0x1, 0x1, 0x1)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 1.1920929e-07
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x2, 0x2, 0x2, 0x2)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 2.3841858e-07
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x4, 0x4, 0x4, 0x4)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 4.7683716e-07
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x8, 0x8, 0x8, 0x8)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 9.536743e-07
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x10, 0x10, 0x10, 0x10)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 1.9073486e-06
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x20, 0x20, 0x20, 0x20)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 3.8146973e-06
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x40, 0x40, 0x40, 0x40)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 7.6293945e-06
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x80, 0x80, 0x80, 0x80)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 1.5258789e-05
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x100, 0x100, 0x100, 0x100)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% subnormal number
|
|
|
|
uniform 0 float 3.0517578e-05
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x200, 0x200, 0x200, 0x200)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% I'd love to use rgba probes here but msvc doesn't scanf infinity :(
|
|
|
|
|
|
|
|
% positive infinity
|
|
|
|
uniform 0 uint 0x7f800000
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0x7c00, 0x7c00, 0x7c00, 0x7c00)
|
2024-10-17 23:21:18 +02:00
|
|
|
|
|
|
|
% negative infinity
|
|
|
|
uniform 0 uint 0xff800000
|
2025-07-14 22:22:04 +02:00
|
|
|
todo(msl & sm>=6) draw quad
|
2025-06-06 00:25:11 +02:00
|
|
|
probe (0, 0) u32(0xfc00, 0xfc00, 0xfc00, 0xfc00)
|