You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Followup change to the vulkan nan fix.
hlslcc was not generating conditional moves for swizzles, causing the proposed fix to generate a lot of code. this is fixed with this change
#jira UE-71386
#rb rolando.caloca
Code Before:
{
bvec4 v138 = bvec4(false,false,false,false);
v138.xyzw = lessThan(floatBitsToUint(v137),uvec4(2139095040u,2139095040u,2139095040u,2139095040u));
vec4 v139 = vec4(0.000000,0.000000,0.000000,0.000000);
if (not(v138).x)
{
v139.x = 0.000000;
}
else
{
v139.x = v137.x;
}
if (not(v138).y)
{
v139.y = 0.000000;
}
else
{
v139.y = v137.y;
}
if (not(v138).z)
{
v139.z = 0.000000;
}
else
{
v139.z = v137.z;
}
if (not(v138).w)
{
v139.w = 0.000000;
}
else
{
v139.w = v137.w;
}
imageStore( RWLightScattering, ivec3(gl_GlobalInvocationID), v139.xyzw);
}
Code After
{
bvec4 v138 = bvec4(false,false,false,false);
v138.xyzw = lessThan(floatBitsToUint(v137),uvec4(2139095040u,2139095040u,2139095040u,2139095040u));
vec4 v139 = vec4(0.000000,0.000000,0.000000,0.000000);
v139.x = (not(v138).x)?(0.000000):(v137.x);
v139.y = (not(v138).y)?(0.000000):(v137.y);
v139.z = (not(v138).z)?(0.000000):(v137.z);
v139.w = (not(v138).w)?(0.000000):(v137.w);
imageStore( RWLightScattering, ivec3(gl_GlobalInvocationID), v139.xyzw);
}
#ROBOMERGE-OWNER: jonas.meyer
#ROBOMERGE-AUTHOR: jonas.meyer
#ROBOMERGE-SOURCE: CL 5382705 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5383313 by jonas meyer in Main branch]