Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'reference/opt/shaders-ue4/asm/frag/global-constant-arrays.asm.frag')
-rw-r--r--reference/opt/shaders-ue4/asm/frag/global-constant-arrays.asm.frag119
1 files changed, 45 insertions, 74 deletions
diff --git a/reference/opt/shaders-ue4/asm/frag/global-constant-arrays.asm.frag b/reference/opt/shaders-ue4/asm/frag/global-constant-arrays.asm.frag
index 04b9018b..23f2856b 100644
--- a/reference/opt/shaders-ue4/asm/frag/global-constant-arrays.asm.frag
+++ b/reference/opt/shaders-ue4/asm/frag/global-constant-arrays.asm.frag
@@ -100,8 +100,6 @@ constant spvUnsafeArray<float, 10> _480 = spvUnsafeArray<float, 10>({ 0.80891323
constant spvUnsafeArray<float, 10> _482 = spvUnsafeArray<float, 10>({ -2.3010299205780029296875, -2.3010299205780029296875, -1.9312000274658203125, -1.5204999446868896484375, -1.0578000545501708984375, -0.4668000042438507080078125, 0.11937999725341796875, 0.7088134288787841796875, 1.2911865711212158203125, 1.2911865711212158203125 });
constant spvUnsafeArray<float, 10> _483 = spvUnsafeArray<float, 10>({ 0.801995217800140380859375, 1.19800484180450439453125, 1.5943000316619873046875, 1.99730002880096435546875, 2.3782999515533447265625, 2.7683999538421630859375, 3.0515000820159912109375, 3.2746293544769287109375, 3.32743072509765625, 3.32743072509765625 });
-constant float3 _391 = {};
-
struct main0_out
{
float4 out_var_SV_Target0 [[color(0)]];
@@ -172,26 +170,18 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
float _602 = _Globals.WhiteTemp * 1.00055634975433349609375;
float _616 = (_602 <= 7000.0) ? (0.24406300485134124755859375 + ((99.1100006103515625 + ((2967800.0 - (4604438528.0 / _Globals.WhiteTemp)) / _602)) / _602)) : (0.23703999817371368408203125 + ((247.4799957275390625 + ((1901800.0 - (2005284352.0 / _Globals.WhiteTemp)) / _602)) / _602));
- float _633 = ((0.860117733478546142578125 + (0.00015411825734190642833709716796875 * _Globals.WhiteTemp)) + ((1.2864121856637211749330163002014e-07 * _Globals.WhiteTemp) * _Globals.WhiteTemp)) / ((1.0 + (0.0008424202096648514270782470703125 * _Globals.WhiteTemp)) + ((7.0814513719597016461193561553955e-07 * _Globals.WhiteTemp) * _Globals.WhiteTemp));
- float _644 = ((0.317398726940155029296875 + (4.25 * _Globals.WhiteTemp)) + ((4.2048167614439080352894961833954e-08 * _Globals.WhiteTemp) * _Globals.WhiteTemp)) / ((1.0 - (2.8974181986995972692966461181641e-05 * _Globals.WhiteTemp)) + ((1.6145605741257895715534687042236e-07 * _Globals.WhiteTemp) * _Globals.WhiteTemp));
+ float _633 = fma(1.2864121856637211749330163002014e-07 * _Globals.WhiteTemp, _Globals.WhiteTemp, fma(0.00015411825734190642833709716796875, _Globals.WhiteTemp, 0.860117733478546142578125)) / fma(7.0814513719597016461193561553955e-07 * _Globals.WhiteTemp, _Globals.WhiteTemp, fma(0.0008424202096648514270782470703125, _Globals.WhiteTemp, 1.0));
+ float _644 = fma(4.2048167614439080352894961833954e-08 * _Globals.WhiteTemp, _Globals.WhiteTemp, fma(4.25, _Globals.WhiteTemp, 0.317398726940155029296875)) / fma(1.6145605741257895715534687042236e-07 * _Globals.WhiteTemp, _Globals.WhiteTemp, 1.0 - (2.8974181986995972692966461181641e-05 * _Globals.WhiteTemp));
float _649 = ((2.0 * _633) - (8.0 * _644)) + 4.0;
float2 _653 = float2((3.0 * _633) / _649, (2.0 * _644) / _649);
float2 _660 = fast::normalize(float2(_633, _644));
- float _665 = _633 + (((-_660.y) * _Globals.WhiteTint) * 0.0500000007450580596923828125);
- float _669 = _644 + ((_660.x * _Globals.WhiteTint) * 0.0500000007450580596923828125);
+ float _665 = fma((-_660.y) * _Globals.WhiteTint, 0.0500000007450580596923828125, _633);
+ float _669 = fma(_660.x * _Globals.WhiteTint, 0.0500000007450580596923828125, _644);
float _674 = ((2.0 * _665) - (8.0 * _669)) + 4.0;
- float2 _680 = select(float2(_616, (_616 * (((-3.0) * _616) + 2.86999988555908203125)) - 0.2750000059604644775390625), _653, bool2(_Globals.WhiteTemp < 4000.0)) + (float2((3.0 * _665) / _674, (2.0 * _669) / _674) - _653);
+ float2 _680 = select(float2(_616, (_616 * fma(-3.0, _616, 2.86999988555908203125)) - 0.2750000059604644775390625), _653, bool2(_Globals.WhiteTemp < 4000.0)) + (float2((3.0 * _665) / _674, (2.0 * _669) / _674) - _653);
float _683 = fast::max(_680.y, 1.0000000133514319600180897396058e-10);
- float3 _685;
- _685.x = _680.x / _683;
- _685.y = 1.0;
- _685.z = ((1.0 - _680.x) - _680.y) / _683;
- float3 _693;
- _693.x = 0.950455963611602783203125;
- _693.y = 1.0;
- _693.z = 1.0890576839447021484375;
- float3 _697 = _685 * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
- float3 _698 = _693 * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
+ float3 _697 = float3(_680.x / _683, 1.0, ((1.0 - _680.x) - _680.y) / _683) * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
+ float3 _698 = float3(0.950455963611602783203125, 1.0, 1.0890576839447021484375) * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
float3 _717 = (_599 * ((float3x3(float3(0.41245639324188232421875, 0.3575761020183563232421875, 0.180437505245208740234375), float3(0.21267290413379669189453125, 0.715152204036712646484375, 0.072175003588199615478515625), float3(0.01933390088379383087158203125, 0.119191996753215789794921875, 0.950304090976715087890625)) * ((float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875)) * float3x3(float3(_698.x / _697.x, 0.0, 0.0), float3(0.0, _698.y / _697.y, 0.0), float3(0.0, 0.0, _698.z / _697.z))) * float3x3(float3(0.986992895603179931640625, -0.14705429971218109130859375, 0.15996269881725311279296875), float3(0.4323053061962127685546875, 0.518360316753387451171875, 0.049291200935840606689453125), float3(-0.00852870009839534759521484375, 0.0400427989661693572998046875, 0.968486726284027099609375)))) * float3x3(float3(3.2409698963165283203125, -1.53738319873809814453125, -0.4986107647418975830078125), float3(-0.96924364566802978515625, 1.875967502593994140625, 0.0415550582110881805419921875), float3(0.055630080401897430419921875, -0.2039769589900970458984375, 1.05697154998779296875)))) * _547;
float3 _745;
if (_Globals.ColorShadow_Tint2.w != 0.0)
@@ -223,7 +213,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float4 _861 = _Globals.ColorGammaMidtones * _Globals.ColorGamma;
float4 _864 = _Globals.ColorGainMidtones * _Globals.ColorGain;
float4 _867 = _Globals.ColorOffsetMidtones + _Globals.ColorOffset;
- float3 _905 = ((((pow(pow(fast::max(float3(0.0), mix(_772, _745, _751.xyz * float3(_751.w))) * float3(5.5555553436279296875), _756.xyz * float3(_756.w)) * float3(0.180000007152557373046875), float3(1.0) / (_761.xyz * float3(_761.w))) * (_766.xyz * float3(_766.w))) + (_771.xyz + float3(_771.w))) * float3(1.0 - _804)) + (((pow(pow(fast::max(float3(0.0), mix(_772, _745, _855.xyz * float3(_855.w))) * float3(5.5555553436279296875), _858.xyz * float3(_858.w)) * float3(0.180000007152557373046875), float3(1.0) / (_861.xyz * float3(_861.w))) * (_864.xyz * float3(_864.w))) + (_867.xyz + float3(_867.w))) * float3(_804 - _852))) + (((pow(pow(fast::max(float3(0.0), mix(_772, _745, _808.xyz * float3(_808.w))) * float3(5.5555553436279296875), _811.xyz * float3(_811.w)) * float3(0.180000007152557373046875), float3(1.0) / (_814.xyz * float3(_814.w))) * (_817.xyz * float3(_817.w))) + (_820.xyz + float3(_820.w))) * float3(_852));
+ float3 _905 = fma(fma(pow(pow(fast::max(float3(0.0), mix(_772, _745, _808.xyz * float3(_808.w))) * float3(5.5555553436279296875), _811.xyz * float3(_811.w)) * float3(0.180000007152557373046875), float3(1.0) / (_814.xyz * float3(_814.w))), _817.xyz * float3(_817.w), _820.xyz + float3(_820.w)), float3(_852), fma(fma(pow(pow(fast::max(float3(0.0), mix(_772, _745, _751.xyz * float3(_751.w))) * float3(5.5555553436279296875), _756.xyz * float3(_756.w)) * float3(0.180000007152557373046875), float3(1.0) / (_761.xyz * float3(_761.w))), _766.xyz * float3(_766.w), _771.xyz + float3(_771.w)), float3(1.0 - _804), fma(pow(pow(fast::max(float3(0.0), mix(_772, _745, _855.xyz * float3(_855.w))) * float3(5.5555553436279296875), _858.xyz * float3(_858.w)) * float3(0.180000007152557373046875), float3(1.0) / (_861.xyz * float3(_861.w))), _864.xyz * float3(_864.w), _867.xyz + float3(_867.w)) * float3(_804 - _852)));
float3 _906 = _905 * _549;
float3 _914 = float3(_Globals.BlueCorrection);
float3 _916 = mix(_905, _905 * ((_551 * float3x3(float3(0.940437257289886474609375, -0.01830687932670116424560546875, 0.07786960899829864501953125), float3(0.008378696627914905548095703125, 0.82866001129150390625, 0.162961304187774658203125), float3(0.0005471261101774871349334716796875, -0.00088337459601461887359619140625, 1.00033628940582275390625))) * _550), _914) * _551;
@@ -232,11 +222,11 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float _920 = _916.z;
float _923 = fast::max(fast::max(_917, _918), _920);
float _928 = (fast::max(_923, 1.0000000133514319600180897396058e-10) - fast::max(fast::min(fast::min(_917, _918), _920), 1.0000000133514319600180897396058e-10)) / fast::max(_923, 0.00999999977648258209228515625);
- float _941 = ((_920 + _918) + _917) + (1.75 * sqrt(((_920 * (_920 - _918)) + (_918 * (_918 - _917))) + (_917 * (_917 - _920))));
+ float _941 = fma(1.75, sqrt(fma(_917, _917 - _920, fma(_920, _920 - _918, _918 * (_918 - _917)))), (_920 + _918) + _917);
float _942 = _941 * 0.3333333432674407958984375;
float _943 = _928 - 0.4000000059604644775390625;
float _948 = fast::max(1.0 - abs(_943 * 2.5), 0.0);
- float _956 = (1.0 + (float(int(sign(_943 * 5.0))) * (1.0 - (_948 * _948)))) * 0.02500000037252902984619140625;
+ float _956 = fma(float(int(sign(_943 * 5.0))), 1.0 - (_948 * _948), 1.0) * 0.02500000037252902984619140625;
float _969;
if (_942 <= 0.053333334624767303466796875)
{
@@ -288,7 +278,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
_1001 = _996;
}
float _1005 = smoothstep(0.0, 1.0, 1.0 - abs(_1001 * 0.01481481455266475677490234375));
- _972.x = _973 + ((((_1005 * _1005) * _928) * (0.02999999932944774627685546875 - _973)) * 0.180000007152557373046875);
+ _972.x = fma(((_1005 * _1005) * _928) * (0.02999999932944774627685546875 - _973), 0.180000007152557373046875, _973);
float3 _1014 = fast::max(float3(0.0), _972 * float3x3(float3(1.45143926143646240234375, -0.236510753631591796875, -0.214928567409515380859375), float3(-0.07655377686023712158203125, 1.1762297153472900390625, -0.0996759235858917236328125), float3(0.0083161480724811553955078125, -0.0060324496589601039886474609375, 0.99771630764007568359375)));
float _1023 = (1.0 + _Globals.FilmBlackClip) - _Globals.FilmToe;
float _1026 = 1.0 + _Globals.FilmWhiteClip;
@@ -305,8 +295,9 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
float _1061 = ((1.0 - _Globals.FilmToe) / _Globals.FilmSlope) - _1056;
float _1063 = (_Globals.FilmShoulder / _Globals.FilmSlope) - _1061;
- float3 _1067 = log(mix(float3(dot(_1014, float3(0.272228717803955078125, 0.674081742763519287109375, 0.053689517080783843994140625))), _1014, float3(0.959999978542327880859375))) * float3(0.4342944622039794921875);
- float3 _1071 = float3(_Globals.FilmSlope) * (_1067 + float3(_1061));
+ float3 _1064 = log(mix(float3(dot(_1014, float3(0.272228717803955078125, 0.674081742763519287109375, 0.053689517080783843994140625))), _1014, float3(0.959999978542327880859375)));
+ float3 _1067 = _1064 * float3(0.4342944622039794921875);
+ float3 _1071 = float3(_Globals.FilmSlope) * fma(_1064, float3(0.4342944622039794921875), float3(_1061));
float3 _1079 = float3(_1056);
float3 _1080 = _1067 - _1079;
float3 _1092 = float3(_1063);
@@ -317,20 +308,16 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float3 _1189;
if (_Globals.ColorShadow_Tint2.w == 0.0)
{
- float3 _1131;
- _1131.x = dot(_906, _Globals.ColorMatrixR_ColorCurveCd1.xyz);
- _1131.y = dot(_906, _Globals.ColorMatrixG_ColorCurveCd3Cm3.xyz);
- _1131.z = dot(_906, _Globals.ColorMatrixB_ColorCurveCm2.xyz);
- float3 _1157 = fast::max(float3(0.0), _1131 * (_Globals.ColorShadow_Tint1.xyz + (_Globals.ColorShadow_Tint2.xyz * float3(1.0 / (dot(_906, _Globals.ColorShadow_Luma.xyz) + 1.0)))));
+ float3 _1157 = fast::max(float3(0.0), float3(dot(_906, _Globals.ColorMatrixR_ColorCurveCd1.xyz), dot(_906, _Globals.ColorMatrixG_ColorCurveCd3Cm3.xyz), dot(_906, _Globals.ColorMatrixB_ColorCurveCm2.xyz)) * fma(_Globals.ColorShadow_Tint2.xyz, float3(1.0 / (dot(_906, _Globals.ColorShadow_Luma.xyz) + 1.0)), _Globals.ColorShadow_Tint1.xyz));
float3 _1162 = fast::max(float3(0.0), _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.xxx - _1157);
float3 _1164 = fast::max(_1157, _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.zzz);
- _1189 = ((((_1164 * _Globals.ColorCurve_Ch1_Ch2.xxx) + _Globals.ColorCurve_Ch1_Ch2.yyy) * (float3(1.0) / (_1164 + _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.www))) + ((fast::clamp(_1157, _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.xxx, _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.zzz) * _Globals.ColorMatrixB_ColorCurveCm2.www) + (((_1162 * _Globals.ColorMatrixR_ColorCurveCd1.www) * (float3(1.0) / (_1162 + _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.yyy))) + _Globals.ColorMatrixG_ColorCurveCd3Cm3.www))) - float3(0.00200000009499490261077880859375);
+ _1189 = fma(fma(_1164, _Globals.ColorCurve_Ch1_Ch2.xxx, _Globals.ColorCurve_Ch1_Ch2.yyy), float3(1.0) / (_1164 + _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.www), fma(fast::clamp(_1157, _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.xxx, _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.zzz), _Globals.ColorMatrixB_ColorCurveCm2.www, fma(_1162 * _Globals.ColorMatrixR_ColorCurveCd1.www, float3(1.0) / (_1162 + _Globals.ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3.yyy), _Globals.ColorMatrixG_ColorCurveCd3Cm3.www))) - float3(0.00200000009499490261077880859375);
}
else
{
_1189 = fast::max(float3(0.0), mix(_1119, _1119 * ((_551 * float3x3(float3(1.06317996978759765625, 0.02339559979736804962158203125, -0.08657260239124298095703125), float3(-0.010633699595928192138671875, 1.2063200473785400390625, -0.1956900060176849365234375), float3(-0.0005908869788981974124908447265625, 0.00105247995816171169281005859375, 0.999538004398345947265625))) * _550), _914) * _549);
}
- float3 _1218 = pow(fast::max(float3(0.0), mix((((float3(_Globals.MappingPolynomial.x) * (_1189 * _1189)) + (float3(_Globals.MappingPolynomial.y) * _1189)) + float3(_Globals.MappingPolynomial.z)) * float3(_Globals.ColorScale), _Globals.OverlayColor.xyz, float3(_Globals.OverlayColor.w))), float3(_Globals.InverseGamma.y));
+ float3 _1218 = pow(fast::max(float3(0.0), mix((fma(float3(_Globals.MappingPolynomial.x), _1189 * _1189, float3(_Globals.MappingPolynomial.y) * _1189) + float3(_Globals.MappingPolynomial.z)) * float3(_Globals.ColorScale), _Globals.OverlayColor.xyz, float3(_Globals.OverlayColor.w))), float3(_Globals.InverseGamma.y));
float3 _3001;
if (_Globals.OutputDevice == 0u)
{
@@ -391,11 +378,11 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float _2104 = _2100.z;
float _2107 = fast::max(fast::max(_2101, _2102), _2104);
float _2112 = (fast::max(_2107, 1.0000000133514319600180897396058e-10) - fast::max(fast::min(fast::min(_2101, _2102), _2104), 1.0000000133514319600180897396058e-10)) / fast::max(_2107, 0.00999999977648258209228515625);
- float _2125 = ((_2104 + _2102) + _2101) + (1.75 * sqrt(((_2104 * (_2104 - _2102)) + (_2102 * (_2102 - _2101))) + (_2101 * (_2101 - _2104))));
+ float _2125 = fma(1.75, sqrt(fma(_2101, _2101 - _2104, fma(_2104, _2104 - _2102, _2102 * (_2102 - _2101)))), (_2104 + _2102) + _2101);
float _2126 = _2125 * 0.3333333432674407958984375;
float _2127 = _2112 - 0.4000000059604644775390625;
float _2132 = fast::max(1.0 - abs(_2127 * 2.5), 0.0);
- float _2140 = (1.0 + (float(int(sign(_2127 * 5.0))) * (1.0 - (_2132 * _2132)))) * 0.02500000037252902984619140625;
+ float _2140 = fma(float(int(sign(_2127 * 5.0))), 1.0 - (_2132 * _2132), 1.0) * 0.02500000037252902984619140625;
float _2153;
if (_2126 <= 0.053333334624767303466796875)
{
@@ -457,21 +444,21 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float _2234;
if (_2193 == 3)
{
- _2234 = (((_2197 * (-0.16666667163372039794921875)) + (_2196 * 0.5)) + (_2195 * (-0.5))) + 0.16666667163372039794921875;
+ _2234 = fma(_2195, -0.5, fma(_2197, -0.16666667163372039794921875, _2196 * 0.5)) + 0.16666667163372039794921875;
}
else
{
float _2227;
if (_2193 == 2)
{
- _2227 = ((_2197 * 0.5) + (_2196 * (-1.0))) + 0.666666686534881591796875;
+ _2227 = fma(_2197, 0.5, _2196 * (-1.0)) + 0.666666686534881591796875;
}
else
{
float _2222;
if (_2193 == 1)
{
- _2222 = (((_2197 * (-0.5)) + (_2196 * 0.5)) + (_2195 * 0.5)) + 0.16666667163372039794921875;
+ _2222 = fma(_2195, 0.5, fma(_2197, -0.5, _2196 * 0.5)) + 0.16666667163372039794921875;
}
else
{
@@ -496,7 +483,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
{
_2235 = 0.0;
}
- _2156.x = _2157 + ((((_2235 * 1.5) * _2112) * (0.02999999932944774627685546875 - _2157)) * 0.180000007152557373046875);
+ _2156.x = fma(((_2235 * 1.5) * _2112) * (0.02999999932944774627685546875 - _2157), 0.180000007152557373046875, _2157);
float3 _2245 = fast::clamp(fast::clamp(_2156, float3(0.0), float3(65535.0)) * float3x3(float3(1.45143926143646240234375, -0.236510753631591796875, -0.214928567409515380859375), float3(-0.07655377686023712158203125, 1.1762297153472900390625, -0.0996759235858917236328125), float3(0.0083161480724811553955078125, -0.0060324496589601039886474609375, 0.99771630764007568359375)), float3(0.0), float3(65535.0));
float3 _2248 = mix(float3(dot(_2245, float3(0.272228717803955078125, 0.674081742763519287109375, 0.053689517080783843994140625))), _2245, float3(0.959999978542327880859375));
float _2249 = _2248.x;
@@ -534,8 +521,6 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
_2327 = _2324;
}
- float3 _2329;
- _2329.x = pow(10.0, _2327);
float _2330 = _2248.y;
float _2334 = log((_2330 <= 0.0) ? 6.103515625e-05 : _2330) * 0.4342944622039794921875;
float _2401;
@@ -571,7 +556,6 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
_2401 = _2398;
}
- _2329.y = pow(10.0, _2401);
float _2404 = _2248.z;
float _2408 = log((_2404 <= 0.0) ? 6.103515625e-05 : _2404) * 0.4342944622039794921875;
float _2475;
@@ -607,8 +591,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
_2475 = _2472;
}
- _2329.z = pow(10.0, _2475);
- float3 _2479 = (_2329 * float3x3(float3(0.695452213287353515625, 0.140678703784942626953125, 0.16386906802654266357421875), float3(0.0447945632040500640869140625, 0.859671115875244140625, 0.095534317195415496826171875), float3(-0.0055258828215301036834716796875, 0.0040252101607620716094970703125, 1.00150072574615478515625))) * float3x3(float3(1.45143926143646240234375, -0.236510753631591796875, -0.214928567409515380859375), float3(-0.07655377686023712158203125, 1.1762297153472900390625, -0.0996759235858917236328125), float3(0.0083161480724811553955078125, -0.0060324496589601039886474609375, 0.99771630764007568359375));
+ float3 _2479 = (float3(pow(10.0, _2327), pow(10.0, _2401), pow(10.0, _2475)) * float3x3(float3(0.695452213287353515625, 0.140678703784942626953125, 0.16386906802654266357421875), float3(0.0447945632040500640869140625, 0.859671115875244140625, 0.095534317195415496826171875), float3(-0.0055258828215301036834716796875, 0.0040252101607620716094970703125, 1.00150072574615478515625))) * float3x3(float3(1.45143926143646240234375, -0.236510753631591796875, -0.214928567409515380859375), float3(-0.07655377686023712158203125, 1.1762297153472900390625, -0.0996759235858917236328125), float3(0.0083161480724811553955078125, -0.0060324496589601039886474609375, 0.99771630764007568359375));
float _2612 = pow(10.0, (float3x3(float3(0.5, -1.0, 0.5), float3(-1.0, 1.0, 0.5), float3(0.5, 0.0, 0.0)) * float3(-0.718548238277435302734375, 2.0810306072235107421875, 3.66812419891357421875)).z);
float _2684 = pow(10.0, dot(float3(0.4444443881511688232421875, 0.66666662693023681640625, 1.0), float3x3(float3(0.5, -1.0, 0.5), float3(-1.0, 1.0, 0.5), float3(0.5, 0.0, 0.0)) * float3(2.0810306072235107421875, 3.66812419891357421875, 4.0)));
float _2685 = _2479.x;
@@ -619,7 +602,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float _2768;
if (_2689 <= _2691)
{
- _2768 = (_2688 * 1.3028833866119384765625) + ((-4.0) - (_2690 * 1.3028833866119384765625));
+ _2768 = fma(_2688, 1.3028833866119384765625, (-4.0) - (_2690 * 1.3028833866119384765625));
}
else
{
@@ -646,21 +629,19 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
else
{
- _2739 = (_2688 * 0.026057668030261993408203125) + (3.0 - (_2705 * 0.026057668030261993408203125));
+ _2739 = fma(_2688, 0.026057668030261993408203125, 3.0 - (_2705 * 0.026057668030261993408203125));
}
_2760 = _2739;
}
_2768 = _2760;
}
- float3 _2770;
- _2770.x = pow(10.0, _2768);
float _2771 = _2479.y;
float _2774 = log((_2771 <= 0.0) ? 9.9999997473787516355514526367188e-05 : _2771);
float _2775 = _2774 * 0.4342944622039794921875;
float _2852;
if (_2775 <= _2691)
{
- _2852 = (_2774 * 1.3028833866119384765625) + ((-4.0) - (_2690 * 1.3028833866119384765625));
+ _2852 = fma(_2774, 1.3028833866119384765625, (-4.0) - (_2690 * 1.3028833866119384765625));
}
else
{
@@ -687,20 +668,19 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
else
{
- _2823 = (_2774 * 0.026057668030261993408203125) + (3.0 - (_2789 * 0.026057668030261993408203125));
+ _2823 = fma(_2774, 0.026057668030261993408203125, 3.0 - (_2789 * 0.026057668030261993408203125));
}
_2844 = _2823;
}
_2852 = _2844;
}
- _2770.y = pow(10.0, _2852);
float _2855 = _2479.z;
float _2858 = log((_2855 <= 0.0) ? 9.9999997473787516355514526367188e-05 : _2855);
float _2859 = _2858 * 0.4342944622039794921875;
float _2936;
if (_2859 <= _2691)
{
- _2936 = (_2858 * 1.3028833866119384765625) + ((-4.0) - (_2690 * 1.3028833866119384765625));
+ _2936 = fma(_2858, 1.3028833866119384765625, (-4.0) - (_2690 * 1.3028833866119384765625));
}
else
{
@@ -727,15 +707,14 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
else
{
- _2907 = (_2858 * 0.026057668030261993408203125) + (3.0 - (_2873 * 0.026057668030261993408203125));
+ _2907 = fma(_2858, 0.026057668030261993408203125, 3.0 - (_2873 * 0.026057668030261993408203125));
}
_2928 = _2907;
}
_2936 = _2928;
}
- _2770.z = pow(10.0, _2936);
- float3 _2942 = pow(((_2770 - float3(3.5073844628641381859779357910156e-05)) * _576) * float3(9.9999997473787516355514526367188e-05), float3(0.1593017578125));
- _2950 = pow((float3(0.8359375) + (float3(18.8515625) * _2942)) * (float3(1.0) / (float3(1.0) + (float3(18.6875) * _2942))), float3(78.84375));
+ float3 _2942 = pow(((float3(pow(10.0, _2768), pow(10.0, _2852), pow(10.0, _2936)) - float3(3.5073844628641381859779357910156e-05)) * _576) * float3(9.9999997473787516355514526367188e-05), float3(0.1593017578125));
+ _2950 = pow(fma(float3(18.8515625), _2942, float3(0.8359375)) * (float3(1.0) / fma(float3(18.6875), _2942, float3(1.0))), float3(78.84375));
}
else
{
@@ -748,11 +727,11 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float _1267 = _1263.z;
float _1270 = fast::max(fast::max(_1264, _1265), _1267);
float _1275 = (fast::max(_1270, 1.0000000133514319600180897396058e-10) - fast::max(fast::min(fast::min(_1264, _1265), _1267), 1.0000000133514319600180897396058e-10)) / fast::max(_1270, 0.00999999977648258209228515625);
- float _1288 = ((_1267 + _1265) + _1264) + (1.75 * sqrt(((_1267 * (_1267 - _1265)) + (_1265 * (_1265 - _1264))) + (_1264 * (_1264 - _1267))));
+ float _1288 = fma(1.75, sqrt(fma(_1264, _1264 - _1267, fma(_1267, _1267 - _1265, _1265 * (_1265 - _1264)))), (_1267 + _1265) + _1264);
float _1289 = _1288 * 0.3333333432674407958984375;
float _1290 = _1275 - 0.4000000059604644775390625;
float _1295 = fast::max(1.0 - abs(_1290 * 2.5), 0.0);
- float _1303 = (1.0 + (float(int(sign(_1290 * 5.0))) * (1.0 - (_1295 * _1295)))) * 0.02500000037252902984619140625;
+ float _1303 = fma(float(int(sign(_1290 * 5.0))), 1.0 - (_1295 * _1295), 1.0) * 0.02500000037252902984619140625;
float _1316;
if (_1289 <= 0.053333334624767303466796875)
{
@@ -814,21 +793,21 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float _1397;
if (_1356 == 3)
{
- _1397 = (((_1360 * (-0.16666667163372039794921875)) + (_1359 * 0.5)) + (_1358 * (-0.5))) + 0.16666667163372039794921875;
+ _1397 = fma(_1358, -0.5, fma(_1360, -0.16666667163372039794921875, _1359 * 0.5)) + 0.16666667163372039794921875;
}
else
{
float _1390;
if (_1356 == 2)
{
- _1390 = ((_1360 * 0.5) + (_1359 * (-1.0))) + 0.666666686534881591796875;
+ _1390 = fma(_1360, 0.5, _1359 * (-1.0)) + 0.666666686534881591796875;
}
else
{
float _1385;
if (_1356 == 1)
{
- _1385 = (((_1360 * (-0.5)) + (_1359 * 0.5)) + (_1358 * 0.5)) + 0.16666667163372039794921875;
+ _1385 = fma(_1358, 0.5, fma(_1360, -0.5, _1359 * 0.5)) + 0.16666667163372039794921875;
}
else
{
@@ -853,7 +832,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
{
_1398 = 0.0;
}
- _1319.x = _1320 + ((((_1398 * 1.5) * _1275) * (0.02999999932944774627685546875 - _1320)) * 0.180000007152557373046875);
+ _1319.x = fma(((_1398 * 1.5) * _1275) * (0.02999999932944774627685546875 - _1320), 0.180000007152557373046875, _1320);
float3 _1408 = fast::clamp(fast::clamp(_1319, float3(0.0), float3(65535.0)) * float3x3(float3(1.45143926143646240234375, -0.236510753631591796875, -0.214928567409515380859375), float3(-0.07655377686023712158203125, 1.1762297153472900390625, -0.0996759235858917236328125), float3(0.0083161480724811553955078125, -0.0060324496589601039886474609375, 0.99771630764007568359375)), float3(0.0), float3(65535.0));
float3 _1411 = mix(float3(dot(_1408, float3(0.272228717803955078125, 0.674081742763519287109375, 0.053689517080783843994140625))), _1408, float3(0.959999978542327880859375));
float _1412 = _1411.x;
@@ -891,8 +870,6 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
_1490 = _1487;
}
- float3 _1492;
- _1492.x = pow(10.0, _1490);
float _1493 = _1411.y;
float _1497 = log((_1493 <= 0.0) ? 6.103515625e-05 : _1493) * 0.4342944622039794921875;
float _1564;
@@ -928,7 +905,6 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
_1564 = _1561;
}
- _1492.y = pow(10.0, _1564);
float _1567 = _1411.z;
float _1571 = log((_1567 <= 0.0) ? 6.103515625e-05 : _1567) * 0.4342944622039794921875;
float _1638;
@@ -964,8 +940,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
_1638 = _1635;
}
- _1492.z = pow(10.0, _1638);
- float3 _1642 = (_1492 * float3x3(float3(0.695452213287353515625, 0.140678703784942626953125, 0.16386906802654266357421875), float3(0.0447945632040500640869140625, 0.859671115875244140625, 0.095534317195415496826171875), float3(-0.0055258828215301036834716796875, 0.0040252101607620716094970703125, 1.00150072574615478515625))) * float3x3(float3(1.45143926143646240234375, -0.236510753631591796875, -0.214928567409515380859375), float3(-0.07655377686023712158203125, 1.1762297153472900390625, -0.0996759235858917236328125), float3(0.0083161480724811553955078125, -0.0060324496589601039886474609375, 0.99771630764007568359375));
+ float3 _1642 = (float3(pow(10.0, _1490), pow(10.0, _1564), pow(10.0, _1638)) * float3x3(float3(0.695452213287353515625, 0.140678703784942626953125, 0.16386906802654266357421875), float3(0.0447945632040500640869140625, 0.859671115875244140625, 0.095534317195415496826171875), float3(-0.0055258828215301036834716796875, 0.0040252101607620716094970703125, 1.00150072574615478515625))) * float3x3(float3(1.45143926143646240234375, -0.236510753631591796875, -0.214928567409515380859375), float3(-0.07655377686023712158203125, 1.1762297153472900390625, -0.0996759235858917236328125), float3(0.0083161480724811553955078125, -0.0060324496589601039886474609375, 0.99771630764007568359375));
float _1775 = pow(10.0, (float3x3(float3(0.5, -1.0, 0.5), float3(-1.0, 1.0, 0.5), float3(0.5, 0.0, 0.0)) * float3(-0.718548238277435302734375, 2.0810306072235107421875, 3.66812419891357421875)).z);
float _1847 = pow(10.0, dot(float3(0.69444429874420166015625, 0.8333332538604736328125, 1.0), float3x3(float3(0.5, -1.0, 0.5), float3(-1.0, 1.0, 0.5), float3(0.5, 0.0, 0.0)) * float3(2.0810306072235107421875, 3.66812419891357421875, 4.0)));
float _1848 = _1642.x;
@@ -1002,14 +977,12 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
else
{
- _1902 = (_1851 * 0.05211533606052398681640625) + (3.3010299205780029296875 - (_1868 * 0.05211533606052398681640625));
+ _1902 = fma(_1851, 0.05211533606052398681640625, 3.3010299205780029296875 - (_1868 * 0.05211533606052398681640625));
}
_1923 = _1902;
}
_1926 = _1923;
}
- float3 _1928;
- _1928.x = pow(10.0, _1926);
float _1929 = _1642.y;
float _1932 = log((_1929 <= 0.0) ? 9.9999997473787516355514526367188e-05 : _1929);
float _1933 = _1932 * 0.4342944622039794921875;
@@ -1043,13 +1016,12 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
else
{
- _1981 = (_1932 * 0.05211533606052398681640625) + (3.3010299205780029296875 - (_1947 * 0.05211533606052398681640625));
+ _1981 = fma(_1932, 0.05211533606052398681640625, 3.3010299205780029296875 - (_1947 * 0.05211533606052398681640625));
}
_2002 = _1981;
}
_2005 = _2002;
}
- _1928.y = pow(10.0, _2005);
float _2008 = _1642.z;
float _2011 = log((_2008 <= 0.0) ? 9.9999997473787516355514526367188e-05 : _2008);
float _2012 = _2011 * 0.4342944622039794921875;
@@ -1083,15 +1055,14 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
}
else
{
- _2060 = (_2011 * 0.05211533606052398681640625) + (3.3010299205780029296875 - (_2026 * 0.05211533606052398681640625));
+ _2060 = fma(_2011, 0.05211533606052398681640625, 3.3010299205780029296875 - (_2026 * 0.05211533606052398681640625));
}
_2081 = _2060;
}
_2084 = _2081;
}
- _1928.z = pow(10.0, _2084);
- float3 _2089 = pow((_1928 * _576) * float3(9.9999997473787516355514526367188e-05), float3(0.1593017578125));
- _2097 = pow((float3(0.8359375) + (float3(18.8515625) * _2089)) * (float3(1.0) / (float3(1.0) + (float3(18.6875) * _2089))), float3(78.84375));
+ float3 _2089 = pow((float3(pow(10.0, _1926), pow(10.0, _2005), pow(10.0, _2084)) * _576) * float3(9.9999997473787516355514526367188e-05), float3(0.1593017578125));
+ _2097 = pow(fma(float3(18.8515625), _2089, float3(0.8359375)) * (float3(1.0) / fma(float3(18.6875), _2089, float3(1.0))), float3(78.84375));
}
else
{
@@ -1099,7 +1070,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
if (_Globals.OutputDevice == 7u)
{
float3 _1252 = pow(((_906 * _547) * _576) * float3(9.9999997473787516355514526367188e-05), float3(0.1593017578125));
- _1260 = pow((float3(0.8359375) + (float3(18.8515625) * _1252)) * (float3(1.0) / (float3(1.0) + (float3(18.6875) * _1252))), float3(78.84375));
+ _1260 = pow(fma(float3(18.8515625), _1252, float3(0.8359375)) * (float3(1.0) / fma(float3(18.6875), _1252, float3(1.0))), float3(78.84375));
}
else
{