HLSL: Implement bit casts between Half and UShort.
This commit is contained in:
parent
50b4d5389b
commit
d8c5e39436
@ -3598,6 +3598,18 @@ string CompilerHLSL::bitcast_glsl_op(const SPIRType &out_type, const SPIRType &i
|
|||||||
}
|
}
|
||||||
return "spvPackFloat2x16";
|
return "spvPackFloat2x16";
|
||||||
}
|
}
|
||||||
|
else if (out_type.basetype == SPIRType::UShort && in_type.basetype == SPIRType::Half)
|
||||||
|
{
|
||||||
|
if (hlsl_options.shader_model < 40)
|
||||||
|
SPIRV_CROSS_THROW("Half to UShort requires Shader Model 4.");
|
||||||
|
return "(" + type_to_glsl(out_type) + ")f32tof16";
|
||||||
|
}
|
||||||
|
else if (out_type.basetype == SPIRType::Half && in_type.basetype == SPIRType::UShort)
|
||||||
|
{
|
||||||
|
if (hlsl_options.shader_model < 40)
|
||||||
|
SPIRV_CROSS_THROW("UShort to Half requires Shader Model 4.");
|
||||||
|
return "(" + type_to_glsl(out_type) + ")f16tof32";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user