mirror of https://github.com/bkaradzic/bgfx
Updated spirv-cross.
This commit is contained in:
parent
e844bbdb03
commit
f9ff901e82
|
@ -9164,14 +9164,19 @@ void CompilerMSL::emit_glsl_op(uint32_t result_type, uint32_t id, uint32_t eop,
|
|||
break;
|
||||
|
||||
case GLSLstd450Normalize:
|
||||
{
|
||||
auto &exp_type = expression_type(args[0]);
|
||||
// MSL does not support scalar versions here.
|
||||
// MSL has no implementation for normalize in the fast:: namespace for half2 and half3
|
||||
// Returns -1 or 1 for valid input, sign() does the job.
|
||||
if (expression_type(args[0]).vecsize == 1)
|
||||
if (exp_type.vecsize == 1)
|
||||
emit_unary_func_op(result_type, id, args[0], "sign");
|
||||
else if (exp_type.vecsize <= 3 && exp_type.basetype == SPIRType::Half)
|
||||
emit_unary_func_op(result_type, id, args[0], "normalize");
|
||||
else
|
||||
emit_unary_func_op(result_type, id, args[0], "fast::normalize");
|
||||
break;
|
||||
|
||||
}
|
||||
case GLSLstd450Reflect:
|
||||
if (get<SPIRType>(result_type).vecsize == 1)
|
||||
emit_binary_func_op(result_type, id, args[0], args[1], "spvReflect");
|
||||
|
|
Loading…
Reference in New Issue