Fragment shader - Texture and return value type

I have a fragment shader that samples a texture (a kCVPixelFormatType_32RGBA Core Video image buffer) and returns the result of the sampling... And from my limited understanding, I can set the texture pixel format to MTLPixelFormatRGBA8Unorm or MTLPixelFormatRGBA8Uint, right?


If I set it to Unorm, should I set my the type of the texture as half or float in my fragment input parameters?

And for Uint, could it be ushort and/or uint?


Finally, what is the prefered type for the return value of the fragment shader?


Many thanks!!!!