The only thing that needs to happen really is that they are recognized and promoted to float. Per https://msdn.microsoft.com/en-us/library/windows/desktop/bb509646(v=vs.85).aspx "This data type is provided only for language compatibility. Direct3D 10 shader targets map all half data types to float data types." However many shaders use half because they are also compiled on other platforms.