mirror of
https://github.com/KhronosGroup/SPIRV-Cross.git
synced 2024-11-15 16:30:08 +00:00
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
This commit is contained in:
commit
e43f244399
@ -104,7 +104,6 @@ struct main0_out
|
||||
fragment main0_out main0(main0_in in [[stage_in]], float4 gl_FragCoord [[position]], constant CB0& _19 [[buffer(0)]], texture3d<float> LightMapTexture [[texture(0)]], sampler LightMapSampler [[sampler(0)]], sampler ShadowMapSampler [[sampler(1)]], texture2d<float> ShadowMapTexture [[texture(1)]], texturecube<float> EnvironmentMapTexture [[texture(2)]], sampler EnvironmentMapSampler [[sampler(2)]], sampler DiffuseMapSampler [[sampler(3)]], texture2d<float> DiffuseMapTexture [[texture(3)]], sampler NormalMapSampler [[sampler(4)]], texture2d<float> NormalMapTexture [[texture(4)]], texture2d<float> NormalDetailMapTexture [[texture(5)]], sampler NormalDetailMapSampler [[sampler(5)]], texture2d<float> StudsMapTexture [[texture(6)]], sampler StudsMapSampler [[sampler(6)]], sampler SpecularMapSampler [[sampler(7)]], texture2d<float> SpecularMapTexture [[texture(7)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
bool _173;
|
||||
VertexOutput _128 = _121;
|
||||
_128.HPosition = gl_FragCoord;
|
||||
VertexOutput _130 = _128;
|
||||
@ -136,6 +135,7 @@ fragment main0_out main0(main0_in in [[stage_in]], float4 gl_FragCoord [[positio
|
||||
float _163 = _146.View_Depth.w * _19.CB0.RefractionBias_FadeDistance_GlowFactor.y;
|
||||
float _165 = clamp(1.0 - _163, 0.0, 1.0);
|
||||
float2 _166 = in.IN_Uv_EdgeDistance1.xy * 1.0;
|
||||
bool _173;
|
||||
float4 _193;
|
||||
do
|
||||
{
|
||||
@ -222,16 +222,14 @@ fragment main0_out main0(main0_in in [[stage_in]], float4 gl_FragCoord [[positio
|
||||
float3 _403 = mix(_318.xyz, EnvironmentMapTexture.sample(EnvironmentMapSampler, reflect(-in.IN_View_Depth.xyz, _329)).xyz, float3(_312));
|
||||
float4 _404 = float4(_403.x, _403.y, _403.z, _318.w);
|
||||
float3 _422 = (((_19.CB0.AmbientColor + (((_19.CB0.Lamp0Color * clamp(_333, 0.0, 1.0)) + (_19.CB0.Lamp1Color * max(-_333, 0.0))) * _392)) + _368.xyz) * _404.xyz) + (_19.CB0.Lamp0Color * (((step(0.0, _333) * _306) * _392) * pow(clamp(dot(_329, normalize(_332 + normalize(in.IN_View_Depth.xyz))), 0.0, 1.0), _308)));
|
||||
float4 _423 = float4(_422.x, _422.y, _422.z, _124.w);
|
||||
float4 _425 = _423;
|
||||
float4 _425 = float4(_422.x, _422.y, _422.z, _124.w);
|
||||
_425.w = _404.w;
|
||||
float2 _435 = min(in.IN_Uv_EdgeDistance1.wz, in.IN_UvStuds_EdgeDistance2.wz);
|
||||
float _439 = min(_435.x, _435.y) / _163;
|
||||
float3 _445 = _425.xyz * clamp((clamp((_163 * _19.CB0.OutlineBrightness_ShadowInfo.x) + _19.CB0.OutlineBrightness_ShadowInfo.y, 0.0, 1.0) * (1.5 - _439)) + _439, 0.0, 1.0);
|
||||
float4 _446 = float4(_445.x, _445.y, _445.z, _425.w);
|
||||
float3 _453 = mix(_19.CB0.FogColor, _446.xyz, float3(clamp(_146.LightPosition_Fog.w, 0.0, 1.0)));
|
||||
float4 _454 = float4(_453.x, _453.y, _453.z, _446.w);
|
||||
out._entryPointOutput = _454;
|
||||
out._entryPointOutput = float4(_453.x, _453.y, _453.z, _446.w);
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -15,8 +15,8 @@ fragment main0_out main0()
|
||||
{
|
||||
main0_out out = {};
|
||||
float4 _51;
|
||||
float4 _52;
|
||||
_51 = _50;
|
||||
float4 _52;
|
||||
for (;;)
|
||||
{
|
||||
if (0.0 != 0.0)
|
||||
|
321
reference/opt/shaders-msl/asm/frag/vector-shuffle-oom.asm.frag
Normal file
321
reference/opt/shaders-msl/asm/frag/vector-shuffle-oom.asm.frag
Normal file
@ -0,0 +1,321 @@
|
||||
#include <metal_stdlib>
|
||||
#include <simd/simd.h>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
struct _28
|
||||
{
|
||||
float4 _m0;
|
||||
};
|
||||
|
||||
struct _6
|
||||
{
|
||||
float4 _m0;
|
||||
float _m1;
|
||||
float4 _m2;
|
||||
};
|
||||
|
||||
struct _10
|
||||
{
|
||||
float3 _m0;
|
||||
packed_float3 _m1;
|
||||
float _m2;
|
||||
packed_float3 _m3;
|
||||
float _m4;
|
||||
packed_float3 _m5;
|
||||
float _m6;
|
||||
packed_float3 _m7;
|
||||
float _m8;
|
||||
packed_float3 _m9;
|
||||
float _m10;
|
||||
packed_float3 _m11;
|
||||
float _m12;
|
||||
float2 _m13;
|
||||
float2 _m14;
|
||||
packed_float3 _m15;
|
||||
float _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
float _m20;
|
||||
float4 _m21;
|
||||
float4 _m22;
|
||||
float4x4 _m23;
|
||||
float4 _m24;
|
||||
};
|
||||
|
||||
struct _18
|
||||
{
|
||||
float4x4 _m0;
|
||||
float4x4 _m1;
|
||||
float4x4 _m2;
|
||||
float4x4 _m3;
|
||||
float4 _m4;
|
||||
float4 _m5;
|
||||
float _m6;
|
||||
float _m7;
|
||||
float _m8;
|
||||
float _m9;
|
||||
packed_float3 _m10;
|
||||
float _m11;
|
||||
packed_float3 _m12;
|
||||
float _m13;
|
||||
packed_float3 _m14;
|
||||
float _m15;
|
||||
packed_float3 _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
float2 _m20;
|
||||
float2 _m21;
|
||||
float2 _m22;
|
||||
float4 _m23;
|
||||
float2 _m24;
|
||||
float2 _m25;
|
||||
float2 _m26;
|
||||
char pad27[8];
|
||||
packed_float3 _m27;
|
||||
float _m28;
|
||||
float _m29;
|
||||
float _m30;
|
||||
float _m31;
|
||||
float _m32;
|
||||
float2 _m33;
|
||||
float _m34;
|
||||
float _m35;
|
||||
float3 _m36;
|
||||
float4x4 _m37[2];
|
||||
float4 _m38[2];
|
||||
};
|
||||
|
||||
constant _28 _74 = {};
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
float4 m_5 [[color(0)]];
|
||||
};
|
||||
|
||||
fragment main0_out main0(float4 gl_FragCoord [[position]], constant _6& _7 [[buffer(0)]], texture2d<float> _8 [[texture(0)]], sampler _9 [[sampler(0)]], constant _10& _11 [[buffer(1)]], texture2d<float> _12 [[texture(1)]], sampler _13 [[sampler(1)]], texture2d<float> _14 [[texture(2)]], sampler _15 [[sampler(2)]], constant _18& _19 [[buffer(2)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
_28 _77 = _74;
|
||||
_77._m0 = float4(0.0);
|
||||
float2 _82 = gl_FragCoord.xy * _19._m23.xy;
|
||||
float4 _88 = _7._m2 * _7._m0.xyxy;
|
||||
float2 _97 = clamp(_82 + (float3(0.0, -2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _109 = _11._m5 * clamp(_8.sample(_9, _97, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _113 = _12.sample(_13, _97, level(0.0));
|
||||
float3 _129;
|
||||
if (_113.y > 0.0)
|
||||
{
|
||||
_129 = _109 + (_14.sample(_15, _97, level(0.0)).xyz * clamp(_113.y * _113.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_129 = _109;
|
||||
}
|
||||
float3 _133 = float4(0.0).xyz + (_129 * 0.5);
|
||||
float4 _134 = float4(_133.x, _133.y, _133.z, float4(0.0).w);
|
||||
_28 _135 = _77;
|
||||
_135._m0 = _134;
|
||||
float2 _144 = clamp(_82 + (float3(-1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _156 = _11._m5 * clamp(_8.sample(_9, _144, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _160 = _12.sample(_13, _144, level(0.0));
|
||||
float3 _176;
|
||||
if (_160.y > 0.0)
|
||||
{
|
||||
_176 = _156 + (_14.sample(_15, _144, level(0.0)).xyz * clamp(_160.y * _160.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_176 = _156;
|
||||
}
|
||||
float3 _180 = _134.xyz + (_176 * 0.5);
|
||||
float4 _181 = float4(_180.x, _180.y, _180.z, _134.w);
|
||||
_28 _182 = _135;
|
||||
_182._m0 = _181;
|
||||
float2 _191 = clamp(_82 + (float3(0.0, -1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _203 = _11._m5 * clamp(_8.sample(_9, _191, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _207 = _12.sample(_13, _191, level(0.0));
|
||||
float3 _223;
|
||||
if (_207.y > 0.0)
|
||||
{
|
||||
_223 = _203 + (_14.sample(_15, _191, level(0.0)).xyz * clamp(_207.y * _207.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_223 = _203;
|
||||
}
|
||||
float3 _227 = _181.xyz + (_223 * 0.75);
|
||||
float4 _228 = float4(_227.x, _227.y, _227.z, _181.w);
|
||||
_28 _229 = _182;
|
||||
_229._m0 = _228;
|
||||
float2 _238 = clamp(_82 + (float3(1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _250 = _11._m5 * clamp(_8.sample(_9, _238, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _254 = _12.sample(_13, _238, level(0.0));
|
||||
float3 _270;
|
||||
if (_254.y > 0.0)
|
||||
{
|
||||
_270 = _250 + (_14.sample(_15, _238, level(0.0)).xyz * clamp(_254.y * _254.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_270 = _250;
|
||||
}
|
||||
float3 _274 = _228.xyz + (_270 * 0.5);
|
||||
float4 _275 = float4(_274.x, _274.y, _274.z, _228.w);
|
||||
_28 _276 = _229;
|
||||
_276._m0 = _275;
|
||||
float2 _285 = clamp(_82 + (float3(-2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _297 = _11._m5 * clamp(_8.sample(_9, _285, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _301 = _12.sample(_13, _285, level(0.0));
|
||||
float3 _317;
|
||||
if (_301.y > 0.0)
|
||||
{
|
||||
_317 = _297 + (_14.sample(_15, _285, level(0.0)).xyz * clamp(_301.y * _301.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_317 = _297;
|
||||
}
|
||||
float3 _321 = _275.xyz + (_317 * 0.5);
|
||||
float4 _322 = float4(_321.x, _321.y, _321.z, _275.w);
|
||||
_28 _323 = _276;
|
||||
_323._m0 = _322;
|
||||
float2 _332 = clamp(_82 + (float3(-1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _344 = _11._m5 * clamp(_8.sample(_9, _332, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _348 = _12.sample(_13, _332, level(0.0));
|
||||
float3 _364;
|
||||
if (_348.y > 0.0)
|
||||
{
|
||||
_364 = _344 + (_14.sample(_15, _332, level(0.0)).xyz * clamp(_348.y * _348.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_364 = _344;
|
||||
}
|
||||
float3 _368 = _322.xyz + (_364 * 0.75);
|
||||
float4 _369 = float4(_368.x, _368.y, _368.z, _322.w);
|
||||
_28 _370 = _323;
|
||||
_370._m0 = _369;
|
||||
float2 _379 = clamp(_82 + (float3(0.0, 0.0, 1.0).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _391 = _11._m5 * clamp(_8.sample(_9, _379, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _395 = _12.sample(_13, _379, level(0.0));
|
||||
float3 _411;
|
||||
if (_395.y > 0.0)
|
||||
{
|
||||
_411 = _391 + (_14.sample(_15, _379, level(0.0)).xyz * clamp(_395.y * _395.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_411 = _391;
|
||||
}
|
||||
float3 _415 = _369.xyz + (_411 * 1.0);
|
||||
float4 _416 = float4(_415.x, _415.y, _415.z, _369.w);
|
||||
_28 _417 = _370;
|
||||
_417._m0 = _416;
|
||||
float2 _426 = clamp(_82 + (float3(1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _438 = _11._m5 * clamp(_8.sample(_9, _426, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _442 = _12.sample(_13, _426, level(0.0));
|
||||
float3 _458;
|
||||
if (_442.y > 0.0)
|
||||
{
|
||||
_458 = _438 + (_14.sample(_15, _426, level(0.0)).xyz * clamp(_442.y * _442.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_458 = _438;
|
||||
}
|
||||
float3 _462 = _416.xyz + (_458 * 0.75);
|
||||
float4 _463 = float4(_462.x, _462.y, _462.z, _416.w);
|
||||
_28 _464 = _417;
|
||||
_464._m0 = _463;
|
||||
float2 _473 = clamp(_82 + (float3(2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _485 = _11._m5 * clamp(_8.sample(_9, _473, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _489 = _12.sample(_13, _473, level(0.0));
|
||||
float3 _505;
|
||||
if (_489.y > 0.0)
|
||||
{
|
||||
_505 = _485 + (_14.sample(_15, _473, level(0.0)).xyz * clamp(_489.y * _489.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_505 = _485;
|
||||
}
|
||||
float3 _509 = _463.xyz + (_505 * 0.5);
|
||||
float4 _510 = float4(_509.x, _509.y, _509.z, _463.w);
|
||||
_28 _511 = _464;
|
||||
_511._m0 = _510;
|
||||
float2 _520 = clamp(_82 + (float3(-1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _532 = _11._m5 * clamp(_8.sample(_9, _520, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _536 = _12.sample(_13, _520, level(0.0));
|
||||
float3 _552;
|
||||
if (_536.y > 0.0)
|
||||
{
|
||||
_552 = _532 + (_14.sample(_15, _520, level(0.0)).xyz * clamp(_536.y * _536.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_552 = _532;
|
||||
}
|
||||
float3 _556 = _510.xyz + (_552 * 0.5);
|
||||
float4 _557 = float4(_556.x, _556.y, _556.z, _510.w);
|
||||
_28 _558 = _511;
|
||||
_558._m0 = _557;
|
||||
float2 _567 = clamp(_82 + (float3(0.0, 1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _579 = _11._m5 * clamp(_8.sample(_9, _567, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _583 = _12.sample(_13, _567, level(0.0));
|
||||
float3 _599;
|
||||
if (_583.y > 0.0)
|
||||
{
|
||||
_599 = _579 + (_14.sample(_15, _567, level(0.0)).xyz * clamp(_583.y * _583.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_599 = _579;
|
||||
}
|
||||
float3 _603 = _557.xyz + (_599 * 0.75);
|
||||
float4 _604 = float4(_603.x, _603.y, _603.z, _557.w);
|
||||
_28 _605 = _558;
|
||||
_605._m0 = _604;
|
||||
float2 _614 = clamp(_82 + (float3(1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _626 = _11._m5 * clamp(_8.sample(_9, _614, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _630 = _12.sample(_13, _614, level(0.0));
|
||||
float3 _646;
|
||||
if (_630.y > 0.0)
|
||||
{
|
||||
_646 = _626 + (_14.sample(_15, _614, level(0.0)).xyz * clamp(_630.y * _630.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_646 = _626;
|
||||
}
|
||||
float3 _650 = _604.xyz + (_646 * 0.5);
|
||||
float4 _651 = float4(_650.x, _650.y, _650.z, _604.w);
|
||||
_28 _652 = _605;
|
||||
_652._m0 = _651;
|
||||
float2 _661 = clamp(_82 + (float3(0.0, 2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _673 = _11._m5 * clamp(_8.sample(_9, _661, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _677 = _12.sample(_13, _661, level(0.0));
|
||||
float3 _693;
|
||||
if (_677.y > 0.0)
|
||||
{
|
||||
_693 = _673 + (_14.sample(_15, _661, level(0.0)).xyz * clamp(_677.y * _677.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_693 = _673;
|
||||
}
|
||||
float3 _697 = _651.xyz + (_693 * 0.5);
|
||||
float4 _698 = float4(_697.x, _697.y, _697.z, _651.w);
|
||||
_28 _699 = _652;
|
||||
_699._m0 = _698;
|
||||
float3 _702 = _698.xyz / float3(((((((((((((0.0 + 0.5) + 0.5) + 0.75) + 0.5) + 0.5) + 0.75) + 1.0) + 0.75) + 0.5) + 0.5) + 0.75) + 0.5) + 0.5);
|
||||
_28 _704 = _699;
|
||||
_704._m0 = float4(_702.x, _702.y, _702.z, _698.w);
|
||||
_28 _705 = _704;
|
||||
_705._m0.w = 1.0;
|
||||
out.m_5 = _705._m0;
|
||||
return out;
|
||||
}
|
||||
|
@ -16,10 +16,10 @@ struct SSBO2
|
||||
|
||||
kernel void main0(uint3 gl_GlobalInvocationID [[thread_position_in_grid]], device SSBO& _28 [[buffer(0)]], device SSBO2& _52 [[buffer(1)]])
|
||||
{
|
||||
float4 _42;
|
||||
int i = 0;
|
||||
float4 _56;
|
||||
_56 = _28.in_data[gl_GlobalInvocationID.x];
|
||||
float4 _42;
|
||||
for (;;)
|
||||
{
|
||||
_42 = _28.mvp * _56;
|
||||
|
@ -18,12 +18,12 @@ constant uint _98 = {};
|
||||
|
||||
kernel void main0(uint3 gl_GlobalInvocationID [[thread_position_in_grid]], device SSBO& _24 [[buffer(0)]], device SSBO2& _89 [[buffer(1)]])
|
||||
{
|
||||
int _40;
|
||||
float4 _93;
|
||||
int _94;
|
||||
_93 = _24.in_data[gl_GlobalInvocationID.x];
|
||||
_94 = 0;
|
||||
int _48;
|
||||
int _40;
|
||||
float4 _46;
|
||||
for (;;)
|
||||
{
|
||||
|
@ -97,7 +97,6 @@ vec4 _297;
|
||||
|
||||
void main()
|
||||
{
|
||||
bool _173;
|
||||
VertexOutput _128 = _121;
|
||||
_128.HPosition = gl_FragCoord;
|
||||
VertexOutput _130 = _128;
|
||||
@ -129,6 +128,7 @@ void main()
|
||||
float _163 = _146.View_Depth.w * _19.CB0.RefractionBias_FadeDistance_GlowFactor.y;
|
||||
float _165 = clamp(1.0 - _163, 0.0, 1.0);
|
||||
vec2 _166 = IN_Uv_EdgeDistance1.xy * 1.0;
|
||||
bool _173;
|
||||
vec4 _193;
|
||||
do
|
||||
{
|
||||
|
@ -8,8 +8,8 @@ vec4 _50;
|
||||
void main()
|
||||
{
|
||||
vec4 _51;
|
||||
vec4 _52;
|
||||
_51 = _50;
|
||||
vec4 _52;
|
||||
for (;;)
|
||||
{
|
||||
if (0.0 != 0.0)
|
||||
|
316
reference/opt/shaders/asm/frag/vector-shuffle-oom.asm.frag
Normal file
316
reference/opt/shaders/asm/frag/vector-shuffle-oom.asm.frag
Normal file
@ -0,0 +1,316 @@
|
||||
#version 450
|
||||
|
||||
struct _28
|
||||
{
|
||||
vec4 _m0;
|
||||
};
|
||||
|
||||
layout(binding = 0, std140) uniform _6_7
|
||||
{
|
||||
vec4 _m0;
|
||||
float _m1;
|
||||
vec4 _m2;
|
||||
} _7;
|
||||
|
||||
layout(binding = 2, std140) uniform _10_11
|
||||
{
|
||||
vec3 _m0;
|
||||
vec3 _m1;
|
||||
float _m2;
|
||||
vec3 _m3;
|
||||
float _m4;
|
||||
vec3 _m5;
|
||||
float _m6;
|
||||
vec3 _m7;
|
||||
float _m8;
|
||||
vec3 _m9;
|
||||
float _m10;
|
||||
vec3 _m11;
|
||||
float _m12;
|
||||
vec2 _m13;
|
||||
vec2 _m14;
|
||||
vec3 _m15;
|
||||
float _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
float _m20;
|
||||
vec4 _m21;
|
||||
vec4 _m22;
|
||||
layout(row_major) mat4 _m23;
|
||||
vec4 _m24;
|
||||
} _11;
|
||||
|
||||
layout(binding = 1, std140) uniform _18_19
|
||||
{
|
||||
layout(row_major) mat4 _m0;
|
||||
layout(row_major) mat4 _m1;
|
||||
layout(row_major) mat4 _m2;
|
||||
layout(row_major) mat4 _m3;
|
||||
vec4 _m4;
|
||||
vec4 _m5;
|
||||
float _m6;
|
||||
float _m7;
|
||||
float _m8;
|
||||
float _m9;
|
||||
vec3 _m10;
|
||||
float _m11;
|
||||
vec3 _m12;
|
||||
float _m13;
|
||||
vec3 _m14;
|
||||
float _m15;
|
||||
vec3 _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
vec2 _m20;
|
||||
vec2 _m21;
|
||||
vec2 _m22;
|
||||
vec4 _m23;
|
||||
vec2 _m24;
|
||||
vec2 _m25;
|
||||
vec2 _m26;
|
||||
vec3 _m27;
|
||||
float _m28;
|
||||
float _m29;
|
||||
float _m30;
|
||||
float _m31;
|
||||
float _m32;
|
||||
vec2 _m33;
|
||||
float _m34;
|
||||
float _m35;
|
||||
vec3 _m36;
|
||||
layout(row_major) mat4 _m37[2];
|
||||
vec4 _m38[2];
|
||||
} _19;
|
||||
|
||||
uniform sampler2D SPIRV_Cross_Combined;
|
||||
uniform sampler2D SPIRV_Cross_Combined_1;
|
||||
uniform sampler2D SPIRV_Cross_Combined_2;
|
||||
|
||||
layout(location = 0) out vec4 _5;
|
||||
|
||||
_28 _74;
|
||||
|
||||
void main()
|
||||
{
|
||||
_28 _77 = _74;
|
||||
_77._m0 = vec4(0.0);
|
||||
vec2 _82 = gl_FragCoord.xy * _19._m23.xy;
|
||||
vec4 _88 = _7._m2 * _7._m0.xyxy;
|
||||
vec2 _97 = clamp(_82 + (vec3(0.0, -2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _109 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _97, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _113 = textureLod(SPIRV_Cross_Combined_1, _97, 0.0);
|
||||
vec3 _129;
|
||||
if (_113.y > 0.0)
|
||||
{
|
||||
_129 = _109 + (textureLod(SPIRV_Cross_Combined_2, _97, 0.0).xyz * clamp(_113.y * _113.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_129 = _109;
|
||||
}
|
||||
vec3 _133 = vec4(0.0).xyz + (_129 * 0.5);
|
||||
vec4 _134 = vec4(_133.x, _133.y, _133.z, vec4(0.0).w);
|
||||
_28 _135 = _77;
|
||||
_135._m0 = _134;
|
||||
vec2 _144 = clamp(_82 + (vec3(-1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _156 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _144, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _160 = textureLod(SPIRV_Cross_Combined_1, _144, 0.0);
|
||||
vec3 _176;
|
||||
if (_160.y > 0.0)
|
||||
{
|
||||
_176 = _156 + (textureLod(SPIRV_Cross_Combined_2, _144, 0.0).xyz * clamp(_160.y * _160.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_176 = _156;
|
||||
}
|
||||
vec3 _180 = _134.xyz + (_176 * 0.5);
|
||||
vec4 _181 = vec4(_180.x, _180.y, _180.z, _134.w);
|
||||
_28 _182 = _135;
|
||||
_182._m0 = _181;
|
||||
vec2 _191 = clamp(_82 + (vec3(0.0, -1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _203 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _191, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _207 = textureLod(SPIRV_Cross_Combined_1, _191, 0.0);
|
||||
vec3 _223;
|
||||
if (_207.y > 0.0)
|
||||
{
|
||||
_223 = _203 + (textureLod(SPIRV_Cross_Combined_2, _191, 0.0).xyz * clamp(_207.y * _207.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_223 = _203;
|
||||
}
|
||||
vec3 _227 = _181.xyz + (_223 * 0.75);
|
||||
vec4 _228 = vec4(_227.x, _227.y, _227.z, _181.w);
|
||||
_28 _229 = _182;
|
||||
_229._m0 = _228;
|
||||
vec2 _238 = clamp(_82 + (vec3(1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _250 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _238, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _254 = textureLod(SPIRV_Cross_Combined_1, _238, 0.0);
|
||||
vec3 _270;
|
||||
if (_254.y > 0.0)
|
||||
{
|
||||
_270 = _250 + (textureLod(SPIRV_Cross_Combined_2, _238, 0.0).xyz * clamp(_254.y * _254.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_270 = _250;
|
||||
}
|
||||
vec3 _274 = _228.xyz + (_270 * 0.5);
|
||||
vec4 _275 = vec4(_274.x, _274.y, _274.z, _228.w);
|
||||
_28 _276 = _229;
|
||||
_276._m0 = _275;
|
||||
vec2 _285 = clamp(_82 + (vec3(-2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _297 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _285, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _301 = textureLod(SPIRV_Cross_Combined_1, _285, 0.0);
|
||||
vec3 _317;
|
||||
if (_301.y > 0.0)
|
||||
{
|
||||
_317 = _297 + (textureLod(SPIRV_Cross_Combined_2, _285, 0.0).xyz * clamp(_301.y * _301.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_317 = _297;
|
||||
}
|
||||
vec3 _321 = _275.xyz + (_317 * 0.5);
|
||||
vec4 _322 = vec4(_321.x, _321.y, _321.z, _275.w);
|
||||
_28 _323 = _276;
|
||||
_323._m0 = _322;
|
||||
vec2 _332 = clamp(_82 + (vec3(-1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _344 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _332, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _348 = textureLod(SPIRV_Cross_Combined_1, _332, 0.0);
|
||||
vec3 _364;
|
||||
if (_348.y > 0.0)
|
||||
{
|
||||
_364 = _344 + (textureLod(SPIRV_Cross_Combined_2, _332, 0.0).xyz * clamp(_348.y * _348.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_364 = _344;
|
||||
}
|
||||
vec3 _368 = _322.xyz + (_364 * 0.75);
|
||||
vec4 _369 = vec4(_368.x, _368.y, _368.z, _322.w);
|
||||
_28 _370 = _323;
|
||||
_370._m0 = _369;
|
||||
vec2 _379 = clamp(_82 + (vec3(0.0, 0.0, 1.0).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _391 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _379, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _395 = textureLod(SPIRV_Cross_Combined_1, _379, 0.0);
|
||||
vec3 _411;
|
||||
if (_395.y > 0.0)
|
||||
{
|
||||
_411 = _391 + (textureLod(SPIRV_Cross_Combined_2, _379, 0.0).xyz * clamp(_395.y * _395.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_411 = _391;
|
||||
}
|
||||
vec3 _415 = _369.xyz + (_411 * 1.0);
|
||||
vec4 _416 = vec4(_415.x, _415.y, _415.z, _369.w);
|
||||
_28 _417 = _370;
|
||||
_417._m0 = _416;
|
||||
vec2 _426 = clamp(_82 + (vec3(1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _438 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _426, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _442 = textureLod(SPIRV_Cross_Combined_1, _426, 0.0);
|
||||
vec3 _458;
|
||||
if (_442.y > 0.0)
|
||||
{
|
||||
_458 = _438 + (textureLod(SPIRV_Cross_Combined_2, _426, 0.0).xyz * clamp(_442.y * _442.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_458 = _438;
|
||||
}
|
||||
vec3 _462 = _416.xyz + (_458 * 0.75);
|
||||
vec4 _463 = vec4(_462.x, _462.y, _462.z, _416.w);
|
||||
_28 _464 = _417;
|
||||
_464._m0 = _463;
|
||||
vec2 _473 = clamp(_82 + (vec3(2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _485 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _473, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _489 = textureLod(SPIRV_Cross_Combined_1, _473, 0.0);
|
||||
vec3 _505;
|
||||
if (_489.y > 0.0)
|
||||
{
|
||||
_505 = _485 + (textureLod(SPIRV_Cross_Combined_2, _473, 0.0).xyz * clamp(_489.y * _489.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_505 = _485;
|
||||
}
|
||||
vec3 _509 = _463.xyz + (_505 * 0.5);
|
||||
vec4 _510 = vec4(_509.x, _509.y, _509.z, _463.w);
|
||||
_28 _511 = _464;
|
||||
_511._m0 = _510;
|
||||
vec2 _520 = clamp(_82 + (vec3(-1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _532 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _520, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _536 = textureLod(SPIRV_Cross_Combined_1, _520, 0.0);
|
||||
vec3 _552;
|
||||
if (_536.y > 0.0)
|
||||
{
|
||||
_552 = _532 + (textureLod(SPIRV_Cross_Combined_2, _520, 0.0).xyz * clamp(_536.y * _536.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_552 = _532;
|
||||
}
|
||||
vec3 _556 = _510.xyz + (_552 * 0.5);
|
||||
vec4 _557 = vec4(_556.x, _556.y, _556.z, _510.w);
|
||||
_28 _558 = _511;
|
||||
_558._m0 = _557;
|
||||
vec2 _567 = clamp(_82 + (vec3(0.0, 1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _579 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _567, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _583 = textureLod(SPIRV_Cross_Combined_1, _567, 0.0);
|
||||
vec3 _599;
|
||||
if (_583.y > 0.0)
|
||||
{
|
||||
_599 = _579 + (textureLod(SPIRV_Cross_Combined_2, _567, 0.0).xyz * clamp(_583.y * _583.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_599 = _579;
|
||||
}
|
||||
vec3 _603 = _557.xyz + (_599 * 0.75);
|
||||
vec4 _604 = vec4(_603.x, _603.y, _603.z, _557.w);
|
||||
_28 _605 = _558;
|
||||
_605._m0 = _604;
|
||||
vec2 _614 = clamp(_82 + (vec3(1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _626 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _614, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _630 = textureLod(SPIRV_Cross_Combined_1, _614, 0.0);
|
||||
vec3 _646;
|
||||
if (_630.y > 0.0)
|
||||
{
|
||||
_646 = _626 + (textureLod(SPIRV_Cross_Combined_2, _614, 0.0).xyz * clamp(_630.y * _630.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_646 = _626;
|
||||
}
|
||||
vec3 _650 = _604.xyz + (_646 * 0.5);
|
||||
vec4 _651 = vec4(_650.x, _650.y, _650.z, _604.w);
|
||||
_28 _652 = _605;
|
||||
_652._m0 = _651;
|
||||
vec2 _661 = clamp(_82 + (vec3(0.0, 2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _673 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _661, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _677 = textureLod(SPIRV_Cross_Combined_1, _661, 0.0);
|
||||
vec3 _693;
|
||||
if (_677.y > 0.0)
|
||||
{
|
||||
_693 = _673 + (textureLod(SPIRV_Cross_Combined_2, _661, 0.0).xyz * clamp(_677.y * _677.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_693 = _673;
|
||||
}
|
||||
vec3 _697 = _651.xyz + (_693 * 0.5);
|
||||
vec4 _698 = vec4(_697.x, _697.y, _697.z, _651.w);
|
||||
_28 _699 = _652;
|
||||
_699._m0 = _698;
|
||||
vec3 _702 = _698.xyz / vec3(((((((((((((0.0 + 0.5) + 0.5) + 0.75) + 0.5) + 0.5) + 0.75) + 1.0) + 0.75) + 0.5) + 0.5) + 0.75) + 0.5) + 0.5);
|
||||
_28 _704 = _699;
|
||||
_704._m0 = vec4(_702.x, _702.y, _702.z, _698.w);
|
||||
_28 _705 = _704;
|
||||
_705._m0.w = 1.0;
|
||||
_5 = _705._m0;
|
||||
}
|
||||
|
@ -16,10 +16,10 @@ int i;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 _42;
|
||||
i = 0;
|
||||
vec4 _56;
|
||||
_56 = _28.in_data[gl_GlobalInvocationID.x];
|
||||
vec4 _42;
|
||||
for (;;)
|
||||
{
|
||||
_42 = _28.mvp * _56;
|
||||
|
@ -16,12 +16,12 @@ uint _98;
|
||||
|
||||
void main()
|
||||
{
|
||||
int _40;
|
||||
vec4 _93;
|
||||
int _94;
|
||||
_93 = _24.in_data[gl_GlobalInvocationID.x];
|
||||
_94 = 0;
|
||||
int _48;
|
||||
int _40;
|
||||
vec4 _46;
|
||||
for (;;)
|
||||
{
|
||||
|
@ -16,8 +16,8 @@ float4 _21;
|
||||
void frag_main()
|
||||
{
|
||||
float4 _24;
|
||||
float4 _33;
|
||||
_24 = _21;
|
||||
float4 _33;
|
||||
for (;;)
|
||||
{
|
||||
if (counter == 10)
|
||||
|
@ -159,8 +159,7 @@ void vs_adjust(thread float4& dst_reg0, thread float4& dst_reg1, thread float4&
|
||||
tmp0.y = float4(dot(float4(in_pos.xyz, 1.0), v_309.vc[5])).y;
|
||||
tmp0.z = float4(dot(float4(in_pos.xyz, 1.0), v_309.vc[6])).z;
|
||||
float4 tmp1;
|
||||
float4 _359 = float4(in_tc0.xy.x, in_tc0.xy.y, tmp1.z, tmp1.w);
|
||||
tmp1 = _359;
|
||||
tmp1 = float4(in_tc0.xy.x, in_tc0.xy.y, tmp1.z, tmp1.w);
|
||||
tmp1.z = v_309.vc[15].x;
|
||||
dst_reg7.y = float4(dot(float4(tmp1.xyz, 1.0), v_309.vc[8])).y;
|
||||
dst_reg7.x = float4(dot(float4(tmp1.xyz, 1.0), v_309.vc[7])).x;
|
||||
|
@ -104,7 +104,6 @@ struct main0_out
|
||||
fragment main0_out main0(main0_in in [[stage_in]], float4 gl_FragCoord [[position]], constant CB0& _19 [[buffer(0)]], texture3d<float> LightMapTexture [[texture(0)]], sampler LightMapSampler [[sampler(0)]], sampler ShadowMapSampler [[sampler(1)]], texture2d<float> ShadowMapTexture [[texture(1)]], texturecube<float> EnvironmentMapTexture [[texture(2)]], sampler EnvironmentMapSampler [[sampler(2)]], sampler DiffuseMapSampler [[sampler(3)]], texture2d<float> DiffuseMapTexture [[texture(3)]], sampler NormalMapSampler [[sampler(4)]], texture2d<float> NormalMapTexture [[texture(4)]], texture2d<float> NormalDetailMapTexture [[texture(5)]], sampler NormalDetailMapSampler [[sampler(5)]], texture2d<float> StudsMapTexture [[texture(6)]], sampler StudsMapSampler [[sampler(6)]], sampler SpecularMapSampler [[sampler(7)]], texture2d<float> SpecularMapTexture [[texture(7)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
bool _173;
|
||||
VertexOutput _128 = _121;
|
||||
_128.HPosition = gl_FragCoord;
|
||||
VertexOutput _130 = _128;
|
||||
@ -136,6 +135,7 @@ fragment main0_out main0(main0_in in [[stage_in]], float4 gl_FragCoord [[positio
|
||||
float _163 = _146.View_Depth.w * _19.CB0.RefractionBias_FadeDistance_GlowFactor.y;
|
||||
float _165 = clamp(1.0 - _163, 0.0, 1.0);
|
||||
float2 _166 = in.IN_Uv_EdgeDistance1.xy * 1.0;
|
||||
bool _173;
|
||||
float4 _193;
|
||||
do
|
||||
{
|
||||
@ -222,16 +222,14 @@ fragment main0_out main0(main0_in in [[stage_in]], float4 gl_FragCoord [[positio
|
||||
float3 _403 = mix(_318.xyz, EnvironmentMapTexture.sample(EnvironmentMapSampler, reflect(-in.IN_View_Depth.xyz, _329)).xyz, float3(_312));
|
||||
float4 _404 = float4(_403.x, _403.y, _403.z, _318.w);
|
||||
float3 _422 = (((_19.CB0.AmbientColor + (((_19.CB0.Lamp0Color * clamp(_333, 0.0, 1.0)) + (_19.CB0.Lamp1Color * max(-_333, 0.0))) * _392)) + _368.xyz) * _404.xyz) + (_19.CB0.Lamp0Color * (((step(0.0, _333) * _306) * _392) * pow(clamp(dot(_329, normalize(_332 + normalize(in.IN_View_Depth.xyz))), 0.0, 1.0), _308)));
|
||||
float4 _423 = float4(_422.x, _422.y, _422.z, _124.w);
|
||||
float4 _425 = _423;
|
||||
float4 _425 = float4(_422.x, _422.y, _422.z, _124.w);
|
||||
_425.w = _404.w;
|
||||
float2 _435 = min(in.IN_Uv_EdgeDistance1.wz, in.IN_UvStuds_EdgeDistance2.wz);
|
||||
float _439 = min(_435.x, _435.y) / _163;
|
||||
float3 _445 = _425.xyz * clamp((clamp((_163 * _19.CB0.OutlineBrightness_ShadowInfo.x) + _19.CB0.OutlineBrightness_ShadowInfo.y, 0.0, 1.0) * (1.5 - _439)) + _439, 0.0, 1.0);
|
||||
float4 _446 = float4(_445.x, _445.y, _445.z, _425.w);
|
||||
float3 _453 = mix(_19.CB0.FogColor, _446.xyz, float3(clamp(_146.LightPosition_Fog.w, 0.0, 1.0)));
|
||||
float4 _454 = float4(_453.x, _453.y, _453.z, _446.w);
|
||||
out._entryPointOutput = _454;
|
||||
out._entryPointOutput = float4(_453.x, _453.y, _453.z, _446.w);
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -19,8 +19,8 @@ fragment main0_out main0(main0_in in [[stage_in]])
|
||||
{
|
||||
main0_out out = {};
|
||||
float4 _24;
|
||||
float4 _33;
|
||||
_24 = _21;
|
||||
float4 _33;
|
||||
for (;;)
|
||||
{
|
||||
if (in.counter == 10)
|
||||
|
321
reference/shaders-msl/asm/frag/vector-shuffle-oom.asm.frag
Normal file
321
reference/shaders-msl/asm/frag/vector-shuffle-oom.asm.frag
Normal file
@ -0,0 +1,321 @@
|
||||
#include <metal_stdlib>
|
||||
#include <simd/simd.h>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
struct _28
|
||||
{
|
||||
float4 _m0;
|
||||
};
|
||||
|
||||
struct _6
|
||||
{
|
||||
float4 _m0;
|
||||
float _m1;
|
||||
float4 _m2;
|
||||
};
|
||||
|
||||
struct _10
|
||||
{
|
||||
float3 _m0;
|
||||
packed_float3 _m1;
|
||||
float _m2;
|
||||
packed_float3 _m3;
|
||||
float _m4;
|
||||
packed_float3 _m5;
|
||||
float _m6;
|
||||
packed_float3 _m7;
|
||||
float _m8;
|
||||
packed_float3 _m9;
|
||||
float _m10;
|
||||
packed_float3 _m11;
|
||||
float _m12;
|
||||
float2 _m13;
|
||||
float2 _m14;
|
||||
packed_float3 _m15;
|
||||
float _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
float _m20;
|
||||
float4 _m21;
|
||||
float4 _m22;
|
||||
float4x4 _m23;
|
||||
float4 _m24;
|
||||
};
|
||||
|
||||
struct _18
|
||||
{
|
||||
float4x4 _m0;
|
||||
float4x4 _m1;
|
||||
float4x4 _m2;
|
||||
float4x4 _m3;
|
||||
float4 _m4;
|
||||
float4 _m5;
|
||||
float _m6;
|
||||
float _m7;
|
||||
float _m8;
|
||||
float _m9;
|
||||
packed_float3 _m10;
|
||||
float _m11;
|
||||
packed_float3 _m12;
|
||||
float _m13;
|
||||
packed_float3 _m14;
|
||||
float _m15;
|
||||
packed_float3 _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
float2 _m20;
|
||||
float2 _m21;
|
||||
float2 _m22;
|
||||
float4 _m23;
|
||||
float2 _m24;
|
||||
float2 _m25;
|
||||
float2 _m26;
|
||||
char pad27[8];
|
||||
packed_float3 _m27;
|
||||
float _m28;
|
||||
float _m29;
|
||||
float _m30;
|
||||
float _m31;
|
||||
float _m32;
|
||||
float2 _m33;
|
||||
float _m34;
|
||||
float _m35;
|
||||
float3 _m36;
|
||||
float4x4 _m37[2];
|
||||
float4 _m38[2];
|
||||
};
|
||||
|
||||
constant _28 _74 = {};
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
float4 m_5 [[color(0)]];
|
||||
};
|
||||
|
||||
fragment main0_out main0(float4 gl_FragCoord [[position]], constant _6& _7 [[buffer(0)]], texture2d<float> _8 [[texture(0)]], sampler _9 [[sampler(0)]], constant _10& _11 [[buffer(1)]], texture2d<float> _12 [[texture(1)]], sampler _13 [[sampler(1)]], texture2d<float> _14 [[texture(2)]], sampler _15 [[sampler(2)]], constant _18& _19 [[buffer(2)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
_28 _77 = _74;
|
||||
_77._m0 = float4(0.0);
|
||||
float2 _82 = gl_FragCoord.xy * _19._m23.xy;
|
||||
float4 _88 = _7._m2 * _7._m0.xyxy;
|
||||
float2 _97 = clamp(_82 + (float3(0.0, -2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _109 = _11._m5 * clamp(_8.sample(_9, _97, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _113 = _12.sample(_13, _97, level(0.0));
|
||||
float3 _129;
|
||||
if (_113.y > 0.0)
|
||||
{
|
||||
_129 = _109 + (_14.sample(_15, _97, level(0.0)).xyz * clamp(_113.y * _113.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_129 = _109;
|
||||
}
|
||||
float3 _133 = float4(0.0).xyz + (_129 * 0.5);
|
||||
float4 _134 = float4(_133.x, _133.y, _133.z, float4(0.0).w);
|
||||
_28 _135 = _77;
|
||||
_135._m0 = _134;
|
||||
float2 _144 = clamp(_82 + (float3(-1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _156 = _11._m5 * clamp(_8.sample(_9, _144, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _160 = _12.sample(_13, _144, level(0.0));
|
||||
float3 _176;
|
||||
if (_160.y > 0.0)
|
||||
{
|
||||
_176 = _156 + (_14.sample(_15, _144, level(0.0)).xyz * clamp(_160.y * _160.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_176 = _156;
|
||||
}
|
||||
float3 _180 = _134.xyz + (_176 * 0.5);
|
||||
float4 _181 = float4(_180.x, _180.y, _180.z, _134.w);
|
||||
_28 _182 = _135;
|
||||
_182._m0 = _181;
|
||||
float2 _191 = clamp(_82 + (float3(0.0, -1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _203 = _11._m5 * clamp(_8.sample(_9, _191, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _207 = _12.sample(_13, _191, level(0.0));
|
||||
float3 _223;
|
||||
if (_207.y > 0.0)
|
||||
{
|
||||
_223 = _203 + (_14.sample(_15, _191, level(0.0)).xyz * clamp(_207.y * _207.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_223 = _203;
|
||||
}
|
||||
float3 _227 = _181.xyz + (_223 * 0.75);
|
||||
float4 _228 = float4(_227.x, _227.y, _227.z, _181.w);
|
||||
_28 _229 = _182;
|
||||
_229._m0 = _228;
|
||||
float2 _238 = clamp(_82 + (float3(1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _250 = _11._m5 * clamp(_8.sample(_9, _238, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _254 = _12.sample(_13, _238, level(0.0));
|
||||
float3 _270;
|
||||
if (_254.y > 0.0)
|
||||
{
|
||||
_270 = _250 + (_14.sample(_15, _238, level(0.0)).xyz * clamp(_254.y * _254.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_270 = _250;
|
||||
}
|
||||
float3 _274 = _228.xyz + (_270 * 0.5);
|
||||
float4 _275 = float4(_274.x, _274.y, _274.z, _228.w);
|
||||
_28 _276 = _229;
|
||||
_276._m0 = _275;
|
||||
float2 _285 = clamp(_82 + (float3(-2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _297 = _11._m5 * clamp(_8.sample(_9, _285, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _301 = _12.sample(_13, _285, level(0.0));
|
||||
float3 _317;
|
||||
if (_301.y > 0.0)
|
||||
{
|
||||
_317 = _297 + (_14.sample(_15, _285, level(0.0)).xyz * clamp(_301.y * _301.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_317 = _297;
|
||||
}
|
||||
float3 _321 = _275.xyz + (_317 * 0.5);
|
||||
float4 _322 = float4(_321.x, _321.y, _321.z, _275.w);
|
||||
_28 _323 = _276;
|
||||
_323._m0 = _322;
|
||||
float2 _332 = clamp(_82 + (float3(-1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _344 = _11._m5 * clamp(_8.sample(_9, _332, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _348 = _12.sample(_13, _332, level(0.0));
|
||||
float3 _364;
|
||||
if (_348.y > 0.0)
|
||||
{
|
||||
_364 = _344 + (_14.sample(_15, _332, level(0.0)).xyz * clamp(_348.y * _348.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_364 = _344;
|
||||
}
|
||||
float3 _368 = _322.xyz + (_364 * 0.75);
|
||||
float4 _369 = float4(_368.x, _368.y, _368.z, _322.w);
|
||||
_28 _370 = _323;
|
||||
_370._m0 = _369;
|
||||
float2 _379 = clamp(_82 + (float3(0.0, 0.0, 1.0).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _391 = _11._m5 * clamp(_8.sample(_9, _379, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _395 = _12.sample(_13, _379, level(0.0));
|
||||
float3 _411;
|
||||
if (_395.y > 0.0)
|
||||
{
|
||||
_411 = _391 + (_14.sample(_15, _379, level(0.0)).xyz * clamp(_395.y * _395.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_411 = _391;
|
||||
}
|
||||
float3 _415 = _369.xyz + (_411 * 1.0);
|
||||
float4 _416 = float4(_415.x, _415.y, _415.z, _369.w);
|
||||
_28 _417 = _370;
|
||||
_417._m0 = _416;
|
||||
float2 _426 = clamp(_82 + (float3(1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _438 = _11._m5 * clamp(_8.sample(_9, _426, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _442 = _12.sample(_13, _426, level(0.0));
|
||||
float3 _458;
|
||||
if (_442.y > 0.0)
|
||||
{
|
||||
_458 = _438 + (_14.sample(_15, _426, level(0.0)).xyz * clamp(_442.y * _442.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_458 = _438;
|
||||
}
|
||||
float3 _462 = _416.xyz + (_458 * 0.75);
|
||||
float4 _463 = float4(_462.x, _462.y, _462.z, _416.w);
|
||||
_28 _464 = _417;
|
||||
_464._m0 = _463;
|
||||
float2 _473 = clamp(_82 + (float3(2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _485 = _11._m5 * clamp(_8.sample(_9, _473, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _489 = _12.sample(_13, _473, level(0.0));
|
||||
float3 _505;
|
||||
if (_489.y > 0.0)
|
||||
{
|
||||
_505 = _485 + (_14.sample(_15, _473, level(0.0)).xyz * clamp(_489.y * _489.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_505 = _485;
|
||||
}
|
||||
float3 _509 = _463.xyz + (_505 * 0.5);
|
||||
float4 _510 = float4(_509.x, _509.y, _509.z, _463.w);
|
||||
_28 _511 = _464;
|
||||
_511._m0 = _510;
|
||||
float2 _520 = clamp(_82 + (float3(-1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _532 = _11._m5 * clamp(_8.sample(_9, _520, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _536 = _12.sample(_13, _520, level(0.0));
|
||||
float3 _552;
|
||||
if (_536.y > 0.0)
|
||||
{
|
||||
_552 = _532 + (_14.sample(_15, _520, level(0.0)).xyz * clamp(_536.y * _536.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_552 = _532;
|
||||
}
|
||||
float3 _556 = _510.xyz + (_552 * 0.5);
|
||||
float4 _557 = float4(_556.x, _556.y, _556.z, _510.w);
|
||||
_28 _558 = _511;
|
||||
_558._m0 = _557;
|
||||
float2 _567 = clamp(_82 + (float3(0.0, 1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _579 = _11._m5 * clamp(_8.sample(_9, _567, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _583 = _12.sample(_13, _567, level(0.0));
|
||||
float3 _599;
|
||||
if (_583.y > 0.0)
|
||||
{
|
||||
_599 = _579 + (_14.sample(_15, _567, level(0.0)).xyz * clamp(_583.y * _583.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_599 = _579;
|
||||
}
|
||||
float3 _603 = _557.xyz + (_599 * 0.75);
|
||||
float4 _604 = float4(_603.x, _603.y, _603.z, _557.w);
|
||||
_28 _605 = _558;
|
||||
_605._m0 = _604;
|
||||
float2 _614 = clamp(_82 + (float3(1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _626 = _11._m5 * clamp(_8.sample(_9, _614, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _630 = _12.sample(_13, _614, level(0.0));
|
||||
float3 _646;
|
||||
if (_630.y > 0.0)
|
||||
{
|
||||
_646 = _626 + (_14.sample(_15, _614, level(0.0)).xyz * clamp(_630.y * _630.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_646 = _626;
|
||||
}
|
||||
float3 _650 = _604.xyz + (_646 * 0.5);
|
||||
float4 _651 = float4(_650.x, _650.y, _650.z, _604.w);
|
||||
_28 _652 = _605;
|
||||
_652._m0 = _651;
|
||||
float2 _661 = clamp(_82 + (float3(0.0, 2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
float3 _673 = _11._m5 * clamp(_8.sample(_9, _661, level(0.0)).w * _7._m1, 0.0, 1.0);
|
||||
float4 _677 = _12.sample(_13, _661, level(0.0));
|
||||
float3 _693;
|
||||
if (_677.y > 0.0)
|
||||
{
|
||||
_693 = _673 + (_14.sample(_15, _661, level(0.0)).xyz * clamp(_677.y * _677.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_693 = _673;
|
||||
}
|
||||
float3 _697 = _651.xyz + (_693 * 0.5);
|
||||
float4 _698 = float4(_697.x, _697.y, _697.z, _651.w);
|
||||
_28 _699 = _652;
|
||||
_699._m0 = _698;
|
||||
float3 _702 = _698.xyz / float3(((((((((((((0.0 + 0.5) + 0.5) + 0.75) + 0.5) + 0.5) + 0.75) + 1.0) + 0.75) + 0.5) + 0.5) + 0.75) + 0.5) + 0.5);
|
||||
_28 _704 = _699;
|
||||
_704._m0 = float4(_702.x, _702.y, _702.z, _698.w);
|
||||
_28 _705 = _704;
|
||||
_705._m0.w = 1.0;
|
||||
out.m_5 = _705._m0;
|
||||
return out;
|
||||
}
|
||||
|
@ -97,7 +97,6 @@ vec4 _297;
|
||||
|
||||
void main()
|
||||
{
|
||||
bool _173;
|
||||
VertexOutput _128 = _121;
|
||||
_128.HPosition = gl_FragCoord;
|
||||
VertexOutput _130 = _128;
|
||||
@ -129,6 +128,7 @@ void main()
|
||||
float _163 = _146.View_Depth.w * _19.CB0.RefractionBias_FadeDistance_GlowFactor.y;
|
||||
float _165 = clamp(1.0 - _163, 0.0, 1.0);
|
||||
vec2 _166 = IN_Uv_EdgeDistance1.xy * 1.0;
|
||||
bool _173;
|
||||
vec4 _193;
|
||||
do
|
||||
{
|
||||
|
@ -8,8 +8,8 @@ vec4 _21;
|
||||
void main()
|
||||
{
|
||||
vec4 _24;
|
||||
vec4 _33;
|
||||
_24 = _21;
|
||||
vec4 _33;
|
||||
for (;;)
|
||||
{
|
||||
if (counter == 10)
|
||||
|
316
reference/shaders/asm/frag/vector-shuffle-oom.asm.frag
Normal file
316
reference/shaders/asm/frag/vector-shuffle-oom.asm.frag
Normal file
@ -0,0 +1,316 @@
|
||||
#version 450
|
||||
|
||||
struct _28
|
||||
{
|
||||
vec4 _m0;
|
||||
};
|
||||
|
||||
layout(binding = 0, std140) uniform _6_7
|
||||
{
|
||||
vec4 _m0;
|
||||
float _m1;
|
||||
vec4 _m2;
|
||||
} _7;
|
||||
|
||||
layout(binding = 2, std140) uniform _10_11
|
||||
{
|
||||
vec3 _m0;
|
||||
vec3 _m1;
|
||||
float _m2;
|
||||
vec3 _m3;
|
||||
float _m4;
|
||||
vec3 _m5;
|
||||
float _m6;
|
||||
vec3 _m7;
|
||||
float _m8;
|
||||
vec3 _m9;
|
||||
float _m10;
|
||||
vec3 _m11;
|
||||
float _m12;
|
||||
vec2 _m13;
|
||||
vec2 _m14;
|
||||
vec3 _m15;
|
||||
float _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
float _m20;
|
||||
vec4 _m21;
|
||||
vec4 _m22;
|
||||
layout(row_major) mat4 _m23;
|
||||
vec4 _m24;
|
||||
} _11;
|
||||
|
||||
layout(binding = 1, std140) uniform _18_19
|
||||
{
|
||||
layout(row_major) mat4 _m0;
|
||||
layout(row_major) mat4 _m1;
|
||||
layout(row_major) mat4 _m2;
|
||||
layout(row_major) mat4 _m3;
|
||||
vec4 _m4;
|
||||
vec4 _m5;
|
||||
float _m6;
|
||||
float _m7;
|
||||
float _m8;
|
||||
float _m9;
|
||||
vec3 _m10;
|
||||
float _m11;
|
||||
vec3 _m12;
|
||||
float _m13;
|
||||
vec3 _m14;
|
||||
float _m15;
|
||||
vec3 _m16;
|
||||
float _m17;
|
||||
float _m18;
|
||||
float _m19;
|
||||
vec2 _m20;
|
||||
vec2 _m21;
|
||||
vec2 _m22;
|
||||
vec4 _m23;
|
||||
vec2 _m24;
|
||||
vec2 _m25;
|
||||
vec2 _m26;
|
||||
vec3 _m27;
|
||||
float _m28;
|
||||
float _m29;
|
||||
float _m30;
|
||||
float _m31;
|
||||
float _m32;
|
||||
vec2 _m33;
|
||||
float _m34;
|
||||
float _m35;
|
||||
vec3 _m36;
|
||||
layout(row_major) mat4 _m37[2];
|
||||
vec4 _m38[2];
|
||||
} _19;
|
||||
|
||||
uniform sampler2D SPIRV_Cross_Combined;
|
||||
uniform sampler2D SPIRV_Cross_Combined_1;
|
||||
uniform sampler2D SPIRV_Cross_Combined_2;
|
||||
|
||||
layout(location = 0) out vec4 _5;
|
||||
|
||||
_28 _74;
|
||||
|
||||
void main()
|
||||
{
|
||||
_28 _77 = _74;
|
||||
_77._m0 = vec4(0.0);
|
||||
vec2 _82 = gl_FragCoord.xy * _19._m23.xy;
|
||||
vec4 _88 = _7._m2 * _7._m0.xyxy;
|
||||
vec2 _97 = clamp(_82 + (vec3(0.0, -2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _109 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _97, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _113 = textureLod(SPIRV_Cross_Combined_1, _97, 0.0);
|
||||
vec3 _129;
|
||||
if (_113.y > 0.0)
|
||||
{
|
||||
_129 = _109 + (textureLod(SPIRV_Cross_Combined_2, _97, 0.0).xyz * clamp(_113.y * _113.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_129 = _109;
|
||||
}
|
||||
vec3 _133 = vec4(0.0).xyz + (_129 * 0.5);
|
||||
vec4 _134 = vec4(_133.x, _133.y, _133.z, vec4(0.0).w);
|
||||
_28 _135 = _77;
|
||||
_135._m0 = _134;
|
||||
vec2 _144 = clamp(_82 + (vec3(-1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _156 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _144, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _160 = textureLod(SPIRV_Cross_Combined_1, _144, 0.0);
|
||||
vec3 _176;
|
||||
if (_160.y > 0.0)
|
||||
{
|
||||
_176 = _156 + (textureLod(SPIRV_Cross_Combined_2, _144, 0.0).xyz * clamp(_160.y * _160.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_176 = _156;
|
||||
}
|
||||
vec3 _180 = _134.xyz + (_176 * 0.5);
|
||||
vec4 _181 = vec4(_180.x, _180.y, _180.z, _134.w);
|
||||
_28 _182 = _135;
|
||||
_182._m0 = _181;
|
||||
vec2 _191 = clamp(_82 + (vec3(0.0, -1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _203 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _191, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _207 = textureLod(SPIRV_Cross_Combined_1, _191, 0.0);
|
||||
vec3 _223;
|
||||
if (_207.y > 0.0)
|
||||
{
|
||||
_223 = _203 + (textureLod(SPIRV_Cross_Combined_2, _191, 0.0).xyz * clamp(_207.y * _207.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_223 = _203;
|
||||
}
|
||||
vec3 _227 = _181.xyz + (_223 * 0.75);
|
||||
vec4 _228 = vec4(_227.x, _227.y, _227.z, _181.w);
|
||||
_28 _229 = _182;
|
||||
_229._m0 = _228;
|
||||
vec2 _238 = clamp(_82 + (vec3(1.0, -1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _250 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _238, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _254 = textureLod(SPIRV_Cross_Combined_1, _238, 0.0);
|
||||
vec3 _270;
|
||||
if (_254.y > 0.0)
|
||||
{
|
||||
_270 = _250 + (textureLod(SPIRV_Cross_Combined_2, _238, 0.0).xyz * clamp(_254.y * _254.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_270 = _250;
|
||||
}
|
||||
vec3 _274 = _228.xyz + (_270 * 0.5);
|
||||
vec4 _275 = vec4(_274.x, _274.y, _274.z, _228.w);
|
||||
_28 _276 = _229;
|
||||
_276._m0 = _275;
|
||||
vec2 _285 = clamp(_82 + (vec3(-2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _297 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _285, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _301 = textureLod(SPIRV_Cross_Combined_1, _285, 0.0);
|
||||
vec3 _317;
|
||||
if (_301.y > 0.0)
|
||||
{
|
||||
_317 = _297 + (textureLod(SPIRV_Cross_Combined_2, _285, 0.0).xyz * clamp(_301.y * _301.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_317 = _297;
|
||||
}
|
||||
vec3 _321 = _275.xyz + (_317 * 0.5);
|
||||
vec4 _322 = vec4(_321.x, _321.y, _321.z, _275.w);
|
||||
_28 _323 = _276;
|
||||
_323._m0 = _322;
|
||||
vec2 _332 = clamp(_82 + (vec3(-1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _344 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _332, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _348 = textureLod(SPIRV_Cross_Combined_1, _332, 0.0);
|
||||
vec3 _364;
|
||||
if (_348.y > 0.0)
|
||||
{
|
||||
_364 = _344 + (textureLod(SPIRV_Cross_Combined_2, _332, 0.0).xyz * clamp(_348.y * _348.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_364 = _344;
|
||||
}
|
||||
vec3 _368 = _322.xyz + (_364 * 0.75);
|
||||
vec4 _369 = vec4(_368.x, _368.y, _368.z, _322.w);
|
||||
_28 _370 = _323;
|
||||
_370._m0 = _369;
|
||||
vec2 _379 = clamp(_82 + (vec3(0.0, 0.0, 1.0).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _391 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _379, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _395 = textureLod(SPIRV_Cross_Combined_1, _379, 0.0);
|
||||
vec3 _411;
|
||||
if (_395.y > 0.0)
|
||||
{
|
||||
_411 = _391 + (textureLod(SPIRV_Cross_Combined_2, _379, 0.0).xyz * clamp(_395.y * _395.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_411 = _391;
|
||||
}
|
||||
vec3 _415 = _369.xyz + (_411 * 1.0);
|
||||
vec4 _416 = vec4(_415.x, _415.y, _415.z, _369.w);
|
||||
_28 _417 = _370;
|
||||
_417._m0 = _416;
|
||||
vec2 _426 = clamp(_82 + (vec3(1.0, 0.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _438 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _426, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _442 = textureLod(SPIRV_Cross_Combined_1, _426, 0.0);
|
||||
vec3 _458;
|
||||
if (_442.y > 0.0)
|
||||
{
|
||||
_458 = _438 + (textureLod(SPIRV_Cross_Combined_2, _426, 0.0).xyz * clamp(_442.y * _442.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_458 = _438;
|
||||
}
|
||||
vec3 _462 = _416.xyz + (_458 * 0.75);
|
||||
vec4 _463 = vec4(_462.x, _462.y, _462.z, _416.w);
|
||||
_28 _464 = _417;
|
||||
_464._m0 = _463;
|
||||
vec2 _473 = clamp(_82 + (vec3(2.0, 0.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _485 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _473, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _489 = textureLod(SPIRV_Cross_Combined_1, _473, 0.0);
|
||||
vec3 _505;
|
||||
if (_489.y > 0.0)
|
||||
{
|
||||
_505 = _485 + (textureLod(SPIRV_Cross_Combined_2, _473, 0.0).xyz * clamp(_489.y * _489.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_505 = _485;
|
||||
}
|
||||
vec3 _509 = _463.xyz + (_505 * 0.5);
|
||||
vec4 _510 = vec4(_509.x, _509.y, _509.z, _463.w);
|
||||
_28 _511 = _464;
|
||||
_511._m0 = _510;
|
||||
vec2 _520 = clamp(_82 + (vec3(-1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _532 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _520, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _536 = textureLod(SPIRV_Cross_Combined_1, _520, 0.0);
|
||||
vec3 _552;
|
||||
if (_536.y > 0.0)
|
||||
{
|
||||
_552 = _532 + (textureLod(SPIRV_Cross_Combined_2, _520, 0.0).xyz * clamp(_536.y * _536.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_552 = _532;
|
||||
}
|
||||
vec3 _556 = _510.xyz + (_552 * 0.5);
|
||||
vec4 _557 = vec4(_556.x, _556.y, _556.z, _510.w);
|
||||
_28 _558 = _511;
|
||||
_558._m0 = _557;
|
||||
vec2 _567 = clamp(_82 + (vec3(0.0, 1.0, 0.75).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _579 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _567, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _583 = textureLod(SPIRV_Cross_Combined_1, _567, 0.0);
|
||||
vec3 _599;
|
||||
if (_583.y > 0.0)
|
||||
{
|
||||
_599 = _579 + (textureLod(SPIRV_Cross_Combined_2, _567, 0.0).xyz * clamp(_583.y * _583.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_599 = _579;
|
||||
}
|
||||
vec3 _603 = _557.xyz + (_599 * 0.75);
|
||||
vec4 _604 = vec4(_603.x, _603.y, _603.z, _557.w);
|
||||
_28 _605 = _558;
|
||||
_605._m0 = _604;
|
||||
vec2 _614 = clamp(_82 + (vec3(1.0, 1.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _626 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _614, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _630 = textureLod(SPIRV_Cross_Combined_1, _614, 0.0);
|
||||
vec3 _646;
|
||||
if (_630.y > 0.0)
|
||||
{
|
||||
_646 = _626 + (textureLod(SPIRV_Cross_Combined_2, _614, 0.0).xyz * clamp(_630.y * _630.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_646 = _626;
|
||||
}
|
||||
vec3 _650 = _604.xyz + (_646 * 0.5);
|
||||
vec4 _651 = vec4(_650.x, _650.y, _650.z, _604.w);
|
||||
_28 _652 = _605;
|
||||
_652._m0 = _651;
|
||||
vec2 _661 = clamp(_82 + (vec3(0.0, 2.0, 0.5).xy * _7._m0.xy), _88.xy, _88.zw);
|
||||
vec3 _673 = _11._m5 * clamp(textureLod(SPIRV_Cross_Combined, _661, 0.0).w * _7._m1, 0.0, 1.0);
|
||||
vec4 _677 = textureLod(SPIRV_Cross_Combined_1, _661, 0.0);
|
||||
vec3 _693;
|
||||
if (_677.y > 0.0)
|
||||
{
|
||||
_693 = _673 + (textureLod(SPIRV_Cross_Combined_2, _661, 0.0).xyz * clamp(_677.y * _677.z, 0.0, 1.0));
|
||||
}
|
||||
else
|
||||
{
|
||||
_693 = _673;
|
||||
}
|
||||
vec3 _697 = _651.xyz + (_693 * 0.5);
|
||||
vec4 _698 = vec4(_697.x, _697.y, _697.z, _651.w);
|
||||
_28 _699 = _652;
|
||||
_699._m0 = _698;
|
||||
vec3 _702 = _698.xyz / vec3(((((((((((((0.0 + 0.5) + 0.5) + 0.75) + 0.5) + 0.5) + 0.75) + 1.0) + 0.75) + 0.5) + 0.5) + 0.75) + 0.5) + 0.5);
|
||||
_28 _704 = _699;
|
||||
_704._m0 = vec4(_702.x, _702.y, _702.z, _698.w);
|
||||
_28 _705 = _704;
|
||||
_705._m0.w = 1.0;
|
||||
_5 = _705._m0;
|
||||
}
|
||||
|
886
shaders-msl/asm/frag/vector-shuffle-oom.asm.frag
Normal file
886
shaders-msl/asm/frag/vector-shuffle-oom.asm.frag
Normal file
@ -0,0 +1,886 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos Glslang Reference Front End; 2
|
||||
; Bound: 25007
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %5663 "main" %5800 %gl_FragCoord %4317
|
||||
OpExecutionMode %5663 OriginUpperLeft
|
||||
OpMemberDecorate %_struct_1116 0 Offset 0
|
||||
OpMemberDecorate %_struct_1116 1 Offset 16
|
||||
OpMemberDecorate %_struct_1116 2 Offset 32
|
||||
OpDecorate %_struct_1116 Block
|
||||
OpDecorate %22044 DescriptorSet 0
|
||||
OpDecorate %22044 Binding 0
|
||||
OpDecorate %5785 DescriptorSet 0
|
||||
OpDecorate %5785 Binding 140
|
||||
OpDecorate %5688 DescriptorSet 0
|
||||
OpDecorate %5688 Binding 60
|
||||
OpMemberDecorate %_struct_994 0 Offset 0
|
||||
OpMemberDecorate %_struct_994 1 Offset 16
|
||||
OpMemberDecorate %_struct_994 2 Offset 28
|
||||
OpMemberDecorate %_struct_994 3 Offset 32
|
||||
OpMemberDecorate %_struct_994 4 Offset 44
|
||||
OpMemberDecorate %_struct_994 5 Offset 48
|
||||
OpMemberDecorate %_struct_994 6 Offset 60
|
||||
OpMemberDecorate %_struct_994 7 Offset 64
|
||||
OpMemberDecorate %_struct_994 8 Offset 76
|
||||
OpMemberDecorate %_struct_994 9 Offset 80
|
||||
OpMemberDecorate %_struct_994 10 Offset 92
|
||||
OpMemberDecorate %_struct_994 11 Offset 96
|
||||
OpMemberDecorate %_struct_994 12 Offset 108
|
||||
OpMemberDecorate %_struct_994 13 Offset 112
|
||||
OpMemberDecorate %_struct_994 14 Offset 120
|
||||
OpMemberDecorate %_struct_994 15 Offset 128
|
||||
OpMemberDecorate %_struct_994 16 Offset 140
|
||||
OpMemberDecorate %_struct_994 17 Offset 144
|
||||
OpMemberDecorate %_struct_994 18 Offset 148
|
||||
OpMemberDecorate %_struct_994 19 Offset 152
|
||||
OpMemberDecorate %_struct_994 20 Offset 156
|
||||
OpMemberDecorate %_struct_994 21 Offset 160
|
||||
OpMemberDecorate %_struct_994 22 Offset 176
|
||||
OpMemberDecorate %_struct_994 23 RowMajor
|
||||
OpMemberDecorate %_struct_994 23 Offset 192
|
||||
OpMemberDecorate %_struct_994 23 MatrixStride 16
|
||||
OpMemberDecorate %_struct_994 24 Offset 256
|
||||
OpDecorate %_struct_994 Block
|
||||
OpDecorate %12348 DescriptorSet 0
|
||||
OpDecorate %12348 Binding 2
|
||||
OpDecorate %3312 DescriptorSet 0
|
||||
OpDecorate %3312 Binding 142
|
||||
OpDecorate %4646 DescriptorSet 0
|
||||
OpDecorate %4646 Binding 62
|
||||
OpDecorate %4862 DescriptorSet 0
|
||||
OpDecorate %4862 Binding 141
|
||||
OpDecorate %3594 DescriptorSet 0
|
||||
OpDecorate %3594 Binding 61
|
||||
OpDecorate %_arr_mat4v4float_uint_2 ArrayStride 64
|
||||
OpDecorate %_arr_v4float_uint_2 ArrayStride 16
|
||||
OpMemberDecorate %_struct_408 0 RowMajor
|
||||
OpMemberDecorate %_struct_408 0 Offset 0
|
||||
OpMemberDecorate %_struct_408 0 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 1 RowMajor
|
||||
OpMemberDecorate %_struct_408 1 Offset 64
|
||||
OpMemberDecorate %_struct_408 1 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 2 RowMajor
|
||||
OpMemberDecorate %_struct_408 2 Offset 128
|
||||
OpMemberDecorate %_struct_408 2 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 3 RowMajor
|
||||
OpMemberDecorate %_struct_408 3 Offset 192
|
||||
OpMemberDecorate %_struct_408 3 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 4 Offset 256
|
||||
OpMemberDecorate %_struct_408 5 Offset 272
|
||||
OpMemberDecorate %_struct_408 6 Offset 288
|
||||
OpMemberDecorate %_struct_408 7 Offset 292
|
||||
OpMemberDecorate %_struct_408 8 Offset 296
|
||||
OpMemberDecorate %_struct_408 9 Offset 300
|
||||
OpMemberDecorate %_struct_408 10 Offset 304
|
||||
OpMemberDecorate %_struct_408 11 Offset 316
|
||||
OpMemberDecorate %_struct_408 12 Offset 320
|
||||
OpMemberDecorate %_struct_408 13 Offset 332
|
||||
OpMemberDecorate %_struct_408 14 Offset 336
|
||||
OpMemberDecorate %_struct_408 15 Offset 348
|
||||
OpMemberDecorate %_struct_408 16 Offset 352
|
||||
OpMemberDecorate %_struct_408 17 Offset 364
|
||||
OpMemberDecorate %_struct_408 18 Offset 368
|
||||
OpMemberDecorate %_struct_408 19 Offset 372
|
||||
OpMemberDecorate %_struct_408 20 Offset 376
|
||||
OpMemberDecorate %_struct_408 21 Offset 384
|
||||
OpMemberDecorate %_struct_408 22 Offset 392
|
||||
OpMemberDecorate %_struct_408 23 Offset 400
|
||||
OpMemberDecorate %_struct_408 24 Offset 416
|
||||
OpMemberDecorate %_struct_408 25 Offset 424
|
||||
OpMemberDecorate %_struct_408 26 Offset 432
|
||||
OpMemberDecorate %_struct_408 27 Offset 448
|
||||
OpMemberDecorate %_struct_408 28 Offset 460
|
||||
OpMemberDecorate %_struct_408 29 Offset 464
|
||||
OpMemberDecorate %_struct_408 30 Offset 468
|
||||
OpMemberDecorate %_struct_408 31 Offset 472
|
||||
OpMemberDecorate %_struct_408 32 Offset 476
|
||||
OpMemberDecorate %_struct_408 33 Offset 480
|
||||
OpMemberDecorate %_struct_408 34 Offset 488
|
||||
OpMemberDecorate %_struct_408 35 Offset 492
|
||||
OpMemberDecorate %_struct_408 36 Offset 496
|
||||
OpMemberDecorate %_struct_408 37 RowMajor
|
||||
OpMemberDecorate %_struct_408 37 Offset 512
|
||||
OpMemberDecorate %_struct_408 37 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 38 Offset 640
|
||||
OpDecorate %_struct_408 Block
|
||||
OpDecorate %15259 DescriptorSet 0
|
||||
OpDecorate %15259 Binding 1
|
||||
OpDecorate %5800 Location 0
|
||||
OpDecorate %gl_FragCoord BuiltIn FragCoord
|
||||
OpDecorate %4317 Location 0
|
||||
OpMemberDecorate %_struct_1395 0 Offset 0
|
||||
OpMemberDecorate %_struct_1395 1 Offset 16
|
||||
OpMemberDecorate %_struct_1395 2 Offset 32
|
||||
OpMemberDecorate %_struct_1395 3 Offset 40
|
||||
OpMemberDecorate %_struct_1395 4 Offset 48
|
||||
OpMemberDecorate %_struct_1395 5 Offset 60
|
||||
OpMemberDecorate %_struct_1395 6 Offset 64
|
||||
OpMemberDecorate %_struct_1395 7 Offset 76
|
||||
OpMemberDecorate %_struct_1395 8 Offset 80
|
||||
OpMemberDecorate %_struct_1395 9 Offset 96
|
||||
OpMemberDecorate %_struct_1395 10 Offset 112
|
||||
OpMemberDecorate %_struct_1395 11 Offset 128
|
||||
OpMemberDecorate %_struct_1395 12 Offset 140
|
||||
OpMemberDecorate %_struct_1395 13 Offset 144
|
||||
OpMemberDecorate %_struct_1395 14 Offset 156
|
||||
OpMemberDecorate %_struct_1395 15 Offset 160
|
||||
OpMemberDecorate %_struct_1395 16 Offset 176
|
||||
OpMemberDecorate %_struct_1395 17 Offset 192
|
||||
OpMemberDecorate %_struct_1395 18 Offset 204
|
||||
OpMemberDecorate %_struct_1395 19 Offset 208
|
||||
OpMemberDecorate %_struct_1395 20 Offset 224
|
||||
OpDecorate %_struct_1395 Block
|
||||
OpMemberDecorate %_struct_1018 0 Offset 0
|
||||
OpDecorate %_struct_1018 Block
|
||||
%void = OpTypeVoid
|
||||
%1282 = OpTypeFunction %void
|
||||
%float = OpTypeFloat 32
|
||||
%v2float = OpTypeVector %float 2
|
||||
%v4float = OpTypeVector %float 4
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_struct_1017 = OpTypeStruct %v4float
|
||||
%_struct_1116 = OpTypeStruct %v4float %float %v4float
|
||||
%_ptr_Uniform__struct_1116 = OpTypePointer Uniform %_struct_1116
|
||||
%22044 = OpVariable %_ptr_Uniform__struct_1116 Uniform
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
|
||||
%150 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_150 = OpTypePointer UniformConstant %150
|
||||
%5785 = OpVariable %_ptr_UniformConstant_150 UniformConstant
|
||||
%508 = OpTypeSampler
|
||||
%_ptr_UniformConstant_508 = OpTypePointer UniformConstant %508
|
||||
%5688 = OpVariable %_ptr_UniformConstant_508 UniformConstant
|
||||
%510 = OpTypeSampledImage %150
|
||||
%float_0 = OpConstant %float 0
|
||||
%uint = OpTypeInt 32 0
|
||||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
||||
%float_1 = OpConstant %float 1
|
||||
%mat4v4float = OpTypeMatrix %v4float 4
|
||||
%_struct_994 = OpTypeStruct %v3float %v3float %float %v3float %float %v3float %float %v3float %float %v3float %float %v3float %float %v2float %v2float %v3float %float %float %float %float %float %v4float %v4float %mat4v4float %v4float
|
||||
%_ptr_Uniform__struct_994 = OpTypePointer Uniform %_struct_994
|
||||
%12348 = OpVariable %_ptr_Uniform__struct_994 Uniform
|
||||
%int_5 = OpConstant %int 5
|
||||
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
|
||||
%3312 = OpVariable %_ptr_UniformConstant_150 UniformConstant
|
||||
%4646 = OpVariable %_ptr_UniformConstant_508 UniformConstant
|
||||
%bool = OpTypeBool
|
||||
%4862 = OpVariable %_ptr_UniformConstant_150 UniformConstant
|
||||
%3594 = OpVariable %_ptr_UniformConstant_508 UniformConstant
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%2938 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%_arr_mat4v4float_uint_2 = OpTypeArray %mat4v4float %uint_2
|
||||
%_arr_v4float_uint_2 = OpTypeArray %v4float %uint_2
|
||||
%_struct_408 = OpTypeStruct %mat4v4float %mat4v4float %mat4v4float %mat4v4float %v4float %v4float %float %float %float %float %v3float %float %v3float %float %v3float %float %v3float %float %float %float %v2float %v2float %v2float %v4float %v2float %v2float %v2float %v3float %float %float %float %float %float %v2float %float %float %v3float %_arr_mat4v4float_uint_2 %_arr_v4float_uint_2
|
||||
%_ptr_Uniform__struct_408 = OpTypePointer Uniform %_struct_408
|
||||
%15259 = OpVariable %_ptr_Uniform__struct_408 Uniform
|
||||
%int_23 = OpConstant %int 23
|
||||
%int_2 = OpConstant %int 2
|
||||
%float_n2 = OpConstant %float -2
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%1196 = OpConstantComposite %v3float %float_0 %float_n2 %float_0_5
|
||||
%float_n1 = OpConstant %float -1
|
||||
%836 = OpConstantComposite %v3float %float_n1 %float_n1 %float_0_5
|
||||
%float_0_75 = OpConstant %float 0.75
|
||||
%1367 = OpConstantComposite %v3float %float_0 %float_n1 %float_0_75
|
||||
%141 = OpConstantComposite %v3float %float_1 %float_n1 %float_0_5
|
||||
%38 = OpConstantComposite %v3float %float_n2 %float_0 %float_0_5
|
||||
%95 = OpConstantComposite %v3float %float_n1 %float_0 %float_0_75
|
||||
%626 = OpConstantComposite %v3float %float_0 %float_0 %float_1
|
||||
%2411 = OpConstantComposite %v3float %float_1 %float_0 %float_0_75
|
||||
%float_2 = OpConstant %float 2
|
||||
%2354 = OpConstantComposite %v3float %float_2 %float_0 %float_0_5
|
||||
%837 = OpConstantComposite %v3float %float_n1 %float_1 %float_0_5
|
||||
%1368 = OpConstantComposite %v3float %float_0 %float_1 %float_0_75
|
||||
%142 = OpConstantComposite %v3float %float_1 %float_1 %float_0_5
|
||||
%1197 = OpConstantComposite %v3float %float_0 %float_2 %float_0_5
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%5800 = OpVariable %_ptr_Input_v2float Input
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%4317 = OpVariable %_ptr_Output_v4float Output
|
||||
%_struct_1395 = OpTypeStruct %v4float %v4float %v2float %v2float %v3float %float %v3float %float %v4float %v4float %v4float %v3float %float %v3float %float %v3float %v4float %v3float %float %v3float %v2float
|
||||
%_struct_1018 = OpTypeStruct %v4float
|
||||
%10264 = OpUndef %_struct_1017
|
||||
%5663 = OpFunction %void None %1282
|
||||
%25006 = OpLabel
|
||||
%17463 = OpLoad %v4float %gl_FragCoord
|
||||
%13863 = OpCompositeInsert %_struct_1017 %2938 %10264 0
|
||||
%22969 = OpVectorShuffle %v2float %17463 %17463 0 1
|
||||
%13206 = OpAccessChain %_ptr_Uniform_v4float %15259 %int_23
|
||||
%10343 = OpLoad %v4float %13206
|
||||
%7422 = OpVectorShuffle %v2float %10343 %10343 0 1
|
||||
%19927 = OpFMul %v2float %22969 %7422
|
||||
%18174 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_2
|
||||
%16206 = OpLoad %v4float %18174
|
||||
%20420 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%21354 = OpLoad %v4float %20420
|
||||
%7688 = OpVectorShuffle %v4float %21354 %21354 0 1 0 1
|
||||
%17581 = OpFMul %v4float %16206 %7688
|
||||
%10673 = OpVectorShuffle %v2float %1196 %1196 0 1
|
||||
%18824 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10344 = OpLoad %v4float %18824
|
||||
%8638 = OpVectorShuffle %v2float %10344 %10344 0 1
|
||||
%9197 = OpFMul %v2float %10673 %8638
|
||||
%18505 = OpFAdd %v2float %19927 %9197
|
||||
%7011 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21058 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13149 = OpExtInst %v2float %1 FClamp %18505 %7011 %21058
|
||||
%23584 = OpLoad %150 %5785
|
||||
%10339 = OpLoad %508 %5688
|
||||
%12147 = OpSampledImage %510 %23584 %10339
|
||||
%15371 = OpImageSampleExplicitLod %v4float %12147 %13149 Lod %float_0
|
||||
%15266 = OpCompositeExtract %float %15371 3
|
||||
%12116 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12972 = OpLoad %float %12116
|
||||
%15710 = OpFMul %float %15266 %12972
|
||||
%15279 = OpExtInst %float %1 FClamp %15710 %float_0 %float_1
|
||||
%22213 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11756 = OpLoad %v3float %22213
|
||||
%12103 = OpVectorTimesScalar %v3float %11756 %15279
|
||||
%15516 = OpLoad %150 %3312
|
||||
%24569 = OpLoad %508 %4646
|
||||
%12148 = OpSampledImage %510 %15516 %24569
|
||||
%17670 = OpImageSampleExplicitLod %v4float %12148 %13149 Lod %float_0
|
||||
%16938 = OpCompositeExtract %float %17670 1
|
||||
%14185 = OpFOrdGreaterThan %bool %16938 %float_0
|
||||
OpSelectionMerge %22307 DontFlatten
|
||||
OpBranchConditional %14185 %12821 %22307
|
||||
%12821 = OpLabel
|
||||
%13239 = OpLoad %150 %4862
|
||||
%19960 = OpLoad %508 %3594
|
||||
%12149 = OpSampledImage %510 %13239 %19960
|
||||
%15675 = OpImageSampleExplicitLod %v4float %12149 %13149 Lod %float_0
|
||||
%13866 = OpCompositeExtract %float %17670 1
|
||||
%12427 = OpCompositeExtract %float %17670 2
|
||||
%23300 = OpFMul %float %13866 %12427
|
||||
%17612 = OpExtInst %float %1 FClamp %23300 %float_0 %float_1
|
||||
%20291 = OpVectorShuffle %v3float %15675 %15675 0 1 2
|
||||
%11186 = OpVectorTimesScalar %v3float %20291 %17612
|
||||
%15293 = OpFAdd %v3float %12103 %11186
|
||||
OpBranch %22307
|
||||
%22307 = OpLabel
|
||||
%7719 = OpPhi %v3float %12103 %25006 %15293 %12821
|
||||
%23399 = OpVectorTimesScalar %v3float %7719 %float_0_5
|
||||
%9339 = OpFAdd %float %float_0 %float_0_5
|
||||
%16235 = OpVectorShuffle %v3float %2938 %2938 0 1 2
|
||||
%22177 = OpFAdd %v3float %16235 %23399
|
||||
%15527 = OpVectorShuffle %v4float %2938 %22177 4 5 6 3
|
||||
%6434 = OpCompositeInsert %_struct_1017 %15527 %13863 0
|
||||
%24572 = OpVectorShuffle %v2float %836 %836 0 1
|
||||
%13207 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10345 = OpLoad %v4float %13207
|
||||
%8639 = OpVectorShuffle %v2float %10345 %10345 0 1
|
||||
%9198 = OpFMul %v2float %24572 %8639
|
||||
%18506 = OpFAdd %v2float %19927 %9198
|
||||
%7012 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21059 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13150 = OpExtInst %v2float %1 FClamp %18506 %7012 %21059
|
||||
%23585 = OpLoad %150 %5785
|
||||
%10340 = OpLoad %508 %5688
|
||||
%12150 = OpSampledImage %510 %23585 %10340
|
||||
%15372 = OpImageSampleExplicitLod %v4float %12150 %13150 Lod %float_0
|
||||
%15267 = OpCompositeExtract %float %15372 3
|
||||
%12117 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12973 = OpLoad %float %12117
|
||||
%15711 = OpFMul %float %15267 %12973
|
||||
%15280 = OpExtInst %float %1 FClamp %15711 %float_0 %float_1
|
||||
%22214 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11757 = OpLoad %v3float %22214
|
||||
%12104 = OpVectorTimesScalar %v3float %11757 %15280
|
||||
%15517 = OpLoad %150 %3312
|
||||
%24570 = OpLoad %508 %4646
|
||||
%12151 = OpSampledImage %510 %15517 %24570
|
||||
%17671 = OpImageSampleExplicitLod %v4float %12151 %13150 Lod %float_0
|
||||
%16939 = OpCompositeExtract %float %17671 1
|
||||
%14186 = OpFOrdGreaterThan %bool %16939 %float_0
|
||||
OpSelectionMerge %22308 DontFlatten
|
||||
OpBranchConditional %14186 %12822 %22308
|
||||
%12822 = OpLabel
|
||||
%13240 = OpLoad %150 %4862
|
||||
%19961 = OpLoad %508 %3594
|
||||
%12152 = OpSampledImage %510 %13240 %19961
|
||||
%15676 = OpImageSampleExplicitLod %v4float %12152 %13150 Lod %float_0
|
||||
%13867 = OpCompositeExtract %float %17671 1
|
||||
%12428 = OpCompositeExtract %float %17671 2
|
||||
%23301 = OpFMul %float %13867 %12428
|
||||
%17613 = OpExtInst %float %1 FClamp %23301 %float_0 %float_1
|
||||
%20292 = OpVectorShuffle %v3float %15676 %15676 0 1 2
|
||||
%11187 = OpVectorTimesScalar %v3float %20292 %17613
|
||||
%15294 = OpFAdd %v3float %12104 %11187
|
||||
OpBranch %22308
|
||||
%22308 = OpLabel
|
||||
%7720 = OpPhi %v3float %12104 %22307 %15294 %12822
|
||||
%23400 = OpVectorTimesScalar %v3float %7720 %float_0_5
|
||||
%9340 = OpFAdd %float %9339 %float_0_5
|
||||
%16236 = OpVectorShuffle %v3float %15527 %15527 0 1 2
|
||||
%22178 = OpFAdd %v3float %16236 %23400
|
||||
%15528 = OpVectorShuffle %v4float %15527 %22178 4 5 6 3
|
||||
%6435 = OpCompositeInsert %_struct_1017 %15528 %6434 0
|
||||
%24573 = OpVectorShuffle %v2float %1367 %1367 0 1
|
||||
%13208 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10346 = OpLoad %v4float %13208
|
||||
%8640 = OpVectorShuffle %v2float %10346 %10346 0 1
|
||||
%9199 = OpFMul %v2float %24573 %8640
|
||||
%18507 = OpFAdd %v2float %19927 %9199
|
||||
%7013 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21060 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13151 = OpExtInst %v2float %1 FClamp %18507 %7013 %21060
|
||||
%23586 = OpLoad %150 %5785
|
||||
%10341 = OpLoad %508 %5688
|
||||
%12153 = OpSampledImage %510 %23586 %10341
|
||||
%15373 = OpImageSampleExplicitLod %v4float %12153 %13151 Lod %float_0
|
||||
%15268 = OpCompositeExtract %float %15373 3
|
||||
%12118 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12974 = OpLoad %float %12118
|
||||
%15712 = OpFMul %float %15268 %12974
|
||||
%15281 = OpExtInst %float %1 FClamp %15712 %float_0 %float_1
|
||||
%22215 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11758 = OpLoad %v3float %22215
|
||||
%12105 = OpVectorTimesScalar %v3float %11758 %15281
|
||||
%15518 = OpLoad %150 %3312
|
||||
%24571 = OpLoad %508 %4646
|
||||
%12154 = OpSampledImage %510 %15518 %24571
|
||||
%17672 = OpImageSampleExplicitLod %v4float %12154 %13151 Lod %float_0
|
||||
%16940 = OpCompositeExtract %float %17672 1
|
||||
%14187 = OpFOrdGreaterThan %bool %16940 %float_0
|
||||
OpSelectionMerge %22309 DontFlatten
|
||||
OpBranchConditional %14187 %12823 %22309
|
||||
%12823 = OpLabel
|
||||
%13241 = OpLoad %150 %4862
|
||||
%19962 = OpLoad %508 %3594
|
||||
%12155 = OpSampledImage %510 %13241 %19962
|
||||
%15677 = OpImageSampleExplicitLod %v4float %12155 %13151 Lod %float_0
|
||||
%13868 = OpCompositeExtract %float %17672 1
|
||||
%12429 = OpCompositeExtract %float %17672 2
|
||||
%23302 = OpFMul %float %13868 %12429
|
||||
%17614 = OpExtInst %float %1 FClamp %23302 %float_0 %float_1
|
||||
%20293 = OpVectorShuffle %v3float %15677 %15677 0 1 2
|
||||
%11188 = OpVectorTimesScalar %v3float %20293 %17614
|
||||
%15295 = OpFAdd %v3float %12105 %11188
|
||||
OpBranch %22309
|
||||
%22309 = OpLabel
|
||||
%7721 = OpPhi %v3float %12105 %22308 %15295 %12823
|
||||
%23401 = OpVectorTimesScalar %v3float %7721 %float_0_75
|
||||
%9341 = OpFAdd %float %9340 %float_0_75
|
||||
%16237 = OpVectorShuffle %v3float %15528 %15528 0 1 2
|
||||
%22179 = OpFAdd %v3float %16237 %23401
|
||||
%15529 = OpVectorShuffle %v4float %15528 %22179 4 5 6 3
|
||||
%6436 = OpCompositeInsert %_struct_1017 %15529 %6435 0
|
||||
%24574 = OpVectorShuffle %v2float %141 %141 0 1
|
||||
%13209 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10347 = OpLoad %v4float %13209
|
||||
%8641 = OpVectorShuffle %v2float %10347 %10347 0 1
|
||||
%9200 = OpFMul %v2float %24574 %8641
|
||||
%18508 = OpFAdd %v2float %19927 %9200
|
||||
%7014 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21061 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13152 = OpExtInst %v2float %1 FClamp %18508 %7014 %21061
|
||||
%23587 = OpLoad %150 %5785
|
||||
%10342 = OpLoad %508 %5688
|
||||
%12156 = OpSampledImage %510 %23587 %10342
|
||||
%15374 = OpImageSampleExplicitLod %v4float %12156 %13152 Lod %float_0
|
||||
%15269 = OpCompositeExtract %float %15374 3
|
||||
%12119 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12975 = OpLoad %float %12119
|
||||
%15713 = OpFMul %float %15269 %12975
|
||||
%15282 = OpExtInst %float %1 FClamp %15713 %float_0 %float_1
|
||||
%22216 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11759 = OpLoad %v3float %22216
|
||||
%12106 = OpVectorTimesScalar %v3float %11759 %15282
|
||||
%15519 = OpLoad %150 %3312
|
||||
%24575 = OpLoad %508 %4646
|
||||
%12157 = OpSampledImage %510 %15519 %24575
|
||||
%17673 = OpImageSampleExplicitLod %v4float %12157 %13152 Lod %float_0
|
||||
%16941 = OpCompositeExtract %float %17673 1
|
||||
%14188 = OpFOrdGreaterThan %bool %16941 %float_0
|
||||
OpSelectionMerge %22310 DontFlatten
|
||||
OpBranchConditional %14188 %12824 %22310
|
||||
%12824 = OpLabel
|
||||
%13242 = OpLoad %150 %4862
|
||||
%19963 = OpLoad %508 %3594
|
||||
%12158 = OpSampledImage %510 %13242 %19963
|
||||
%15678 = OpImageSampleExplicitLod %v4float %12158 %13152 Lod %float_0
|
||||
%13869 = OpCompositeExtract %float %17673 1
|
||||
%12430 = OpCompositeExtract %float %17673 2
|
||||
%23303 = OpFMul %float %13869 %12430
|
||||
%17615 = OpExtInst %float %1 FClamp %23303 %float_0 %float_1
|
||||
%20294 = OpVectorShuffle %v3float %15678 %15678 0 1 2
|
||||
%11189 = OpVectorTimesScalar %v3float %20294 %17615
|
||||
%15296 = OpFAdd %v3float %12106 %11189
|
||||
OpBranch %22310
|
||||
%22310 = OpLabel
|
||||
%7722 = OpPhi %v3float %12106 %22309 %15296 %12824
|
||||
%23402 = OpVectorTimesScalar %v3float %7722 %float_0_5
|
||||
%9342 = OpFAdd %float %9341 %float_0_5
|
||||
%16238 = OpVectorShuffle %v3float %15529 %15529 0 1 2
|
||||
%22180 = OpFAdd %v3float %16238 %23402
|
||||
%15530 = OpVectorShuffle %v4float %15529 %22180 4 5 6 3
|
||||
%6437 = OpCompositeInsert %_struct_1017 %15530 %6436 0
|
||||
%24576 = OpVectorShuffle %v2float %38 %38 0 1
|
||||
%13210 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10348 = OpLoad %v4float %13210
|
||||
%8642 = OpVectorShuffle %v2float %10348 %10348 0 1
|
||||
%9201 = OpFMul %v2float %24576 %8642
|
||||
%18509 = OpFAdd %v2float %19927 %9201
|
||||
%7015 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21062 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13153 = OpExtInst %v2float %1 FClamp %18509 %7015 %21062
|
||||
%23588 = OpLoad %150 %5785
|
||||
%10349 = OpLoad %508 %5688
|
||||
%12159 = OpSampledImage %510 %23588 %10349
|
||||
%15375 = OpImageSampleExplicitLod %v4float %12159 %13153 Lod %float_0
|
||||
%15270 = OpCompositeExtract %float %15375 3
|
||||
%12120 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12976 = OpLoad %float %12120
|
||||
%15714 = OpFMul %float %15270 %12976
|
||||
%15283 = OpExtInst %float %1 FClamp %15714 %float_0 %float_1
|
||||
%22217 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11760 = OpLoad %v3float %22217
|
||||
%12107 = OpVectorTimesScalar %v3float %11760 %15283
|
||||
%15520 = OpLoad %150 %3312
|
||||
%24577 = OpLoad %508 %4646
|
||||
%12160 = OpSampledImage %510 %15520 %24577
|
||||
%17674 = OpImageSampleExplicitLod %v4float %12160 %13153 Lod %float_0
|
||||
%16942 = OpCompositeExtract %float %17674 1
|
||||
%14189 = OpFOrdGreaterThan %bool %16942 %float_0
|
||||
OpSelectionMerge %22311 DontFlatten
|
||||
OpBranchConditional %14189 %12825 %22311
|
||||
%12825 = OpLabel
|
||||
%13243 = OpLoad %150 %4862
|
||||
%19964 = OpLoad %508 %3594
|
||||
%12161 = OpSampledImage %510 %13243 %19964
|
||||
%15679 = OpImageSampleExplicitLod %v4float %12161 %13153 Lod %float_0
|
||||
%13870 = OpCompositeExtract %float %17674 1
|
||||
%12431 = OpCompositeExtract %float %17674 2
|
||||
%23304 = OpFMul %float %13870 %12431
|
||||
%17616 = OpExtInst %float %1 FClamp %23304 %float_0 %float_1
|
||||
%20295 = OpVectorShuffle %v3float %15679 %15679 0 1 2
|
||||
%11190 = OpVectorTimesScalar %v3float %20295 %17616
|
||||
%15297 = OpFAdd %v3float %12107 %11190
|
||||
OpBranch %22311
|
||||
%22311 = OpLabel
|
||||
%7723 = OpPhi %v3float %12107 %22310 %15297 %12825
|
||||
%23403 = OpVectorTimesScalar %v3float %7723 %float_0_5
|
||||
%9343 = OpFAdd %float %9342 %float_0_5
|
||||
%16239 = OpVectorShuffle %v3float %15530 %15530 0 1 2
|
||||
%22181 = OpFAdd %v3float %16239 %23403
|
||||
%15531 = OpVectorShuffle %v4float %15530 %22181 4 5 6 3
|
||||
%6438 = OpCompositeInsert %_struct_1017 %15531 %6437 0
|
||||
%24578 = OpVectorShuffle %v2float %95 %95 0 1
|
||||
%13211 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10350 = OpLoad %v4float %13211
|
||||
%8643 = OpVectorShuffle %v2float %10350 %10350 0 1
|
||||
%9202 = OpFMul %v2float %24578 %8643
|
||||
%18510 = OpFAdd %v2float %19927 %9202
|
||||
%7016 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21063 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13154 = OpExtInst %v2float %1 FClamp %18510 %7016 %21063
|
||||
%23589 = OpLoad %150 %5785
|
||||
%10351 = OpLoad %508 %5688
|
||||
%12162 = OpSampledImage %510 %23589 %10351
|
||||
%15376 = OpImageSampleExplicitLod %v4float %12162 %13154 Lod %float_0
|
||||
%15271 = OpCompositeExtract %float %15376 3
|
||||
%12121 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12977 = OpLoad %float %12121
|
||||
%15715 = OpFMul %float %15271 %12977
|
||||
%15284 = OpExtInst %float %1 FClamp %15715 %float_0 %float_1
|
||||
%22218 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11761 = OpLoad %v3float %22218
|
||||
%12108 = OpVectorTimesScalar %v3float %11761 %15284
|
||||
%15521 = OpLoad %150 %3312
|
||||
%24579 = OpLoad %508 %4646
|
||||
%12163 = OpSampledImage %510 %15521 %24579
|
||||
%17675 = OpImageSampleExplicitLod %v4float %12163 %13154 Lod %float_0
|
||||
%16943 = OpCompositeExtract %float %17675 1
|
||||
%14190 = OpFOrdGreaterThan %bool %16943 %float_0
|
||||
OpSelectionMerge %22312 DontFlatten
|
||||
OpBranchConditional %14190 %12826 %22312
|
||||
%12826 = OpLabel
|
||||
%13244 = OpLoad %150 %4862
|
||||
%19965 = OpLoad %508 %3594
|
||||
%12164 = OpSampledImage %510 %13244 %19965
|
||||
%15680 = OpImageSampleExplicitLod %v4float %12164 %13154 Lod %float_0
|
||||
%13871 = OpCompositeExtract %float %17675 1
|
||||
%12432 = OpCompositeExtract %float %17675 2
|
||||
%23305 = OpFMul %float %13871 %12432
|
||||
%17617 = OpExtInst %float %1 FClamp %23305 %float_0 %float_1
|
||||
%20296 = OpVectorShuffle %v3float %15680 %15680 0 1 2
|
||||
%11191 = OpVectorTimesScalar %v3float %20296 %17617
|
||||
%15298 = OpFAdd %v3float %12108 %11191
|
||||
OpBranch %22312
|
||||
%22312 = OpLabel
|
||||
%7724 = OpPhi %v3float %12108 %22311 %15298 %12826
|
||||
%23404 = OpVectorTimesScalar %v3float %7724 %float_0_75
|
||||
%9344 = OpFAdd %float %9343 %float_0_75
|
||||
%16240 = OpVectorShuffle %v3float %15531 %15531 0 1 2
|
||||
%22182 = OpFAdd %v3float %16240 %23404
|
||||
%15532 = OpVectorShuffle %v4float %15531 %22182 4 5 6 3
|
||||
%6439 = OpCompositeInsert %_struct_1017 %15532 %6438 0
|
||||
%24580 = OpVectorShuffle %v2float %626 %626 0 1
|
||||
%13212 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10352 = OpLoad %v4float %13212
|
||||
%8644 = OpVectorShuffle %v2float %10352 %10352 0 1
|
||||
%9203 = OpFMul %v2float %24580 %8644
|
||||
%18511 = OpFAdd %v2float %19927 %9203
|
||||
%7017 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21064 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13155 = OpExtInst %v2float %1 FClamp %18511 %7017 %21064
|
||||
%23590 = OpLoad %150 %5785
|
||||
%10353 = OpLoad %508 %5688
|
||||
%12165 = OpSampledImage %510 %23590 %10353
|
||||
%15377 = OpImageSampleExplicitLod %v4float %12165 %13155 Lod %float_0
|
||||
%15272 = OpCompositeExtract %float %15377 3
|
||||
%12122 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12978 = OpLoad %float %12122
|
||||
%15716 = OpFMul %float %15272 %12978
|
||||
%15285 = OpExtInst %float %1 FClamp %15716 %float_0 %float_1
|
||||
%22219 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11762 = OpLoad %v3float %22219
|
||||
%12109 = OpVectorTimesScalar %v3float %11762 %15285
|
||||
%15522 = OpLoad %150 %3312
|
||||
%24581 = OpLoad %508 %4646
|
||||
%12166 = OpSampledImage %510 %15522 %24581
|
||||
%17676 = OpImageSampleExplicitLod %v4float %12166 %13155 Lod %float_0
|
||||
%16944 = OpCompositeExtract %float %17676 1
|
||||
%14191 = OpFOrdGreaterThan %bool %16944 %float_0
|
||||
OpSelectionMerge %22313 DontFlatten
|
||||
OpBranchConditional %14191 %12827 %22313
|
||||
%12827 = OpLabel
|
||||
%13245 = OpLoad %150 %4862
|
||||
%19966 = OpLoad %508 %3594
|
||||
%12167 = OpSampledImage %510 %13245 %19966
|
||||
%15681 = OpImageSampleExplicitLod %v4float %12167 %13155 Lod %float_0
|
||||
%13872 = OpCompositeExtract %float %17676 1
|
||||
%12433 = OpCompositeExtract %float %17676 2
|
||||
%23306 = OpFMul %float %13872 %12433
|
||||
%17618 = OpExtInst %float %1 FClamp %23306 %float_0 %float_1
|
||||
%20297 = OpVectorShuffle %v3float %15681 %15681 0 1 2
|
||||
%11192 = OpVectorTimesScalar %v3float %20297 %17618
|
||||
%15299 = OpFAdd %v3float %12109 %11192
|
||||
OpBranch %22313
|
||||
%22313 = OpLabel
|
||||
%7725 = OpPhi %v3float %12109 %22312 %15299 %12827
|
||||
%23405 = OpVectorTimesScalar %v3float %7725 %float_1
|
||||
%9345 = OpFAdd %float %9344 %float_1
|
||||
%16241 = OpVectorShuffle %v3float %15532 %15532 0 1 2
|
||||
%22183 = OpFAdd %v3float %16241 %23405
|
||||
%15533 = OpVectorShuffle %v4float %15532 %22183 4 5 6 3
|
||||
%6440 = OpCompositeInsert %_struct_1017 %15533 %6439 0
|
||||
%24582 = OpVectorShuffle %v2float %2411 %2411 0 1
|
||||
%13213 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10354 = OpLoad %v4float %13213
|
||||
%8645 = OpVectorShuffle %v2float %10354 %10354 0 1
|
||||
%9204 = OpFMul %v2float %24582 %8645
|
||||
%18512 = OpFAdd %v2float %19927 %9204
|
||||
%7018 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21065 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13156 = OpExtInst %v2float %1 FClamp %18512 %7018 %21065
|
||||
%23591 = OpLoad %150 %5785
|
||||
%10355 = OpLoad %508 %5688
|
||||
%12168 = OpSampledImage %510 %23591 %10355
|
||||
%15378 = OpImageSampleExplicitLod %v4float %12168 %13156 Lod %float_0
|
||||
%15273 = OpCompositeExtract %float %15378 3
|
||||
%12123 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12979 = OpLoad %float %12123
|
||||
%15717 = OpFMul %float %15273 %12979
|
||||
%15286 = OpExtInst %float %1 FClamp %15717 %float_0 %float_1
|
||||
%22220 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11763 = OpLoad %v3float %22220
|
||||
%12110 = OpVectorTimesScalar %v3float %11763 %15286
|
||||
%15523 = OpLoad %150 %3312
|
||||
%24583 = OpLoad %508 %4646
|
||||
%12169 = OpSampledImage %510 %15523 %24583
|
||||
%17677 = OpImageSampleExplicitLod %v4float %12169 %13156 Lod %float_0
|
||||
%16945 = OpCompositeExtract %float %17677 1
|
||||
%14192 = OpFOrdGreaterThan %bool %16945 %float_0
|
||||
OpSelectionMerge %22314 DontFlatten
|
||||
OpBranchConditional %14192 %12828 %22314
|
||||
%12828 = OpLabel
|
||||
%13246 = OpLoad %150 %4862
|
||||
%19967 = OpLoad %508 %3594
|
||||
%12170 = OpSampledImage %510 %13246 %19967
|
||||
%15682 = OpImageSampleExplicitLod %v4float %12170 %13156 Lod %float_0
|
||||
%13873 = OpCompositeExtract %float %17677 1
|
||||
%12434 = OpCompositeExtract %float %17677 2
|
||||
%23307 = OpFMul %float %13873 %12434
|
||||
%17619 = OpExtInst %float %1 FClamp %23307 %float_0 %float_1
|
||||
%20298 = OpVectorShuffle %v3float %15682 %15682 0 1 2
|
||||
%11193 = OpVectorTimesScalar %v3float %20298 %17619
|
||||
%15300 = OpFAdd %v3float %12110 %11193
|
||||
OpBranch %22314
|
||||
%22314 = OpLabel
|
||||
%7726 = OpPhi %v3float %12110 %22313 %15300 %12828
|
||||
%23406 = OpVectorTimesScalar %v3float %7726 %float_0_75
|
||||
%9346 = OpFAdd %float %9345 %float_0_75
|
||||
%16242 = OpVectorShuffle %v3float %15533 %15533 0 1 2
|
||||
%22184 = OpFAdd %v3float %16242 %23406
|
||||
%15534 = OpVectorShuffle %v4float %15533 %22184 4 5 6 3
|
||||
%6441 = OpCompositeInsert %_struct_1017 %15534 %6440 0
|
||||
%24584 = OpVectorShuffle %v2float %2354 %2354 0 1
|
||||
%13214 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10356 = OpLoad %v4float %13214
|
||||
%8646 = OpVectorShuffle %v2float %10356 %10356 0 1
|
||||
%9205 = OpFMul %v2float %24584 %8646
|
||||
%18513 = OpFAdd %v2float %19927 %9205
|
||||
%7019 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21066 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13157 = OpExtInst %v2float %1 FClamp %18513 %7019 %21066
|
||||
%23592 = OpLoad %150 %5785
|
||||
%10357 = OpLoad %508 %5688
|
||||
%12171 = OpSampledImage %510 %23592 %10357
|
||||
%15379 = OpImageSampleExplicitLod %v4float %12171 %13157 Lod %float_0
|
||||
%15274 = OpCompositeExtract %float %15379 3
|
||||
%12124 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12980 = OpLoad %float %12124
|
||||
%15718 = OpFMul %float %15274 %12980
|
||||
%15287 = OpExtInst %float %1 FClamp %15718 %float_0 %float_1
|
||||
%22221 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11764 = OpLoad %v3float %22221
|
||||
%12111 = OpVectorTimesScalar %v3float %11764 %15287
|
||||
%15524 = OpLoad %150 %3312
|
||||
%24585 = OpLoad %508 %4646
|
||||
%12172 = OpSampledImage %510 %15524 %24585
|
||||
%17678 = OpImageSampleExplicitLod %v4float %12172 %13157 Lod %float_0
|
||||
%16946 = OpCompositeExtract %float %17678 1
|
||||
%14193 = OpFOrdGreaterThan %bool %16946 %float_0
|
||||
OpSelectionMerge %22315 DontFlatten
|
||||
OpBranchConditional %14193 %12829 %22315
|
||||
%12829 = OpLabel
|
||||
%13247 = OpLoad %150 %4862
|
||||
%19968 = OpLoad %508 %3594
|
||||
%12173 = OpSampledImage %510 %13247 %19968
|
||||
%15683 = OpImageSampleExplicitLod %v4float %12173 %13157 Lod %float_0
|
||||
%13874 = OpCompositeExtract %float %17678 1
|
||||
%12435 = OpCompositeExtract %float %17678 2
|
||||
%23308 = OpFMul %float %13874 %12435
|
||||
%17620 = OpExtInst %float %1 FClamp %23308 %float_0 %float_1
|
||||
%20299 = OpVectorShuffle %v3float %15683 %15683 0 1 2
|
||||
%11194 = OpVectorTimesScalar %v3float %20299 %17620
|
||||
%15301 = OpFAdd %v3float %12111 %11194
|
||||
OpBranch %22315
|
||||
%22315 = OpLabel
|
||||
%7727 = OpPhi %v3float %12111 %22314 %15301 %12829
|
||||
%23407 = OpVectorTimesScalar %v3float %7727 %float_0_5
|
||||
%9347 = OpFAdd %float %9346 %float_0_5
|
||||
%16243 = OpVectorShuffle %v3float %15534 %15534 0 1 2
|
||||
%22185 = OpFAdd %v3float %16243 %23407
|
||||
%15535 = OpVectorShuffle %v4float %15534 %22185 4 5 6 3
|
||||
%6442 = OpCompositeInsert %_struct_1017 %15535 %6441 0
|
||||
%24586 = OpVectorShuffle %v2float %837 %837 0 1
|
||||
%13215 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10358 = OpLoad %v4float %13215
|
||||
%8647 = OpVectorShuffle %v2float %10358 %10358 0 1
|
||||
%9206 = OpFMul %v2float %24586 %8647
|
||||
%18514 = OpFAdd %v2float %19927 %9206
|
||||
%7020 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21067 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13158 = OpExtInst %v2float %1 FClamp %18514 %7020 %21067
|
||||
%23593 = OpLoad %150 %5785
|
||||
%10359 = OpLoad %508 %5688
|
||||
%12174 = OpSampledImage %510 %23593 %10359
|
||||
%15380 = OpImageSampleExplicitLod %v4float %12174 %13158 Lod %float_0
|
||||
%15275 = OpCompositeExtract %float %15380 3
|
||||
%12125 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12981 = OpLoad %float %12125
|
||||
%15719 = OpFMul %float %15275 %12981
|
||||
%15288 = OpExtInst %float %1 FClamp %15719 %float_0 %float_1
|
||||
%22222 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11765 = OpLoad %v3float %22222
|
||||
%12112 = OpVectorTimesScalar %v3float %11765 %15288
|
||||
%15525 = OpLoad %150 %3312
|
||||
%24587 = OpLoad %508 %4646
|
||||
%12175 = OpSampledImage %510 %15525 %24587
|
||||
%17679 = OpImageSampleExplicitLod %v4float %12175 %13158 Lod %float_0
|
||||
%16947 = OpCompositeExtract %float %17679 1
|
||||
%14194 = OpFOrdGreaterThan %bool %16947 %float_0
|
||||
OpSelectionMerge %22316 DontFlatten
|
||||
OpBranchConditional %14194 %12830 %22316
|
||||
%12830 = OpLabel
|
||||
%13248 = OpLoad %150 %4862
|
||||
%19969 = OpLoad %508 %3594
|
||||
%12176 = OpSampledImage %510 %13248 %19969
|
||||
%15684 = OpImageSampleExplicitLod %v4float %12176 %13158 Lod %float_0
|
||||
%13875 = OpCompositeExtract %float %17679 1
|
||||
%12436 = OpCompositeExtract %float %17679 2
|
||||
%23309 = OpFMul %float %13875 %12436
|
||||
%17621 = OpExtInst %float %1 FClamp %23309 %float_0 %float_1
|
||||
%20300 = OpVectorShuffle %v3float %15684 %15684 0 1 2
|
||||
%11195 = OpVectorTimesScalar %v3float %20300 %17621
|
||||
%15302 = OpFAdd %v3float %12112 %11195
|
||||
OpBranch %22316
|
||||
%22316 = OpLabel
|
||||
%7728 = OpPhi %v3float %12112 %22315 %15302 %12830
|
||||
%23408 = OpVectorTimesScalar %v3float %7728 %float_0_5
|
||||
%9348 = OpFAdd %float %9347 %float_0_5
|
||||
%16244 = OpVectorShuffle %v3float %15535 %15535 0 1 2
|
||||
%22186 = OpFAdd %v3float %16244 %23408
|
||||
%15536 = OpVectorShuffle %v4float %15535 %22186 4 5 6 3
|
||||
%6443 = OpCompositeInsert %_struct_1017 %15536 %6442 0
|
||||
%24588 = OpVectorShuffle %v2float %1368 %1368 0 1
|
||||
%13216 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10360 = OpLoad %v4float %13216
|
||||
%8648 = OpVectorShuffle %v2float %10360 %10360 0 1
|
||||
%9207 = OpFMul %v2float %24588 %8648
|
||||
%18515 = OpFAdd %v2float %19927 %9207
|
||||
%7021 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21068 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13159 = OpExtInst %v2float %1 FClamp %18515 %7021 %21068
|
||||
%23594 = OpLoad %150 %5785
|
||||
%10361 = OpLoad %508 %5688
|
||||
%12177 = OpSampledImage %510 %23594 %10361
|
||||
%15381 = OpImageSampleExplicitLod %v4float %12177 %13159 Lod %float_0
|
||||
%15276 = OpCompositeExtract %float %15381 3
|
||||
%12126 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12982 = OpLoad %float %12126
|
||||
%15720 = OpFMul %float %15276 %12982
|
||||
%15289 = OpExtInst %float %1 FClamp %15720 %float_0 %float_1
|
||||
%22223 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11766 = OpLoad %v3float %22223
|
||||
%12113 = OpVectorTimesScalar %v3float %11766 %15289
|
||||
%15526 = OpLoad %150 %3312
|
||||
%24589 = OpLoad %508 %4646
|
||||
%12178 = OpSampledImage %510 %15526 %24589
|
||||
%17680 = OpImageSampleExplicitLod %v4float %12178 %13159 Lod %float_0
|
||||
%16948 = OpCompositeExtract %float %17680 1
|
||||
%14195 = OpFOrdGreaterThan %bool %16948 %float_0
|
||||
OpSelectionMerge %22317 DontFlatten
|
||||
OpBranchConditional %14195 %12831 %22317
|
||||
%12831 = OpLabel
|
||||
%13249 = OpLoad %150 %4862
|
||||
%19970 = OpLoad %508 %3594
|
||||
%12179 = OpSampledImage %510 %13249 %19970
|
||||
%15685 = OpImageSampleExplicitLod %v4float %12179 %13159 Lod %float_0
|
||||
%13876 = OpCompositeExtract %float %17680 1
|
||||
%12437 = OpCompositeExtract %float %17680 2
|
||||
%23310 = OpFMul %float %13876 %12437
|
||||
%17622 = OpExtInst %float %1 FClamp %23310 %float_0 %float_1
|
||||
%20301 = OpVectorShuffle %v3float %15685 %15685 0 1 2
|
||||
%11196 = OpVectorTimesScalar %v3float %20301 %17622
|
||||
%15303 = OpFAdd %v3float %12113 %11196
|
||||
OpBranch %22317
|
||||
%22317 = OpLabel
|
||||
%7729 = OpPhi %v3float %12113 %22316 %15303 %12831
|
||||
%23409 = OpVectorTimesScalar %v3float %7729 %float_0_75
|
||||
%9349 = OpFAdd %float %9348 %float_0_75
|
||||
%16245 = OpVectorShuffle %v3float %15536 %15536 0 1 2
|
||||
%22187 = OpFAdd %v3float %16245 %23409
|
||||
%15537 = OpVectorShuffle %v4float %15536 %22187 4 5 6 3
|
||||
%6444 = OpCompositeInsert %_struct_1017 %15537 %6443 0
|
||||
%24590 = OpVectorShuffle %v2float %142 %142 0 1
|
||||
%13217 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10362 = OpLoad %v4float %13217
|
||||
%8649 = OpVectorShuffle %v2float %10362 %10362 0 1
|
||||
%9208 = OpFMul %v2float %24590 %8649
|
||||
%18516 = OpFAdd %v2float %19927 %9208
|
||||
%7022 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21069 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13160 = OpExtInst %v2float %1 FClamp %18516 %7022 %21069
|
||||
%23595 = OpLoad %150 %5785
|
||||
%10363 = OpLoad %508 %5688
|
||||
%12180 = OpSampledImage %510 %23595 %10363
|
||||
%15382 = OpImageSampleExplicitLod %v4float %12180 %13160 Lod %float_0
|
||||
%15277 = OpCompositeExtract %float %15382 3
|
||||
%12127 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12983 = OpLoad %float %12127
|
||||
%15721 = OpFMul %float %15277 %12983
|
||||
%15290 = OpExtInst %float %1 FClamp %15721 %float_0 %float_1
|
||||
%22224 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11767 = OpLoad %v3float %22224
|
||||
%12114 = OpVectorTimesScalar %v3float %11767 %15290
|
||||
%15538 = OpLoad %150 %3312
|
||||
%24591 = OpLoad %508 %4646
|
||||
%12181 = OpSampledImage %510 %15538 %24591
|
||||
%17681 = OpImageSampleExplicitLod %v4float %12181 %13160 Lod %float_0
|
||||
%16949 = OpCompositeExtract %float %17681 1
|
||||
%14196 = OpFOrdGreaterThan %bool %16949 %float_0
|
||||
OpSelectionMerge %22318 DontFlatten
|
||||
OpBranchConditional %14196 %12832 %22318
|
||||
%12832 = OpLabel
|
||||
%13250 = OpLoad %150 %4862
|
||||
%19971 = OpLoad %508 %3594
|
||||
%12182 = OpSampledImage %510 %13250 %19971
|
||||
%15686 = OpImageSampleExplicitLod %v4float %12182 %13160 Lod %float_0
|
||||
%13877 = OpCompositeExtract %float %17681 1
|
||||
%12438 = OpCompositeExtract %float %17681 2
|
||||
%23311 = OpFMul %float %13877 %12438
|
||||
%17623 = OpExtInst %float %1 FClamp %23311 %float_0 %float_1
|
||||
%20302 = OpVectorShuffle %v3float %15686 %15686 0 1 2
|
||||
%11197 = OpVectorTimesScalar %v3float %20302 %17623
|
||||
%15304 = OpFAdd %v3float %12114 %11197
|
||||
OpBranch %22318
|
||||
%22318 = OpLabel
|
||||
%7730 = OpPhi %v3float %12114 %22317 %15304 %12832
|
||||
%23410 = OpVectorTimesScalar %v3float %7730 %float_0_5
|
||||
%9350 = OpFAdd %float %9349 %float_0_5
|
||||
%16246 = OpVectorShuffle %v3float %15537 %15537 0 1 2
|
||||
%22188 = OpFAdd %v3float %16246 %23410
|
||||
%15539 = OpVectorShuffle %v4float %15537 %22188 4 5 6 3
|
||||
%6445 = OpCompositeInsert %_struct_1017 %15539 %6444 0
|
||||
%24592 = OpVectorShuffle %v2float %1197 %1197 0 1
|
||||
%13218 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10364 = OpLoad %v4float %13218
|
||||
%8650 = OpVectorShuffle %v2float %10364 %10364 0 1
|
||||
%9209 = OpFMul %v2float %24592 %8650
|
||||
%18517 = OpFAdd %v2float %19927 %9209
|
||||
%7023 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21070 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13161 = OpExtInst %v2float %1 FClamp %18517 %7023 %21070
|
||||
%23596 = OpLoad %150 %5785
|
||||
%10365 = OpLoad %508 %5688
|
||||
%12183 = OpSampledImage %510 %23596 %10365
|
||||
%15383 = OpImageSampleExplicitLod %v4float %12183 %13161 Lod %float_0
|
||||
%15278 = OpCompositeExtract %float %15383 3
|
||||
%12128 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12984 = OpLoad %float %12128
|
||||
%15722 = OpFMul %float %15278 %12984
|
||||
%15291 = OpExtInst %float %1 FClamp %15722 %float_0 %float_1
|
||||
%22225 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11768 = OpLoad %v3float %22225
|
||||
%12115 = OpVectorTimesScalar %v3float %11768 %15291
|
||||
%15540 = OpLoad %150 %3312
|
||||
%24593 = OpLoad %508 %4646
|
||||
%12184 = OpSampledImage %510 %15540 %24593
|
||||
%17682 = OpImageSampleExplicitLod %v4float %12184 %13161 Lod %float_0
|
||||
%16950 = OpCompositeExtract %float %17682 1
|
||||
%14197 = OpFOrdGreaterThan %bool %16950 %float_0
|
||||
OpSelectionMerge %22319 DontFlatten
|
||||
OpBranchConditional %14197 %12833 %22319
|
||||
%12833 = OpLabel
|
||||
%13251 = OpLoad %150 %4862
|
||||
%19972 = OpLoad %508 %3594
|
||||
%12185 = OpSampledImage %510 %13251 %19972
|
||||
%15687 = OpImageSampleExplicitLod %v4float %12185 %13161 Lod %float_0
|
||||
%13878 = OpCompositeExtract %float %17682 1
|
||||
%12439 = OpCompositeExtract %float %17682 2
|
||||
%23312 = OpFMul %float %13878 %12439
|
||||
%17624 = OpExtInst %float %1 FClamp %23312 %float_0 %float_1
|
||||
%20303 = OpVectorShuffle %v3float %15687 %15687 0 1 2
|
||||
%11198 = OpVectorTimesScalar %v3float %20303 %17624
|
||||
%15305 = OpFAdd %v3float %12115 %11198
|
||||
OpBranch %22319
|
||||
%22319 = OpLabel
|
||||
%7731 = OpPhi %v3float %12115 %22318 %15305 %12833
|
||||
%23411 = OpVectorTimesScalar %v3float %7731 %float_0_5
|
||||
%9351 = OpFAdd %float %9350 %float_0_5
|
||||
%16247 = OpVectorShuffle %v3float %15539 %15539 0 1 2
|
||||
%22189 = OpFAdd %v3float %16247 %23411
|
||||
%15541 = OpVectorShuffle %v4float %15539 %22189 4 5 6 3
|
||||
%6719 = OpCompositeInsert %_struct_1017 %15541 %6445 0
|
||||
%23412 = OpVectorShuffle %v3float %15541 %15541 0 1 2
|
||||
%10833 = OpCompositeConstruct %v3float %9351 %9351 %9351
|
||||
%13750 = OpFDiv %v3float %23412 %10833
|
||||
%24033 = OpVectorShuffle %v4float %15541 %13750 4 5 6 3
|
||||
%8636 = OpCompositeInsert %_struct_1017 %24033 %6719 0
|
||||
%16315 = OpCompositeInsert %_struct_1017 %float_1 %8636 0 3
|
||||
%11544 = OpCompositeExtract %v4float %16315 0
|
||||
OpStore %4317 %11544
|
||||
OpReturn
|
||||
OpFunctionEnd
|
886
shaders/asm/frag/vector-shuffle-oom.asm.frag
Normal file
886
shaders/asm/frag/vector-shuffle-oom.asm.frag
Normal file
@ -0,0 +1,886 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos Glslang Reference Front End; 2
|
||||
; Bound: 25007
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %5663 "main" %5800 %gl_FragCoord %4317
|
||||
OpExecutionMode %5663 OriginUpperLeft
|
||||
OpMemberDecorate %_struct_1116 0 Offset 0
|
||||
OpMemberDecorate %_struct_1116 1 Offset 16
|
||||
OpMemberDecorate %_struct_1116 2 Offset 32
|
||||
OpDecorate %_struct_1116 Block
|
||||
OpDecorate %22044 DescriptorSet 0
|
||||
OpDecorate %22044 Binding 0
|
||||
OpDecorate %5785 DescriptorSet 0
|
||||
OpDecorate %5785 Binding 140
|
||||
OpDecorate %5688 DescriptorSet 0
|
||||
OpDecorate %5688 Binding 60
|
||||
OpMemberDecorate %_struct_994 0 Offset 0
|
||||
OpMemberDecorate %_struct_994 1 Offset 16
|
||||
OpMemberDecorate %_struct_994 2 Offset 28
|
||||
OpMemberDecorate %_struct_994 3 Offset 32
|
||||
OpMemberDecorate %_struct_994 4 Offset 44
|
||||
OpMemberDecorate %_struct_994 5 Offset 48
|
||||
OpMemberDecorate %_struct_994 6 Offset 60
|
||||
OpMemberDecorate %_struct_994 7 Offset 64
|
||||
OpMemberDecorate %_struct_994 8 Offset 76
|
||||
OpMemberDecorate %_struct_994 9 Offset 80
|
||||
OpMemberDecorate %_struct_994 10 Offset 92
|
||||
OpMemberDecorate %_struct_994 11 Offset 96
|
||||
OpMemberDecorate %_struct_994 12 Offset 108
|
||||
OpMemberDecorate %_struct_994 13 Offset 112
|
||||
OpMemberDecorate %_struct_994 14 Offset 120
|
||||
OpMemberDecorate %_struct_994 15 Offset 128
|
||||
OpMemberDecorate %_struct_994 16 Offset 140
|
||||
OpMemberDecorate %_struct_994 17 Offset 144
|
||||
OpMemberDecorate %_struct_994 18 Offset 148
|
||||
OpMemberDecorate %_struct_994 19 Offset 152
|
||||
OpMemberDecorate %_struct_994 20 Offset 156
|
||||
OpMemberDecorate %_struct_994 21 Offset 160
|
||||
OpMemberDecorate %_struct_994 22 Offset 176
|
||||
OpMemberDecorate %_struct_994 23 RowMajor
|
||||
OpMemberDecorate %_struct_994 23 Offset 192
|
||||
OpMemberDecorate %_struct_994 23 MatrixStride 16
|
||||
OpMemberDecorate %_struct_994 24 Offset 256
|
||||
OpDecorate %_struct_994 Block
|
||||
OpDecorate %12348 DescriptorSet 0
|
||||
OpDecorate %12348 Binding 2
|
||||
OpDecorate %3312 DescriptorSet 0
|
||||
OpDecorate %3312 Binding 142
|
||||
OpDecorate %4646 DescriptorSet 0
|
||||
OpDecorate %4646 Binding 62
|
||||
OpDecorate %4862 DescriptorSet 0
|
||||
OpDecorate %4862 Binding 141
|
||||
OpDecorate %3594 DescriptorSet 0
|
||||
OpDecorate %3594 Binding 61
|
||||
OpDecorate %_arr_mat4v4float_uint_2 ArrayStride 64
|
||||
OpDecorate %_arr_v4float_uint_2 ArrayStride 16
|
||||
OpMemberDecorate %_struct_408 0 RowMajor
|
||||
OpMemberDecorate %_struct_408 0 Offset 0
|
||||
OpMemberDecorate %_struct_408 0 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 1 RowMajor
|
||||
OpMemberDecorate %_struct_408 1 Offset 64
|
||||
OpMemberDecorate %_struct_408 1 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 2 RowMajor
|
||||
OpMemberDecorate %_struct_408 2 Offset 128
|
||||
OpMemberDecorate %_struct_408 2 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 3 RowMajor
|
||||
OpMemberDecorate %_struct_408 3 Offset 192
|
||||
OpMemberDecorate %_struct_408 3 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 4 Offset 256
|
||||
OpMemberDecorate %_struct_408 5 Offset 272
|
||||
OpMemberDecorate %_struct_408 6 Offset 288
|
||||
OpMemberDecorate %_struct_408 7 Offset 292
|
||||
OpMemberDecorate %_struct_408 8 Offset 296
|
||||
OpMemberDecorate %_struct_408 9 Offset 300
|
||||
OpMemberDecorate %_struct_408 10 Offset 304
|
||||
OpMemberDecorate %_struct_408 11 Offset 316
|
||||
OpMemberDecorate %_struct_408 12 Offset 320
|
||||
OpMemberDecorate %_struct_408 13 Offset 332
|
||||
OpMemberDecorate %_struct_408 14 Offset 336
|
||||
OpMemberDecorate %_struct_408 15 Offset 348
|
||||
OpMemberDecorate %_struct_408 16 Offset 352
|
||||
OpMemberDecorate %_struct_408 17 Offset 364
|
||||
OpMemberDecorate %_struct_408 18 Offset 368
|
||||
OpMemberDecorate %_struct_408 19 Offset 372
|
||||
OpMemberDecorate %_struct_408 20 Offset 376
|
||||
OpMemberDecorate %_struct_408 21 Offset 384
|
||||
OpMemberDecorate %_struct_408 22 Offset 392
|
||||
OpMemberDecorate %_struct_408 23 Offset 400
|
||||
OpMemberDecorate %_struct_408 24 Offset 416
|
||||
OpMemberDecorate %_struct_408 25 Offset 424
|
||||
OpMemberDecorate %_struct_408 26 Offset 432
|
||||
OpMemberDecorate %_struct_408 27 Offset 448
|
||||
OpMemberDecorate %_struct_408 28 Offset 460
|
||||
OpMemberDecorate %_struct_408 29 Offset 464
|
||||
OpMemberDecorate %_struct_408 30 Offset 468
|
||||
OpMemberDecorate %_struct_408 31 Offset 472
|
||||
OpMemberDecorate %_struct_408 32 Offset 476
|
||||
OpMemberDecorate %_struct_408 33 Offset 480
|
||||
OpMemberDecorate %_struct_408 34 Offset 488
|
||||
OpMemberDecorate %_struct_408 35 Offset 492
|
||||
OpMemberDecorate %_struct_408 36 Offset 496
|
||||
OpMemberDecorate %_struct_408 37 RowMajor
|
||||
OpMemberDecorate %_struct_408 37 Offset 512
|
||||
OpMemberDecorate %_struct_408 37 MatrixStride 16
|
||||
OpMemberDecorate %_struct_408 38 Offset 640
|
||||
OpDecorate %_struct_408 Block
|
||||
OpDecorate %15259 DescriptorSet 0
|
||||
OpDecorate %15259 Binding 1
|
||||
OpDecorate %5800 Location 0
|
||||
OpDecorate %gl_FragCoord BuiltIn FragCoord
|
||||
OpDecorate %4317 Location 0
|
||||
OpMemberDecorate %_struct_1395 0 Offset 0
|
||||
OpMemberDecorate %_struct_1395 1 Offset 16
|
||||
OpMemberDecorate %_struct_1395 2 Offset 32
|
||||
OpMemberDecorate %_struct_1395 3 Offset 40
|
||||
OpMemberDecorate %_struct_1395 4 Offset 48
|
||||
OpMemberDecorate %_struct_1395 5 Offset 60
|
||||
OpMemberDecorate %_struct_1395 6 Offset 64
|
||||
OpMemberDecorate %_struct_1395 7 Offset 76
|
||||
OpMemberDecorate %_struct_1395 8 Offset 80
|
||||
OpMemberDecorate %_struct_1395 9 Offset 96
|
||||
OpMemberDecorate %_struct_1395 10 Offset 112
|
||||
OpMemberDecorate %_struct_1395 11 Offset 128
|
||||
OpMemberDecorate %_struct_1395 12 Offset 140
|
||||
OpMemberDecorate %_struct_1395 13 Offset 144
|
||||
OpMemberDecorate %_struct_1395 14 Offset 156
|
||||
OpMemberDecorate %_struct_1395 15 Offset 160
|
||||
OpMemberDecorate %_struct_1395 16 Offset 176
|
||||
OpMemberDecorate %_struct_1395 17 Offset 192
|
||||
OpMemberDecorate %_struct_1395 18 Offset 204
|
||||
OpMemberDecorate %_struct_1395 19 Offset 208
|
||||
OpMemberDecorate %_struct_1395 20 Offset 224
|
||||
OpDecorate %_struct_1395 Block
|
||||
OpMemberDecorate %_struct_1018 0 Offset 0
|
||||
OpDecorate %_struct_1018 Block
|
||||
%void = OpTypeVoid
|
||||
%1282 = OpTypeFunction %void
|
||||
%float = OpTypeFloat 32
|
||||
%v2float = OpTypeVector %float 2
|
||||
%v4float = OpTypeVector %float 4
|
||||
%v3float = OpTypeVector %float 3
|
||||
%_struct_1017 = OpTypeStruct %v4float
|
||||
%_struct_1116 = OpTypeStruct %v4float %float %v4float
|
||||
%_ptr_Uniform__struct_1116 = OpTypePointer Uniform %_struct_1116
|
||||
%22044 = OpVariable %_ptr_Uniform__struct_1116 Uniform
|
||||
%int = OpTypeInt 32 1
|
||||
%int_0 = OpConstant %int 0
|
||||
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
|
||||
%150 = OpTypeImage %float 2D 0 0 0 1 Unknown
|
||||
%_ptr_UniformConstant_150 = OpTypePointer UniformConstant %150
|
||||
%5785 = OpVariable %_ptr_UniformConstant_150 UniformConstant
|
||||
%508 = OpTypeSampler
|
||||
%_ptr_UniformConstant_508 = OpTypePointer UniformConstant %508
|
||||
%5688 = OpVariable %_ptr_UniformConstant_508 UniformConstant
|
||||
%510 = OpTypeSampledImage %150
|
||||
%float_0 = OpConstant %float 0
|
||||
%uint = OpTypeInt 32 0
|
||||
%int_1 = OpConstant %int 1
|
||||
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
||||
%float_1 = OpConstant %float 1
|
||||
%mat4v4float = OpTypeMatrix %v4float 4
|
||||
%_struct_994 = OpTypeStruct %v3float %v3float %float %v3float %float %v3float %float %v3float %float %v3float %float %v3float %float %v2float %v2float %v3float %float %float %float %float %float %v4float %v4float %mat4v4float %v4float
|
||||
%_ptr_Uniform__struct_994 = OpTypePointer Uniform %_struct_994
|
||||
%12348 = OpVariable %_ptr_Uniform__struct_994 Uniform
|
||||
%int_5 = OpConstant %int 5
|
||||
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
|
||||
%3312 = OpVariable %_ptr_UniformConstant_150 UniformConstant
|
||||
%4646 = OpVariable %_ptr_UniformConstant_508 UniformConstant
|
||||
%bool = OpTypeBool
|
||||
%4862 = OpVariable %_ptr_UniformConstant_150 UniformConstant
|
||||
%3594 = OpVariable %_ptr_UniformConstant_508 UniformConstant
|
||||
%uint_2 = OpConstant %uint 2
|
||||
%2938 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
|
||||
%_arr_mat4v4float_uint_2 = OpTypeArray %mat4v4float %uint_2
|
||||
%_arr_v4float_uint_2 = OpTypeArray %v4float %uint_2
|
||||
%_struct_408 = OpTypeStruct %mat4v4float %mat4v4float %mat4v4float %mat4v4float %v4float %v4float %float %float %float %float %v3float %float %v3float %float %v3float %float %v3float %float %float %float %v2float %v2float %v2float %v4float %v2float %v2float %v2float %v3float %float %float %float %float %float %v2float %float %float %v3float %_arr_mat4v4float_uint_2 %_arr_v4float_uint_2
|
||||
%_ptr_Uniform__struct_408 = OpTypePointer Uniform %_struct_408
|
||||
%15259 = OpVariable %_ptr_Uniform__struct_408 Uniform
|
||||
%int_23 = OpConstant %int 23
|
||||
%int_2 = OpConstant %int 2
|
||||
%float_n2 = OpConstant %float -2
|
||||
%float_0_5 = OpConstant %float 0.5
|
||||
%1196 = OpConstantComposite %v3float %float_0 %float_n2 %float_0_5
|
||||
%float_n1 = OpConstant %float -1
|
||||
%836 = OpConstantComposite %v3float %float_n1 %float_n1 %float_0_5
|
||||
%float_0_75 = OpConstant %float 0.75
|
||||
%1367 = OpConstantComposite %v3float %float_0 %float_n1 %float_0_75
|
||||
%141 = OpConstantComposite %v3float %float_1 %float_n1 %float_0_5
|
||||
%38 = OpConstantComposite %v3float %float_n2 %float_0 %float_0_5
|
||||
%95 = OpConstantComposite %v3float %float_n1 %float_0 %float_0_75
|
||||
%626 = OpConstantComposite %v3float %float_0 %float_0 %float_1
|
||||
%2411 = OpConstantComposite %v3float %float_1 %float_0 %float_0_75
|
||||
%float_2 = OpConstant %float 2
|
||||
%2354 = OpConstantComposite %v3float %float_2 %float_0 %float_0_5
|
||||
%837 = OpConstantComposite %v3float %float_n1 %float_1 %float_0_5
|
||||
%1368 = OpConstantComposite %v3float %float_0 %float_1 %float_0_75
|
||||
%142 = OpConstantComposite %v3float %float_1 %float_1 %float_0_5
|
||||
%1197 = OpConstantComposite %v3float %float_0 %float_2 %float_0_5
|
||||
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
||||
%5800 = OpVariable %_ptr_Input_v2float Input
|
||||
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
||||
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
|
||||
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||||
%4317 = OpVariable %_ptr_Output_v4float Output
|
||||
%_struct_1395 = OpTypeStruct %v4float %v4float %v2float %v2float %v3float %float %v3float %float %v4float %v4float %v4float %v3float %float %v3float %float %v3float %v4float %v3float %float %v3float %v2float
|
||||
%_struct_1018 = OpTypeStruct %v4float
|
||||
%10264 = OpUndef %_struct_1017
|
||||
%5663 = OpFunction %void None %1282
|
||||
%25006 = OpLabel
|
||||
%17463 = OpLoad %v4float %gl_FragCoord
|
||||
%13863 = OpCompositeInsert %_struct_1017 %2938 %10264 0
|
||||
%22969 = OpVectorShuffle %v2float %17463 %17463 0 1
|
||||
%13206 = OpAccessChain %_ptr_Uniform_v4float %15259 %int_23
|
||||
%10343 = OpLoad %v4float %13206
|
||||
%7422 = OpVectorShuffle %v2float %10343 %10343 0 1
|
||||
%19927 = OpFMul %v2float %22969 %7422
|
||||
%18174 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_2
|
||||
%16206 = OpLoad %v4float %18174
|
||||
%20420 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%21354 = OpLoad %v4float %20420
|
||||
%7688 = OpVectorShuffle %v4float %21354 %21354 0 1 0 1
|
||||
%17581 = OpFMul %v4float %16206 %7688
|
||||
%10673 = OpVectorShuffle %v2float %1196 %1196 0 1
|
||||
%18824 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10344 = OpLoad %v4float %18824
|
||||
%8638 = OpVectorShuffle %v2float %10344 %10344 0 1
|
||||
%9197 = OpFMul %v2float %10673 %8638
|
||||
%18505 = OpFAdd %v2float %19927 %9197
|
||||
%7011 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21058 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13149 = OpExtInst %v2float %1 FClamp %18505 %7011 %21058
|
||||
%23584 = OpLoad %150 %5785
|
||||
%10339 = OpLoad %508 %5688
|
||||
%12147 = OpSampledImage %510 %23584 %10339
|
||||
%15371 = OpImageSampleExplicitLod %v4float %12147 %13149 Lod %float_0
|
||||
%15266 = OpCompositeExtract %float %15371 3
|
||||
%12116 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12972 = OpLoad %float %12116
|
||||
%15710 = OpFMul %float %15266 %12972
|
||||
%15279 = OpExtInst %float %1 FClamp %15710 %float_0 %float_1
|
||||
%22213 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11756 = OpLoad %v3float %22213
|
||||
%12103 = OpVectorTimesScalar %v3float %11756 %15279
|
||||
%15516 = OpLoad %150 %3312
|
||||
%24569 = OpLoad %508 %4646
|
||||
%12148 = OpSampledImage %510 %15516 %24569
|
||||
%17670 = OpImageSampleExplicitLod %v4float %12148 %13149 Lod %float_0
|
||||
%16938 = OpCompositeExtract %float %17670 1
|
||||
%14185 = OpFOrdGreaterThan %bool %16938 %float_0
|
||||
OpSelectionMerge %22307 DontFlatten
|
||||
OpBranchConditional %14185 %12821 %22307
|
||||
%12821 = OpLabel
|
||||
%13239 = OpLoad %150 %4862
|
||||
%19960 = OpLoad %508 %3594
|
||||
%12149 = OpSampledImage %510 %13239 %19960
|
||||
%15675 = OpImageSampleExplicitLod %v4float %12149 %13149 Lod %float_0
|
||||
%13866 = OpCompositeExtract %float %17670 1
|
||||
%12427 = OpCompositeExtract %float %17670 2
|
||||
%23300 = OpFMul %float %13866 %12427
|
||||
%17612 = OpExtInst %float %1 FClamp %23300 %float_0 %float_1
|
||||
%20291 = OpVectorShuffle %v3float %15675 %15675 0 1 2
|
||||
%11186 = OpVectorTimesScalar %v3float %20291 %17612
|
||||
%15293 = OpFAdd %v3float %12103 %11186
|
||||
OpBranch %22307
|
||||
%22307 = OpLabel
|
||||
%7719 = OpPhi %v3float %12103 %25006 %15293 %12821
|
||||
%23399 = OpVectorTimesScalar %v3float %7719 %float_0_5
|
||||
%9339 = OpFAdd %float %float_0 %float_0_5
|
||||
%16235 = OpVectorShuffle %v3float %2938 %2938 0 1 2
|
||||
%22177 = OpFAdd %v3float %16235 %23399
|
||||
%15527 = OpVectorShuffle %v4float %2938 %22177 4 5 6 3
|
||||
%6434 = OpCompositeInsert %_struct_1017 %15527 %13863 0
|
||||
%24572 = OpVectorShuffle %v2float %836 %836 0 1
|
||||
%13207 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10345 = OpLoad %v4float %13207
|
||||
%8639 = OpVectorShuffle %v2float %10345 %10345 0 1
|
||||
%9198 = OpFMul %v2float %24572 %8639
|
||||
%18506 = OpFAdd %v2float %19927 %9198
|
||||
%7012 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21059 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13150 = OpExtInst %v2float %1 FClamp %18506 %7012 %21059
|
||||
%23585 = OpLoad %150 %5785
|
||||
%10340 = OpLoad %508 %5688
|
||||
%12150 = OpSampledImage %510 %23585 %10340
|
||||
%15372 = OpImageSampleExplicitLod %v4float %12150 %13150 Lod %float_0
|
||||
%15267 = OpCompositeExtract %float %15372 3
|
||||
%12117 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12973 = OpLoad %float %12117
|
||||
%15711 = OpFMul %float %15267 %12973
|
||||
%15280 = OpExtInst %float %1 FClamp %15711 %float_0 %float_1
|
||||
%22214 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11757 = OpLoad %v3float %22214
|
||||
%12104 = OpVectorTimesScalar %v3float %11757 %15280
|
||||
%15517 = OpLoad %150 %3312
|
||||
%24570 = OpLoad %508 %4646
|
||||
%12151 = OpSampledImage %510 %15517 %24570
|
||||
%17671 = OpImageSampleExplicitLod %v4float %12151 %13150 Lod %float_0
|
||||
%16939 = OpCompositeExtract %float %17671 1
|
||||
%14186 = OpFOrdGreaterThan %bool %16939 %float_0
|
||||
OpSelectionMerge %22308 DontFlatten
|
||||
OpBranchConditional %14186 %12822 %22308
|
||||
%12822 = OpLabel
|
||||
%13240 = OpLoad %150 %4862
|
||||
%19961 = OpLoad %508 %3594
|
||||
%12152 = OpSampledImage %510 %13240 %19961
|
||||
%15676 = OpImageSampleExplicitLod %v4float %12152 %13150 Lod %float_0
|
||||
%13867 = OpCompositeExtract %float %17671 1
|
||||
%12428 = OpCompositeExtract %float %17671 2
|
||||
%23301 = OpFMul %float %13867 %12428
|
||||
%17613 = OpExtInst %float %1 FClamp %23301 %float_0 %float_1
|
||||
%20292 = OpVectorShuffle %v3float %15676 %15676 0 1 2
|
||||
%11187 = OpVectorTimesScalar %v3float %20292 %17613
|
||||
%15294 = OpFAdd %v3float %12104 %11187
|
||||
OpBranch %22308
|
||||
%22308 = OpLabel
|
||||
%7720 = OpPhi %v3float %12104 %22307 %15294 %12822
|
||||
%23400 = OpVectorTimesScalar %v3float %7720 %float_0_5
|
||||
%9340 = OpFAdd %float %9339 %float_0_5
|
||||
%16236 = OpVectorShuffle %v3float %15527 %15527 0 1 2
|
||||
%22178 = OpFAdd %v3float %16236 %23400
|
||||
%15528 = OpVectorShuffle %v4float %15527 %22178 4 5 6 3
|
||||
%6435 = OpCompositeInsert %_struct_1017 %15528 %6434 0
|
||||
%24573 = OpVectorShuffle %v2float %1367 %1367 0 1
|
||||
%13208 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10346 = OpLoad %v4float %13208
|
||||
%8640 = OpVectorShuffle %v2float %10346 %10346 0 1
|
||||
%9199 = OpFMul %v2float %24573 %8640
|
||||
%18507 = OpFAdd %v2float %19927 %9199
|
||||
%7013 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21060 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13151 = OpExtInst %v2float %1 FClamp %18507 %7013 %21060
|
||||
%23586 = OpLoad %150 %5785
|
||||
%10341 = OpLoad %508 %5688
|
||||
%12153 = OpSampledImage %510 %23586 %10341
|
||||
%15373 = OpImageSampleExplicitLod %v4float %12153 %13151 Lod %float_0
|
||||
%15268 = OpCompositeExtract %float %15373 3
|
||||
%12118 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12974 = OpLoad %float %12118
|
||||
%15712 = OpFMul %float %15268 %12974
|
||||
%15281 = OpExtInst %float %1 FClamp %15712 %float_0 %float_1
|
||||
%22215 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11758 = OpLoad %v3float %22215
|
||||
%12105 = OpVectorTimesScalar %v3float %11758 %15281
|
||||
%15518 = OpLoad %150 %3312
|
||||
%24571 = OpLoad %508 %4646
|
||||
%12154 = OpSampledImage %510 %15518 %24571
|
||||
%17672 = OpImageSampleExplicitLod %v4float %12154 %13151 Lod %float_0
|
||||
%16940 = OpCompositeExtract %float %17672 1
|
||||
%14187 = OpFOrdGreaterThan %bool %16940 %float_0
|
||||
OpSelectionMerge %22309 DontFlatten
|
||||
OpBranchConditional %14187 %12823 %22309
|
||||
%12823 = OpLabel
|
||||
%13241 = OpLoad %150 %4862
|
||||
%19962 = OpLoad %508 %3594
|
||||
%12155 = OpSampledImage %510 %13241 %19962
|
||||
%15677 = OpImageSampleExplicitLod %v4float %12155 %13151 Lod %float_0
|
||||
%13868 = OpCompositeExtract %float %17672 1
|
||||
%12429 = OpCompositeExtract %float %17672 2
|
||||
%23302 = OpFMul %float %13868 %12429
|
||||
%17614 = OpExtInst %float %1 FClamp %23302 %float_0 %float_1
|
||||
%20293 = OpVectorShuffle %v3float %15677 %15677 0 1 2
|
||||
%11188 = OpVectorTimesScalar %v3float %20293 %17614
|
||||
%15295 = OpFAdd %v3float %12105 %11188
|
||||
OpBranch %22309
|
||||
%22309 = OpLabel
|
||||
%7721 = OpPhi %v3float %12105 %22308 %15295 %12823
|
||||
%23401 = OpVectorTimesScalar %v3float %7721 %float_0_75
|
||||
%9341 = OpFAdd %float %9340 %float_0_75
|
||||
%16237 = OpVectorShuffle %v3float %15528 %15528 0 1 2
|
||||
%22179 = OpFAdd %v3float %16237 %23401
|
||||
%15529 = OpVectorShuffle %v4float %15528 %22179 4 5 6 3
|
||||
%6436 = OpCompositeInsert %_struct_1017 %15529 %6435 0
|
||||
%24574 = OpVectorShuffle %v2float %141 %141 0 1
|
||||
%13209 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10347 = OpLoad %v4float %13209
|
||||
%8641 = OpVectorShuffle %v2float %10347 %10347 0 1
|
||||
%9200 = OpFMul %v2float %24574 %8641
|
||||
%18508 = OpFAdd %v2float %19927 %9200
|
||||
%7014 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21061 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13152 = OpExtInst %v2float %1 FClamp %18508 %7014 %21061
|
||||
%23587 = OpLoad %150 %5785
|
||||
%10342 = OpLoad %508 %5688
|
||||
%12156 = OpSampledImage %510 %23587 %10342
|
||||
%15374 = OpImageSampleExplicitLod %v4float %12156 %13152 Lod %float_0
|
||||
%15269 = OpCompositeExtract %float %15374 3
|
||||
%12119 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12975 = OpLoad %float %12119
|
||||
%15713 = OpFMul %float %15269 %12975
|
||||
%15282 = OpExtInst %float %1 FClamp %15713 %float_0 %float_1
|
||||
%22216 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11759 = OpLoad %v3float %22216
|
||||
%12106 = OpVectorTimesScalar %v3float %11759 %15282
|
||||
%15519 = OpLoad %150 %3312
|
||||
%24575 = OpLoad %508 %4646
|
||||
%12157 = OpSampledImage %510 %15519 %24575
|
||||
%17673 = OpImageSampleExplicitLod %v4float %12157 %13152 Lod %float_0
|
||||
%16941 = OpCompositeExtract %float %17673 1
|
||||
%14188 = OpFOrdGreaterThan %bool %16941 %float_0
|
||||
OpSelectionMerge %22310 DontFlatten
|
||||
OpBranchConditional %14188 %12824 %22310
|
||||
%12824 = OpLabel
|
||||
%13242 = OpLoad %150 %4862
|
||||
%19963 = OpLoad %508 %3594
|
||||
%12158 = OpSampledImage %510 %13242 %19963
|
||||
%15678 = OpImageSampleExplicitLod %v4float %12158 %13152 Lod %float_0
|
||||
%13869 = OpCompositeExtract %float %17673 1
|
||||
%12430 = OpCompositeExtract %float %17673 2
|
||||
%23303 = OpFMul %float %13869 %12430
|
||||
%17615 = OpExtInst %float %1 FClamp %23303 %float_0 %float_1
|
||||
%20294 = OpVectorShuffle %v3float %15678 %15678 0 1 2
|
||||
%11189 = OpVectorTimesScalar %v3float %20294 %17615
|
||||
%15296 = OpFAdd %v3float %12106 %11189
|
||||
OpBranch %22310
|
||||
%22310 = OpLabel
|
||||
%7722 = OpPhi %v3float %12106 %22309 %15296 %12824
|
||||
%23402 = OpVectorTimesScalar %v3float %7722 %float_0_5
|
||||
%9342 = OpFAdd %float %9341 %float_0_5
|
||||
%16238 = OpVectorShuffle %v3float %15529 %15529 0 1 2
|
||||
%22180 = OpFAdd %v3float %16238 %23402
|
||||
%15530 = OpVectorShuffle %v4float %15529 %22180 4 5 6 3
|
||||
%6437 = OpCompositeInsert %_struct_1017 %15530 %6436 0
|
||||
%24576 = OpVectorShuffle %v2float %38 %38 0 1
|
||||
%13210 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10348 = OpLoad %v4float %13210
|
||||
%8642 = OpVectorShuffle %v2float %10348 %10348 0 1
|
||||
%9201 = OpFMul %v2float %24576 %8642
|
||||
%18509 = OpFAdd %v2float %19927 %9201
|
||||
%7015 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21062 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13153 = OpExtInst %v2float %1 FClamp %18509 %7015 %21062
|
||||
%23588 = OpLoad %150 %5785
|
||||
%10349 = OpLoad %508 %5688
|
||||
%12159 = OpSampledImage %510 %23588 %10349
|
||||
%15375 = OpImageSampleExplicitLod %v4float %12159 %13153 Lod %float_0
|
||||
%15270 = OpCompositeExtract %float %15375 3
|
||||
%12120 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12976 = OpLoad %float %12120
|
||||
%15714 = OpFMul %float %15270 %12976
|
||||
%15283 = OpExtInst %float %1 FClamp %15714 %float_0 %float_1
|
||||
%22217 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11760 = OpLoad %v3float %22217
|
||||
%12107 = OpVectorTimesScalar %v3float %11760 %15283
|
||||
%15520 = OpLoad %150 %3312
|
||||
%24577 = OpLoad %508 %4646
|
||||
%12160 = OpSampledImage %510 %15520 %24577
|
||||
%17674 = OpImageSampleExplicitLod %v4float %12160 %13153 Lod %float_0
|
||||
%16942 = OpCompositeExtract %float %17674 1
|
||||
%14189 = OpFOrdGreaterThan %bool %16942 %float_0
|
||||
OpSelectionMerge %22311 DontFlatten
|
||||
OpBranchConditional %14189 %12825 %22311
|
||||
%12825 = OpLabel
|
||||
%13243 = OpLoad %150 %4862
|
||||
%19964 = OpLoad %508 %3594
|
||||
%12161 = OpSampledImage %510 %13243 %19964
|
||||
%15679 = OpImageSampleExplicitLod %v4float %12161 %13153 Lod %float_0
|
||||
%13870 = OpCompositeExtract %float %17674 1
|
||||
%12431 = OpCompositeExtract %float %17674 2
|
||||
%23304 = OpFMul %float %13870 %12431
|
||||
%17616 = OpExtInst %float %1 FClamp %23304 %float_0 %float_1
|
||||
%20295 = OpVectorShuffle %v3float %15679 %15679 0 1 2
|
||||
%11190 = OpVectorTimesScalar %v3float %20295 %17616
|
||||
%15297 = OpFAdd %v3float %12107 %11190
|
||||
OpBranch %22311
|
||||
%22311 = OpLabel
|
||||
%7723 = OpPhi %v3float %12107 %22310 %15297 %12825
|
||||
%23403 = OpVectorTimesScalar %v3float %7723 %float_0_5
|
||||
%9343 = OpFAdd %float %9342 %float_0_5
|
||||
%16239 = OpVectorShuffle %v3float %15530 %15530 0 1 2
|
||||
%22181 = OpFAdd %v3float %16239 %23403
|
||||
%15531 = OpVectorShuffle %v4float %15530 %22181 4 5 6 3
|
||||
%6438 = OpCompositeInsert %_struct_1017 %15531 %6437 0
|
||||
%24578 = OpVectorShuffle %v2float %95 %95 0 1
|
||||
%13211 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10350 = OpLoad %v4float %13211
|
||||
%8643 = OpVectorShuffle %v2float %10350 %10350 0 1
|
||||
%9202 = OpFMul %v2float %24578 %8643
|
||||
%18510 = OpFAdd %v2float %19927 %9202
|
||||
%7016 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21063 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13154 = OpExtInst %v2float %1 FClamp %18510 %7016 %21063
|
||||
%23589 = OpLoad %150 %5785
|
||||
%10351 = OpLoad %508 %5688
|
||||
%12162 = OpSampledImage %510 %23589 %10351
|
||||
%15376 = OpImageSampleExplicitLod %v4float %12162 %13154 Lod %float_0
|
||||
%15271 = OpCompositeExtract %float %15376 3
|
||||
%12121 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12977 = OpLoad %float %12121
|
||||
%15715 = OpFMul %float %15271 %12977
|
||||
%15284 = OpExtInst %float %1 FClamp %15715 %float_0 %float_1
|
||||
%22218 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11761 = OpLoad %v3float %22218
|
||||
%12108 = OpVectorTimesScalar %v3float %11761 %15284
|
||||
%15521 = OpLoad %150 %3312
|
||||
%24579 = OpLoad %508 %4646
|
||||
%12163 = OpSampledImage %510 %15521 %24579
|
||||
%17675 = OpImageSampleExplicitLod %v4float %12163 %13154 Lod %float_0
|
||||
%16943 = OpCompositeExtract %float %17675 1
|
||||
%14190 = OpFOrdGreaterThan %bool %16943 %float_0
|
||||
OpSelectionMerge %22312 DontFlatten
|
||||
OpBranchConditional %14190 %12826 %22312
|
||||
%12826 = OpLabel
|
||||
%13244 = OpLoad %150 %4862
|
||||
%19965 = OpLoad %508 %3594
|
||||
%12164 = OpSampledImage %510 %13244 %19965
|
||||
%15680 = OpImageSampleExplicitLod %v4float %12164 %13154 Lod %float_0
|
||||
%13871 = OpCompositeExtract %float %17675 1
|
||||
%12432 = OpCompositeExtract %float %17675 2
|
||||
%23305 = OpFMul %float %13871 %12432
|
||||
%17617 = OpExtInst %float %1 FClamp %23305 %float_0 %float_1
|
||||
%20296 = OpVectorShuffle %v3float %15680 %15680 0 1 2
|
||||
%11191 = OpVectorTimesScalar %v3float %20296 %17617
|
||||
%15298 = OpFAdd %v3float %12108 %11191
|
||||
OpBranch %22312
|
||||
%22312 = OpLabel
|
||||
%7724 = OpPhi %v3float %12108 %22311 %15298 %12826
|
||||
%23404 = OpVectorTimesScalar %v3float %7724 %float_0_75
|
||||
%9344 = OpFAdd %float %9343 %float_0_75
|
||||
%16240 = OpVectorShuffle %v3float %15531 %15531 0 1 2
|
||||
%22182 = OpFAdd %v3float %16240 %23404
|
||||
%15532 = OpVectorShuffle %v4float %15531 %22182 4 5 6 3
|
||||
%6439 = OpCompositeInsert %_struct_1017 %15532 %6438 0
|
||||
%24580 = OpVectorShuffle %v2float %626 %626 0 1
|
||||
%13212 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10352 = OpLoad %v4float %13212
|
||||
%8644 = OpVectorShuffle %v2float %10352 %10352 0 1
|
||||
%9203 = OpFMul %v2float %24580 %8644
|
||||
%18511 = OpFAdd %v2float %19927 %9203
|
||||
%7017 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21064 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13155 = OpExtInst %v2float %1 FClamp %18511 %7017 %21064
|
||||
%23590 = OpLoad %150 %5785
|
||||
%10353 = OpLoad %508 %5688
|
||||
%12165 = OpSampledImage %510 %23590 %10353
|
||||
%15377 = OpImageSampleExplicitLod %v4float %12165 %13155 Lod %float_0
|
||||
%15272 = OpCompositeExtract %float %15377 3
|
||||
%12122 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12978 = OpLoad %float %12122
|
||||
%15716 = OpFMul %float %15272 %12978
|
||||
%15285 = OpExtInst %float %1 FClamp %15716 %float_0 %float_1
|
||||
%22219 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11762 = OpLoad %v3float %22219
|
||||
%12109 = OpVectorTimesScalar %v3float %11762 %15285
|
||||
%15522 = OpLoad %150 %3312
|
||||
%24581 = OpLoad %508 %4646
|
||||
%12166 = OpSampledImage %510 %15522 %24581
|
||||
%17676 = OpImageSampleExplicitLod %v4float %12166 %13155 Lod %float_0
|
||||
%16944 = OpCompositeExtract %float %17676 1
|
||||
%14191 = OpFOrdGreaterThan %bool %16944 %float_0
|
||||
OpSelectionMerge %22313 DontFlatten
|
||||
OpBranchConditional %14191 %12827 %22313
|
||||
%12827 = OpLabel
|
||||
%13245 = OpLoad %150 %4862
|
||||
%19966 = OpLoad %508 %3594
|
||||
%12167 = OpSampledImage %510 %13245 %19966
|
||||
%15681 = OpImageSampleExplicitLod %v4float %12167 %13155 Lod %float_0
|
||||
%13872 = OpCompositeExtract %float %17676 1
|
||||
%12433 = OpCompositeExtract %float %17676 2
|
||||
%23306 = OpFMul %float %13872 %12433
|
||||
%17618 = OpExtInst %float %1 FClamp %23306 %float_0 %float_1
|
||||
%20297 = OpVectorShuffle %v3float %15681 %15681 0 1 2
|
||||
%11192 = OpVectorTimesScalar %v3float %20297 %17618
|
||||
%15299 = OpFAdd %v3float %12109 %11192
|
||||
OpBranch %22313
|
||||
%22313 = OpLabel
|
||||
%7725 = OpPhi %v3float %12109 %22312 %15299 %12827
|
||||
%23405 = OpVectorTimesScalar %v3float %7725 %float_1
|
||||
%9345 = OpFAdd %float %9344 %float_1
|
||||
%16241 = OpVectorShuffle %v3float %15532 %15532 0 1 2
|
||||
%22183 = OpFAdd %v3float %16241 %23405
|
||||
%15533 = OpVectorShuffle %v4float %15532 %22183 4 5 6 3
|
||||
%6440 = OpCompositeInsert %_struct_1017 %15533 %6439 0
|
||||
%24582 = OpVectorShuffle %v2float %2411 %2411 0 1
|
||||
%13213 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10354 = OpLoad %v4float %13213
|
||||
%8645 = OpVectorShuffle %v2float %10354 %10354 0 1
|
||||
%9204 = OpFMul %v2float %24582 %8645
|
||||
%18512 = OpFAdd %v2float %19927 %9204
|
||||
%7018 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21065 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13156 = OpExtInst %v2float %1 FClamp %18512 %7018 %21065
|
||||
%23591 = OpLoad %150 %5785
|
||||
%10355 = OpLoad %508 %5688
|
||||
%12168 = OpSampledImage %510 %23591 %10355
|
||||
%15378 = OpImageSampleExplicitLod %v4float %12168 %13156 Lod %float_0
|
||||
%15273 = OpCompositeExtract %float %15378 3
|
||||
%12123 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12979 = OpLoad %float %12123
|
||||
%15717 = OpFMul %float %15273 %12979
|
||||
%15286 = OpExtInst %float %1 FClamp %15717 %float_0 %float_1
|
||||
%22220 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11763 = OpLoad %v3float %22220
|
||||
%12110 = OpVectorTimesScalar %v3float %11763 %15286
|
||||
%15523 = OpLoad %150 %3312
|
||||
%24583 = OpLoad %508 %4646
|
||||
%12169 = OpSampledImage %510 %15523 %24583
|
||||
%17677 = OpImageSampleExplicitLod %v4float %12169 %13156 Lod %float_0
|
||||
%16945 = OpCompositeExtract %float %17677 1
|
||||
%14192 = OpFOrdGreaterThan %bool %16945 %float_0
|
||||
OpSelectionMerge %22314 DontFlatten
|
||||
OpBranchConditional %14192 %12828 %22314
|
||||
%12828 = OpLabel
|
||||
%13246 = OpLoad %150 %4862
|
||||
%19967 = OpLoad %508 %3594
|
||||
%12170 = OpSampledImage %510 %13246 %19967
|
||||
%15682 = OpImageSampleExplicitLod %v4float %12170 %13156 Lod %float_0
|
||||
%13873 = OpCompositeExtract %float %17677 1
|
||||
%12434 = OpCompositeExtract %float %17677 2
|
||||
%23307 = OpFMul %float %13873 %12434
|
||||
%17619 = OpExtInst %float %1 FClamp %23307 %float_0 %float_1
|
||||
%20298 = OpVectorShuffle %v3float %15682 %15682 0 1 2
|
||||
%11193 = OpVectorTimesScalar %v3float %20298 %17619
|
||||
%15300 = OpFAdd %v3float %12110 %11193
|
||||
OpBranch %22314
|
||||
%22314 = OpLabel
|
||||
%7726 = OpPhi %v3float %12110 %22313 %15300 %12828
|
||||
%23406 = OpVectorTimesScalar %v3float %7726 %float_0_75
|
||||
%9346 = OpFAdd %float %9345 %float_0_75
|
||||
%16242 = OpVectorShuffle %v3float %15533 %15533 0 1 2
|
||||
%22184 = OpFAdd %v3float %16242 %23406
|
||||
%15534 = OpVectorShuffle %v4float %15533 %22184 4 5 6 3
|
||||
%6441 = OpCompositeInsert %_struct_1017 %15534 %6440 0
|
||||
%24584 = OpVectorShuffle %v2float %2354 %2354 0 1
|
||||
%13214 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10356 = OpLoad %v4float %13214
|
||||
%8646 = OpVectorShuffle %v2float %10356 %10356 0 1
|
||||
%9205 = OpFMul %v2float %24584 %8646
|
||||
%18513 = OpFAdd %v2float %19927 %9205
|
||||
%7019 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21066 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13157 = OpExtInst %v2float %1 FClamp %18513 %7019 %21066
|
||||
%23592 = OpLoad %150 %5785
|
||||
%10357 = OpLoad %508 %5688
|
||||
%12171 = OpSampledImage %510 %23592 %10357
|
||||
%15379 = OpImageSampleExplicitLod %v4float %12171 %13157 Lod %float_0
|
||||
%15274 = OpCompositeExtract %float %15379 3
|
||||
%12124 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12980 = OpLoad %float %12124
|
||||
%15718 = OpFMul %float %15274 %12980
|
||||
%15287 = OpExtInst %float %1 FClamp %15718 %float_0 %float_1
|
||||
%22221 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11764 = OpLoad %v3float %22221
|
||||
%12111 = OpVectorTimesScalar %v3float %11764 %15287
|
||||
%15524 = OpLoad %150 %3312
|
||||
%24585 = OpLoad %508 %4646
|
||||
%12172 = OpSampledImage %510 %15524 %24585
|
||||
%17678 = OpImageSampleExplicitLod %v4float %12172 %13157 Lod %float_0
|
||||
%16946 = OpCompositeExtract %float %17678 1
|
||||
%14193 = OpFOrdGreaterThan %bool %16946 %float_0
|
||||
OpSelectionMerge %22315 DontFlatten
|
||||
OpBranchConditional %14193 %12829 %22315
|
||||
%12829 = OpLabel
|
||||
%13247 = OpLoad %150 %4862
|
||||
%19968 = OpLoad %508 %3594
|
||||
%12173 = OpSampledImage %510 %13247 %19968
|
||||
%15683 = OpImageSampleExplicitLod %v4float %12173 %13157 Lod %float_0
|
||||
%13874 = OpCompositeExtract %float %17678 1
|
||||
%12435 = OpCompositeExtract %float %17678 2
|
||||
%23308 = OpFMul %float %13874 %12435
|
||||
%17620 = OpExtInst %float %1 FClamp %23308 %float_0 %float_1
|
||||
%20299 = OpVectorShuffle %v3float %15683 %15683 0 1 2
|
||||
%11194 = OpVectorTimesScalar %v3float %20299 %17620
|
||||
%15301 = OpFAdd %v3float %12111 %11194
|
||||
OpBranch %22315
|
||||
%22315 = OpLabel
|
||||
%7727 = OpPhi %v3float %12111 %22314 %15301 %12829
|
||||
%23407 = OpVectorTimesScalar %v3float %7727 %float_0_5
|
||||
%9347 = OpFAdd %float %9346 %float_0_5
|
||||
%16243 = OpVectorShuffle %v3float %15534 %15534 0 1 2
|
||||
%22185 = OpFAdd %v3float %16243 %23407
|
||||
%15535 = OpVectorShuffle %v4float %15534 %22185 4 5 6 3
|
||||
%6442 = OpCompositeInsert %_struct_1017 %15535 %6441 0
|
||||
%24586 = OpVectorShuffle %v2float %837 %837 0 1
|
||||
%13215 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10358 = OpLoad %v4float %13215
|
||||
%8647 = OpVectorShuffle %v2float %10358 %10358 0 1
|
||||
%9206 = OpFMul %v2float %24586 %8647
|
||||
%18514 = OpFAdd %v2float %19927 %9206
|
||||
%7020 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21067 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13158 = OpExtInst %v2float %1 FClamp %18514 %7020 %21067
|
||||
%23593 = OpLoad %150 %5785
|
||||
%10359 = OpLoad %508 %5688
|
||||
%12174 = OpSampledImage %510 %23593 %10359
|
||||
%15380 = OpImageSampleExplicitLod %v4float %12174 %13158 Lod %float_0
|
||||
%15275 = OpCompositeExtract %float %15380 3
|
||||
%12125 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12981 = OpLoad %float %12125
|
||||
%15719 = OpFMul %float %15275 %12981
|
||||
%15288 = OpExtInst %float %1 FClamp %15719 %float_0 %float_1
|
||||
%22222 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11765 = OpLoad %v3float %22222
|
||||
%12112 = OpVectorTimesScalar %v3float %11765 %15288
|
||||
%15525 = OpLoad %150 %3312
|
||||
%24587 = OpLoad %508 %4646
|
||||
%12175 = OpSampledImage %510 %15525 %24587
|
||||
%17679 = OpImageSampleExplicitLod %v4float %12175 %13158 Lod %float_0
|
||||
%16947 = OpCompositeExtract %float %17679 1
|
||||
%14194 = OpFOrdGreaterThan %bool %16947 %float_0
|
||||
OpSelectionMerge %22316 DontFlatten
|
||||
OpBranchConditional %14194 %12830 %22316
|
||||
%12830 = OpLabel
|
||||
%13248 = OpLoad %150 %4862
|
||||
%19969 = OpLoad %508 %3594
|
||||
%12176 = OpSampledImage %510 %13248 %19969
|
||||
%15684 = OpImageSampleExplicitLod %v4float %12176 %13158 Lod %float_0
|
||||
%13875 = OpCompositeExtract %float %17679 1
|
||||
%12436 = OpCompositeExtract %float %17679 2
|
||||
%23309 = OpFMul %float %13875 %12436
|
||||
%17621 = OpExtInst %float %1 FClamp %23309 %float_0 %float_1
|
||||
%20300 = OpVectorShuffle %v3float %15684 %15684 0 1 2
|
||||
%11195 = OpVectorTimesScalar %v3float %20300 %17621
|
||||
%15302 = OpFAdd %v3float %12112 %11195
|
||||
OpBranch %22316
|
||||
%22316 = OpLabel
|
||||
%7728 = OpPhi %v3float %12112 %22315 %15302 %12830
|
||||
%23408 = OpVectorTimesScalar %v3float %7728 %float_0_5
|
||||
%9348 = OpFAdd %float %9347 %float_0_5
|
||||
%16244 = OpVectorShuffle %v3float %15535 %15535 0 1 2
|
||||
%22186 = OpFAdd %v3float %16244 %23408
|
||||
%15536 = OpVectorShuffle %v4float %15535 %22186 4 5 6 3
|
||||
%6443 = OpCompositeInsert %_struct_1017 %15536 %6442 0
|
||||
%24588 = OpVectorShuffle %v2float %1368 %1368 0 1
|
||||
%13216 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10360 = OpLoad %v4float %13216
|
||||
%8648 = OpVectorShuffle %v2float %10360 %10360 0 1
|
||||
%9207 = OpFMul %v2float %24588 %8648
|
||||
%18515 = OpFAdd %v2float %19927 %9207
|
||||
%7021 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21068 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13159 = OpExtInst %v2float %1 FClamp %18515 %7021 %21068
|
||||
%23594 = OpLoad %150 %5785
|
||||
%10361 = OpLoad %508 %5688
|
||||
%12177 = OpSampledImage %510 %23594 %10361
|
||||
%15381 = OpImageSampleExplicitLod %v4float %12177 %13159 Lod %float_0
|
||||
%15276 = OpCompositeExtract %float %15381 3
|
||||
%12126 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12982 = OpLoad %float %12126
|
||||
%15720 = OpFMul %float %15276 %12982
|
||||
%15289 = OpExtInst %float %1 FClamp %15720 %float_0 %float_1
|
||||
%22223 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11766 = OpLoad %v3float %22223
|
||||
%12113 = OpVectorTimesScalar %v3float %11766 %15289
|
||||
%15526 = OpLoad %150 %3312
|
||||
%24589 = OpLoad %508 %4646
|
||||
%12178 = OpSampledImage %510 %15526 %24589
|
||||
%17680 = OpImageSampleExplicitLod %v4float %12178 %13159 Lod %float_0
|
||||
%16948 = OpCompositeExtract %float %17680 1
|
||||
%14195 = OpFOrdGreaterThan %bool %16948 %float_0
|
||||
OpSelectionMerge %22317 DontFlatten
|
||||
OpBranchConditional %14195 %12831 %22317
|
||||
%12831 = OpLabel
|
||||
%13249 = OpLoad %150 %4862
|
||||
%19970 = OpLoad %508 %3594
|
||||
%12179 = OpSampledImage %510 %13249 %19970
|
||||
%15685 = OpImageSampleExplicitLod %v4float %12179 %13159 Lod %float_0
|
||||
%13876 = OpCompositeExtract %float %17680 1
|
||||
%12437 = OpCompositeExtract %float %17680 2
|
||||
%23310 = OpFMul %float %13876 %12437
|
||||
%17622 = OpExtInst %float %1 FClamp %23310 %float_0 %float_1
|
||||
%20301 = OpVectorShuffle %v3float %15685 %15685 0 1 2
|
||||
%11196 = OpVectorTimesScalar %v3float %20301 %17622
|
||||
%15303 = OpFAdd %v3float %12113 %11196
|
||||
OpBranch %22317
|
||||
%22317 = OpLabel
|
||||
%7729 = OpPhi %v3float %12113 %22316 %15303 %12831
|
||||
%23409 = OpVectorTimesScalar %v3float %7729 %float_0_75
|
||||
%9349 = OpFAdd %float %9348 %float_0_75
|
||||
%16245 = OpVectorShuffle %v3float %15536 %15536 0 1 2
|
||||
%22187 = OpFAdd %v3float %16245 %23409
|
||||
%15537 = OpVectorShuffle %v4float %15536 %22187 4 5 6 3
|
||||
%6444 = OpCompositeInsert %_struct_1017 %15537 %6443 0
|
||||
%24590 = OpVectorShuffle %v2float %142 %142 0 1
|
||||
%13217 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10362 = OpLoad %v4float %13217
|
||||
%8649 = OpVectorShuffle %v2float %10362 %10362 0 1
|
||||
%9208 = OpFMul %v2float %24590 %8649
|
||||
%18516 = OpFAdd %v2float %19927 %9208
|
||||
%7022 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21069 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13160 = OpExtInst %v2float %1 FClamp %18516 %7022 %21069
|
||||
%23595 = OpLoad %150 %5785
|
||||
%10363 = OpLoad %508 %5688
|
||||
%12180 = OpSampledImage %510 %23595 %10363
|
||||
%15382 = OpImageSampleExplicitLod %v4float %12180 %13160 Lod %float_0
|
||||
%15277 = OpCompositeExtract %float %15382 3
|
||||
%12127 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12983 = OpLoad %float %12127
|
||||
%15721 = OpFMul %float %15277 %12983
|
||||
%15290 = OpExtInst %float %1 FClamp %15721 %float_0 %float_1
|
||||
%22224 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11767 = OpLoad %v3float %22224
|
||||
%12114 = OpVectorTimesScalar %v3float %11767 %15290
|
||||
%15538 = OpLoad %150 %3312
|
||||
%24591 = OpLoad %508 %4646
|
||||
%12181 = OpSampledImage %510 %15538 %24591
|
||||
%17681 = OpImageSampleExplicitLod %v4float %12181 %13160 Lod %float_0
|
||||
%16949 = OpCompositeExtract %float %17681 1
|
||||
%14196 = OpFOrdGreaterThan %bool %16949 %float_0
|
||||
OpSelectionMerge %22318 DontFlatten
|
||||
OpBranchConditional %14196 %12832 %22318
|
||||
%12832 = OpLabel
|
||||
%13250 = OpLoad %150 %4862
|
||||
%19971 = OpLoad %508 %3594
|
||||
%12182 = OpSampledImage %510 %13250 %19971
|
||||
%15686 = OpImageSampleExplicitLod %v4float %12182 %13160 Lod %float_0
|
||||
%13877 = OpCompositeExtract %float %17681 1
|
||||
%12438 = OpCompositeExtract %float %17681 2
|
||||
%23311 = OpFMul %float %13877 %12438
|
||||
%17623 = OpExtInst %float %1 FClamp %23311 %float_0 %float_1
|
||||
%20302 = OpVectorShuffle %v3float %15686 %15686 0 1 2
|
||||
%11197 = OpVectorTimesScalar %v3float %20302 %17623
|
||||
%15304 = OpFAdd %v3float %12114 %11197
|
||||
OpBranch %22318
|
||||
%22318 = OpLabel
|
||||
%7730 = OpPhi %v3float %12114 %22317 %15304 %12832
|
||||
%23410 = OpVectorTimesScalar %v3float %7730 %float_0_5
|
||||
%9350 = OpFAdd %float %9349 %float_0_5
|
||||
%16246 = OpVectorShuffle %v3float %15537 %15537 0 1 2
|
||||
%22188 = OpFAdd %v3float %16246 %23410
|
||||
%15539 = OpVectorShuffle %v4float %15537 %22188 4 5 6 3
|
||||
%6445 = OpCompositeInsert %_struct_1017 %15539 %6444 0
|
||||
%24592 = OpVectorShuffle %v2float %1197 %1197 0 1
|
||||
%13218 = OpAccessChain %_ptr_Uniform_v4float %22044 %int_0
|
||||
%10364 = OpLoad %v4float %13218
|
||||
%8650 = OpVectorShuffle %v2float %10364 %10364 0 1
|
||||
%9209 = OpFMul %v2float %24592 %8650
|
||||
%18517 = OpFAdd %v2float %19927 %9209
|
||||
%7023 = OpVectorShuffle %v2float %17581 %17581 0 1
|
||||
%21070 = OpVectorShuffle %v2float %17581 %17581 2 3
|
||||
%13161 = OpExtInst %v2float %1 FClamp %18517 %7023 %21070
|
||||
%23596 = OpLoad %150 %5785
|
||||
%10365 = OpLoad %508 %5688
|
||||
%12183 = OpSampledImage %510 %23596 %10365
|
||||
%15383 = OpImageSampleExplicitLod %v4float %12183 %13161 Lod %float_0
|
||||
%15278 = OpCompositeExtract %float %15383 3
|
||||
%12128 = OpAccessChain %_ptr_Uniform_float %22044 %int_1
|
||||
%12984 = OpLoad %float %12128
|
||||
%15722 = OpFMul %float %15278 %12984
|
||||
%15291 = OpExtInst %float %1 FClamp %15722 %float_0 %float_1
|
||||
%22225 = OpAccessChain %_ptr_Uniform_v3float %12348 %int_5
|
||||
%11768 = OpLoad %v3float %22225
|
||||
%12115 = OpVectorTimesScalar %v3float %11768 %15291
|
||||
%15540 = OpLoad %150 %3312
|
||||
%24593 = OpLoad %508 %4646
|
||||
%12184 = OpSampledImage %510 %15540 %24593
|
||||
%17682 = OpImageSampleExplicitLod %v4float %12184 %13161 Lod %float_0
|
||||
%16950 = OpCompositeExtract %float %17682 1
|
||||
%14197 = OpFOrdGreaterThan %bool %16950 %float_0
|
||||
OpSelectionMerge %22319 DontFlatten
|
||||
OpBranchConditional %14197 %12833 %22319
|
||||
%12833 = OpLabel
|
||||
%13251 = OpLoad %150 %4862
|
||||
%19972 = OpLoad %508 %3594
|
||||
%12185 = OpSampledImage %510 %13251 %19972
|
||||
%15687 = OpImageSampleExplicitLod %v4float %12185 %13161 Lod %float_0
|
||||
%13878 = OpCompositeExtract %float %17682 1
|
||||
%12439 = OpCompositeExtract %float %17682 2
|
||||
%23312 = OpFMul %float %13878 %12439
|
||||
%17624 = OpExtInst %float %1 FClamp %23312 %float_0 %float_1
|
||||
%20303 = OpVectorShuffle %v3float %15687 %15687 0 1 2
|
||||
%11198 = OpVectorTimesScalar %v3float %20303 %17624
|
||||
%15305 = OpFAdd %v3float %12115 %11198
|
||||
OpBranch %22319
|
||||
%22319 = OpLabel
|
||||
%7731 = OpPhi %v3float %12115 %22318 %15305 %12833
|
||||
%23411 = OpVectorTimesScalar %v3float %7731 %float_0_5
|
||||
%9351 = OpFAdd %float %9350 %float_0_5
|
||||
%16247 = OpVectorShuffle %v3float %15539 %15539 0 1 2
|
||||
%22189 = OpFAdd %v3float %16247 %23411
|
||||
%15541 = OpVectorShuffle %v4float %15539 %22189 4 5 6 3
|
||||
%6719 = OpCompositeInsert %_struct_1017 %15541 %6445 0
|
||||
%23412 = OpVectorShuffle %v3float %15541 %15541 0 1 2
|
||||
%10833 = OpCompositeConstruct %v3float %9351 %9351 %9351
|
||||
%13750 = OpFDiv %v3float %23412 %10833
|
||||
%24033 = OpVectorShuffle %v4float %15541 %13750 4 5 6 3
|
||||
%8636 = OpCompositeInsert %_struct_1017 %24033 %6719 0
|
||||
%16315 = OpCompositeInsert %_struct_1017 %float_1 %8636 0 3
|
||||
%11544 = OpCompositeExtract %v4float %16315 0
|
||||
OpStore %4317 %11544
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -48,14 +48,6 @@ uint32_t CFG::find_common_dominator(uint32_t a, uint32_t b) const
|
||||
return a;
|
||||
}
|
||||
|
||||
uint32_t CFG::update_common_dominator(uint32_t a, uint32_t b)
|
||||
{
|
||||
auto dominator = find_common_dominator(immediate_dominators[a], immediate_dominators[b]);
|
||||
immediate_dominators[a] = dominator;
|
||||
immediate_dominators[b] = dominator;
|
||||
return dominator;
|
||||
}
|
||||
|
||||
void CFG::build_immediate_dominators()
|
||||
{
|
||||
// Traverse the post-order in reverse and build up the immediate dominator tree.
|
||||
@ -74,7 +66,7 @@ void CFG::build_immediate_dominators()
|
||||
if (immediate_dominators[block])
|
||||
{
|
||||
assert(immediate_dominators[edge]);
|
||||
immediate_dominators[block] = update_common_dominator(block, edge);
|
||||
immediate_dominators[block] = find_common_dominator(block, edge);
|
||||
}
|
||||
else
|
||||
immediate_dominators[block] = edge;
|
||||
|
@ -94,7 +94,6 @@ private:
|
||||
bool post_order_visit(uint32_t block);
|
||||
uint32_t visit_count = 0;
|
||||
|
||||
uint32_t update_common_dominator(uint32_t a, uint32_t b);
|
||||
bool is_back_edge(uint32_t to) const;
|
||||
};
|
||||
|
||||
|
@ -2240,7 +2240,17 @@ string CompilerGLSL::to_expression(uint32_t id)
|
||||
else if (e.need_transpose)
|
||||
return convert_row_major_matrix(e.expression, get<SPIRType>(e.expression_type));
|
||||
else
|
||||
return e.expression;
|
||||
{
|
||||
if (force_recompile)
|
||||
{
|
||||
// During first compilation phase, certain expression patterns can trigger exponential growth of memory.
|
||||
// Avoid this by returning dummy expressions during this phase.
|
||||
// Do not use empty expressions here, because those are sentinels for other cases.
|
||||
return "_";
|
||||
}
|
||||
else
|
||||
return e.expression;
|
||||
}
|
||||
}
|
||||
|
||||
case TypeConstant:
|
||||
@ -5675,9 +5685,8 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
|
||||
|
||||
if (shuffle)
|
||||
{
|
||||
bool allow_fwd = !backend.force_temp_use_for_two_vector_shuffles;
|
||||
should_fwd = allow_fwd && should_forward(vec0) && should_forward(vec1);
|
||||
trivial_forward = allow_fwd && !expression_is_forwarded(vec0) && !expression_is_forwarded(vec1);
|
||||
should_fwd = should_forward(vec0) && should_forward(vec1);
|
||||
trivial_forward = !expression_is_forwarded(vec0) && !expression_is_forwarded(vec1);
|
||||
|
||||
// Constructor style and shuffling from two different vectors.
|
||||
vector<string> args;
|
||||
@ -8295,6 +8304,7 @@ void CompilerGLSL::emit_block_chain(SPIRBlock &block)
|
||||
}
|
||||
else if (continue_type == SPIRBlock::DoWhileLoop)
|
||||
{
|
||||
flush_undeclared_variables(block);
|
||||
statement("do");
|
||||
begin_scope();
|
||||
|
||||
|
@ -243,6 +243,14 @@ protected:
|
||||
template <typename... Ts>
|
||||
inline void statement(Ts &&... ts)
|
||||
{
|
||||
if (force_recompile)
|
||||
{
|
||||
// Do not bother emitting code while force_recompile is active.
|
||||
// We will compile again.
|
||||
statement_count++;
|
||||
return;
|
||||
}
|
||||
|
||||
if (redirect_statement)
|
||||
redirect_statement->push_back(join(std::forward<Ts>(ts)...));
|
||||
else
|
||||
@ -320,7 +328,6 @@ protected:
|
||||
bool boolean_mix_support = true;
|
||||
bool allow_precision_qualifiers = false;
|
||||
bool can_swizzle_scalar = false;
|
||||
bool force_temp_use_for_two_vector_shuffles = false;
|
||||
bool force_gl_in_out_block = false;
|
||||
} backend;
|
||||
|
||||
|
@ -72,7 +72,6 @@ string CompilerMSL::compile()
|
||||
backend.use_typed_initializer_list = true;
|
||||
backend.native_row_major_matrix = false;
|
||||
backend.flexible_member_array_supported = false;
|
||||
backend.force_temp_use_for_two_vector_shuffles = true;
|
||||
|
||||
replace_illegal_names();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user