Fixed point textures are by definition 0-1 clamped. That’s where the range of values they can represent falls over. For 16-bit, 65536 different values in equal steps between 0-1.
Hey Barak,
If I’m understanding the question correctly, you are doing those operations in a shader and then looking to get the results back on the CPU, correct?
If so, then yes, that’s the correct way. Shaders work in normalized coordinates for fixed point (since that is what fixed point is), so if you want to write to a 16-bit fixed value in shader, then you need to output a value between 0-1. This will be written to the 16-bit data as 0 == 0 and 1 == 65535.