Use --preserve-numeric-ids when assembling test shaders.

This makes it easier to debug codegen for these shaders.
This commit is contained in:
Chip Davis 2023-01-11 13:34:44 -08:00
parent 2d3a152081
commit 68f0257f26
346 changed files with 3554 additions and 3554 deletions

View File

@ -1,15 +1,15 @@
RWByteAddressBuffer _4 : register(u0);
RWByteAddressBuffer _6 : register(u0);
void comp_main()
{
uint _21 = _4.Load(_4.Load(0) * 4 + 4);
for (uint _23 = 0u; _23 < 64u; )
uint _21 = _6.Load(_6.Load(0) * 4 + 4);
for (uint _40 = 0u; _40 < 64u; )
{
_4.Store(_23 * 4 + 4, 0u);
_23++;
_6.Store(_40 * 4 + 4, 0u);
_40++;
continue;
}
_4.Store(_4.Load(0) * 4 + 4, _21);
_6.Store(_6.Load(0) * 4 + 4, _21);
}
[numthreads(1, 1, 1)]

View File

@ -9,9 +9,9 @@ struct SPIRV_Cross_Input
void comp_main()
{
uint _29;
u0_counter.InterlockedAdd(0, -1, _29);
u0[asint(asfloat(_29))] = uint(int(gl_GlobalInvocationID.x)).x;
uint _24;
u0_counter.InterlockedAdd(0, -1, _24);
u0[asint(asfloat(_24))] = uint(int(gl_GlobalInvocationID.x)).x;
}
[numthreads(4, 1, 1)]

View File

@ -9,9 +9,9 @@ struct SPIRV_Cross_Input
void comp_main()
{
uint _29;
u0_counter.InterlockedAdd(0, 1, _29);
u0[asint(asfloat(_29))] = uint(int(gl_GlobalInvocationID.x)).x;
uint _24;
u0_counter.InterlockedAdd(0, 1, _24);
u0[asint(asfloat(_24))] = uint(int(gl_GlobalInvocationID.x)).x;
}
[numthreads(4, 1, 1)]

View File

@ -1,26 +1,26 @@
cbuffer _4_5 : register(b0)
cbuffer _6_7 : register(b0)
{
column_major float2x4 _5_m0 : packoffset(c0);
float4 _5_m1 : packoffset(c4);
column_major float2x4 _7_m0 : packoffset(c0);
float4 _7_m1 : packoffset(c4);
};
static float2 _3;
static float2 _4;
struct SPIRV_Cross_Output
{
float2 _3 : SV_Target0;
float2 _4 : SV_Target0;
};
void frag_main()
{
_3 = mul(_5_m0, _5_m1);
_4 = mul(_7_m0, _7_m1);
}
SPIRV_Cross_Output main()
{
frag_main();
SPIRV_Cross_Output stage_output;
stage_output._3 = _3;
stage_output._4 = _4;
return stage_output;
}

View File

@ -17,9 +17,9 @@ uint2 spvTextureSize(Texture2D<float4> Tex, uint Level, out uint Param)
void frag_main()
{
uint _18_dummy_parameter;
uint _19_dummy_parameter;
uint _20_dummy_parameter;
Size = int2(spvTextureSize(uTexture, uint(0), _19_dummy_parameter)) + int2(spvTextureSize(uTexture, uint(1), _20_dummy_parameter));
Size = int2(spvTextureSize(uTexture, uint(0), _18_dummy_parameter)) + int2(spvTextureSize(uTexture, uint(1), _19_dummy_parameter));
}
SPIRV_Cross_Output main()

View File

@ -17,22 +17,22 @@ struct SPIRV_Cross_Output
void frag_main()
{
float phi;
float4 _36;
int _51;
_51 = 0;
float4 _45;
int _57;
_57 = 0;
phi = 1.0f;
_36 = float4(1.0f, 2.0f, 1.0f, 2.0f);
_45 = float4(1.0f, 2.0f, 1.0f, 2.0f);
for (;;)
{
FragColor = _36;
if (_51 < 4)
FragColor = _45;
if (_57 < 4)
{
if (v0[_51] > 0.0f)
if (v0[_57] > 0.0f)
{
float2 _48 = phi.xx;
_51++;
float2 _43 = phi.xx;
_57++;
phi += 2.0f;
_36 = uImage.SampleLevel(_uImage_sampler, _48, 0.0f);
_45 = uImage.SampleLevel(_uImage_sampler, _43, 0.0f);
continue;
}
else

View File

@ -30,14 +30,14 @@ void frag_main()
FragColor = 4.0f;
}
#line 19 "test.frag"
for (int _127 = 0; float(_127) < (40.0f + vColor); )
for (int _131 = 0; float(_131) < (40.0f + vColor); )
{
#line 21 "test.frag"
FragColor += 0.20000000298023223876953125f;
#line 22 "test.frag"
FragColor += 0.300000011920928955078125f;
#line 19 "test.frag"
_127 += (int(vColor) + 5);
_131 += (int(vColor) + 5);
continue;
}
#line 25 "test.frag"

View File

@ -1,6 +1,6 @@
static const float _46[16] = { 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f };
static const float4 _76[4] = { 0.0f.xxxx, 1.0f.xxxx, 8.0f.xxxx, 5.0f.xxxx };
static const float4 _90[4] = { 20.0f.xxxx, 30.0f.xxxx, 50.0f.xxxx, 60.0f.xxxx };
static const float _16[16] = { 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f, 1.0f, 2.0f, 3.0f, 4.0f };
static const float4 _60[4] = { 0.0f.xxxx, 1.0f.xxxx, 8.0f.xxxx, 5.0f.xxxx };
static const float4 _104[4] = { 20.0f.xxxx, 30.0f.xxxx, 50.0f.xxxx, 60.0f.xxxx };
static float FragColor;
static int index;
@ -17,34 +17,34 @@ struct SPIRV_Cross_Output
void frag_main()
{
float4 foobar[4] = _76;
float4 baz[4] = _76;
FragColor = _46[index];
float4 foobar[4] = _60;
float4 baz[4] = _60;
FragColor = _16[index];
if (index < 10)
{
FragColor += _46[index ^ 1];
FragColor += _16[index ^ 1];
}
else
{
FragColor += _46[index & 1];
FragColor += _16[index & 1];
}
bool _99 = index > 30;
if (_99)
bool _63 = index > 30;
if (_63)
{
FragColor += _76[index & 3].y;
FragColor += _60[index & 3].y;
}
else
{
FragColor += _76[index & 1].x;
FragColor += _60[index & 1].x;
}
if (_99)
if (_63)
{
foobar[1].z = 20.0f;
}
int _37 = index & 3;
FragColor += foobar[_37].z;
baz = _90;
FragColor += baz[_37].z;
int _91 = index & 3;
FragColor += foobar[_91].z;
baz = _104;
FragColor += baz[_91].z;
}
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)

View File

@ -13,21 +13,21 @@ struct SPIRV_Cross_Output
void frag_main()
{
float4 _33;
float4 _46;
for (;;)
{
if (counter == 10)
{
_33 = 10.0f.xxxx;
_46 = 10.0f.xxxx;
break;
}
else
{
_33 = 30.0f.xxxx;
_46 = 30.0f.xxxx;
break;
}
}
FragColor = _33;
FragColor = _46;
}
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)

View File

@ -1,35 +1,35 @@
#ifndef SPIRV_CROSS_CONSTANT_ID_201
#define SPIRV_CROSS_CONSTANT_ID_201 -10
#endif
static const int _7 = SPIRV_CROSS_CONSTANT_ID_201;
static const int _20 = (_7 + 2);
static const int _13 = SPIRV_CROSS_CONSTANT_ID_201;
static const int _15 = (_13 + 2);
#ifndef SPIRV_CROSS_CONSTANT_ID_202
#define SPIRV_CROSS_CONSTANT_ID_202 100u
#endif
static const uint _8 = SPIRV_CROSS_CONSTANT_ID_202;
static const uint _25 = (_8 % 5u);
static const int4 _30 = int4(20, 30, _20, _20);
static const int2 _32 = int2(_30.y, _30.x);
static const int _33 = _30.y;
static const uint _24 = SPIRV_CROSS_CONSTANT_ID_202;
static const uint _26 = (_24 % 5u);
static const int4 _36 = int4(20, 30, _15, _15);
static const int2 _41 = int2(_36.y, _36.x);
static const int _60 = _36.y;
static float4 gl_Position;
static int _4;
static int _58;
struct SPIRV_Cross_Output
{
nointerpolation int _4 : TEXCOORD0;
nointerpolation int _58 : TEXCOORD0;
float4 gl_Position : SV_Position;
};
void vert_main()
{
float4 _63 = 0.0f.xxxx;
_63.y = float(_20);
_63.z = float(_25);
float4 _52 = _63 + float4(_30);
float2 _56 = _52.xy + float2(_32);
gl_Position = float4(_56.x, _56.y, _52.z, _52.w);
_4 = _33;
_63.y = float(_15);
_63.z = float(_26);
float4 _39 = _63 + float4(_36);
float2 _46 = _39.xy + float2(_41);
gl_Position = float4(_46.x, _46.y, _39.z, _39.w);
_58 = _60;
}
SPIRV_Cross_Output main()
@ -37,6 +37,6 @@ SPIRV_Cross_Output main()
vert_main();
SPIRV_Cross_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output._4 = _4;
stage_output._58 = _58;
return stage_output;
}

View File

@ -21,7 +21,7 @@ struct u0_counters
kernel void main0(device u0_counters& u0_counter [[buffer(0)]], texture2d<uint, access::write> u0 [[texture(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
uint _29 = atomic_fetch_sub_explicit((device atomic_uint*)&u0_counter.c, 1, memory_order_relaxed);
u0.write(uint4(uint(int(gl_GlobalInvocationID.x))), spvTexelBufferCoord(as_type<int>(as_type<float>(_29))));
uint _24 = atomic_fetch_sub_explicit((device atomic_uint*)&u0_counter.c, 1, memory_order_relaxed);
u0.write(uint4(uint(int(gl_GlobalInvocationID.x))), spvTexelBufferCoord(as_type<int>(as_type<float>(_24))));
}

View File

@ -21,7 +21,7 @@ struct u0_counters
kernel void main0(device u0_counters& u0_counter [[buffer(0)]], texture2d<uint, access::write> u0 [[texture(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
uint _29 = atomic_fetch_add_explicit((device atomic_uint*)&u0_counter.c, 1, memory_order_relaxed);
u0.write(uint4(uint(int(gl_GlobalInvocationID.x))), spvTexelBufferCoord(as_type<int>(as_type<float>(_29))));
uint _24 = atomic_fetch_add_explicit((device atomic_uint*)&u0_counter.c, 1, memory_order_relaxed);
u0.write(uint4(uint(int(gl_GlobalInvocationID.x))), spvTexelBufferCoord(as_type<int>(as_type<float>(_24))));
}

View File

@ -19,11 +19,11 @@ struct cb5_struct
kernel void main0(constant cb5_struct& cb0_5 [[buffer(0)]], texture2d<uint, access::write> u0 [[texture(0)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]])
{
uint _44 = as_type<uint>(as_type<float>(int(gl_LocalInvocationID.x) << 4)) >> 2u;
uint4 _51 = as_type<uint4>(cb0_5._m0[uint(as_type<int>(as_type<float>(int(gl_LocalInvocationID.x)))) + 1u]);
u0.write(_51.xxxx, spvTexelBufferCoord(_44));
u0.write(_51.yyyy, spvTexelBufferCoord((_44 + 1u)));
u0.write(_51.zzzz, spvTexelBufferCoord((_44 + 2u)));
u0.write(_51.wwww, spvTexelBufferCoord((_44 + 3u)));
uint _41 = as_type<uint>(as_type<float>(int(gl_LocalInvocationID.x) << 4)) >> 2u;
uint4 _50 = as_type<uint4>(cb0_5._m0[uint(as_type<int>(as_type<float>(int(gl_LocalInvocationID.x)))) + 1u]);
u0.write(_50.xxxx, spvTexelBufferCoord(_41));
u0.write(_50.yyyy, spvTexelBufferCoord((_41 + 1u)));
u0.write(_50.zzzz, spvTexelBufferCoord((_41 + 2u)));
u0.write(_50.wwww, spvTexelBufferCoord((_41 + 3u)));
}

View File

@ -17,8 +17,8 @@ struct cb
float value;
};
kernel void main0(constant cb& _6 [[buffer(0)]], texture2d<float, access::write> _buffer [[texture(0)]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]], uint gl_LocalInvocationIndex [[thread_index_in_threadgroup]])
kernel void main0(constant cb& _8 [[buffer(0)]], texture2d<float, access::write> _buffer [[texture(0)]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]], uint gl_LocalInvocationIndex [[thread_index_in_threadgroup]])
{
_buffer.write(float4(_6.value), spvTexelBufferCoord(((32u * gl_WorkGroupID.x) + gl_LocalInvocationIndex)));
_buffer.write(float4(_8.value), spvTexelBufferCoord(((32u * gl_WorkGroupID.x) + gl_LocalInvocationIndex)));
}

View File

@ -24,11 +24,11 @@ struct SSBO0
float4 vec4_val;
};
kernel void main0(device SSBO0& _4 [[buffer(0)]])
kernel void main0(device SSBO0& _12 [[buffer(0)]])
{
_4.scalar = spvQuantizeToF16(_4.scalar);
_4.vec2_val = spvQuantizeToF16(_4.vec2_val);
_4.vec3_val = spvQuantizeToF16(_4.vec3_val);
_4.vec4_val = spvQuantizeToF16(_4.vec4_val);
_12.scalar = spvQuantizeToF16(_12.scalar);
_12.vec2_val = spvQuantizeToF16(_12.vec2_val);
_12.vec3_val = spvQuantizeToF16(_12.vec3_val);
_12.vec4_val = spvQuantizeToF16(_12.vec4_val);
}

View File

@ -12,11 +12,11 @@ struct foo
packed_half2 wibble;
};
kernel void main0(device foo& _8 [[buffer(0)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]], uint3 gl_NumWorkGroups [[threadgroups_per_grid]])
kernel void main0(device foo& _10 [[buffer(0)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]], uint3 gl_NumWorkGroups [[threadgroups_per_grid]])
{
_8.bar = gl_LocalInvocationID.x;
_8.baz = float3(gl_GlobalInvocationID);
_8.blah = uchar4(uint4(uint4(uchar4(_8.blah)).xyz + gl_WorkGroupID, 0u));
_8.wibble = half2(float2(half2(_8.wibble)) * float2(gl_NumWorkGroups.xy));
_10.bar = gl_LocalInvocationID.x;
_10.baz = float3(gl_GlobalInvocationID);
_10.blah = uchar4(uint4(uint4(uchar4(_10.blah)).xyz + gl_WorkGroupID, 0u));
_10.wibble = half2(float2(half2(_10.wibble)) * float2(gl_NumWorkGroups.xy));
}

View File

@ -8,14 +8,14 @@ struct SSBO
float a;
};
constant uint _5_tmp [[function_constant(10)]];
constant uint _5 = is_function_constant_defined(_5_tmp) ? _5_tmp : 9u;
constant uint _6_tmp [[function_constant(12)]];
constant uint _6 = is_function_constant_defined(_6_tmp) ? _6_tmp : 4u;
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(_5, 20u, _6);
constant uint _19_tmp [[function_constant(10)]];
constant uint _19 = is_function_constant_defined(_19_tmp) ? _19_tmp : 9u;
constant uint _21_tmp [[function_constant(12)]];
constant uint _21 = is_function_constant_defined(_21_tmp) ? _21_tmp : 4u;
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(_19, 20u, _21);
kernel void main0(device SSBO& _4 [[buffer(0)]])
kernel void main0(device SSBO& _6 [[buffer(0)]])
{
_4.a += 1.0;
_6.a += 1.0;
}

View File

@ -20,26 +20,26 @@ kernel void main0(device foo& buf [[buffer(0)]], constant bar& cb [[buffer(1)]],
bool _71 = cb.d != 0;
device foo* _72 = _71 ? &buf : nullptr;
device foo* _67 = _72;
device foo* _45 = _72;
device foo* _65 = _72;
thread uint3* _79 = _71 ? &gl_GlobalInvocationID : &gl_LocalInvocationID;
thread uint3* _74 = _79;
device int* _49;
device int* _52;
device int* _55;
_52 = &_72->a[0u];
_55 = &buf.a[0u];
int _57;
int _58;
_49 = &_72->a[0u];
_52 = &buf.a[0u];
int _54;
int _55;
for (;;)
{
_57 = *_52;
_58 = *_55;
if (_57 != _58)
_54 = *_49;
_55 = *_52;
if (_54 != _55)
{
int _66 = (_57 + _58) + int((*_79).x);
*_52 = _66;
*_55 = _66;
int _63 = (_54 + _55) + int((*_79).x);
*_49 = _63;
*_52 = _63;
_49 = &_49[1u];
_52 = &_52[1u];
_55 = &_55[1u];
continue;
}
else

View File

@ -12,14 +12,14 @@ constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(16u, 16u, 1u);
kernel void main0(constant cb1_struct& cb0_1 [[buffer(0)]], texture2d<float, access::write> u0 [[texture(0)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]])
{
int2 _46 = int2(u0.get_width(), u0.get_height()) >> int2(uint2(4u));
int2 _37 = int2(u0.get_width(), u0.get_height()) >> int2(uint2(4u));
int _98;
_98 = 0;
for (; _98 < _46.y; _98++)
for (; _98 < _37.y; _98++)
{
for (int _99 = 0; _99 < _46.x; )
for (int _99 = 0; _99 < _37.x; )
{
u0.write(cb0_1._RESERVED_IDENTIFIER_FIXUP_m0[0].xxxx, uint2(((_46 * int3(gl_LocalInvocationID).xy) + int2(_98, _99))));
u0.write(cb0_1._RESERVED_IDENTIFIER_FIXUP_m0[0].xxxx, uint2(((_37 * int3(gl_LocalInvocationID).xy) + int2(_98, _99))));
_99++;
continue;
}

View File

@ -12,14 +12,14 @@ constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(16u, 16u, 1u);
kernel void main0(constant cb1_struct& cb0_1 [[buffer(0)]], texture2d<float, access::write> u0 [[texture(0)]], uint3 gl_LocalInvocationID [[thread_position_in_threadgroup]])
{
int2 _40 = int2(u0.get_width(), u0.get_height()) >> int2(uint2(4u));
int2 _20 = int2(u0.get_width(), u0.get_height()) >> int2(uint2(4u));
int _80;
_80 = 0;
for (; _80 < _40.y; _80++)
for (; _80 < _20.y; _80++)
{
for (int _81 = 0; _81 < _40.x; )
for (int _81 = 0; _81 < _20.x; )
{
u0.write(cb0_1._RESERVED_IDENTIFIER_FIXUP_m0[0].xxxx, uint2(((_40 * int3(gl_LocalInvocationID).xy) + int2(_80, _81))));
u0.write(cb0_1._RESERVED_IDENTIFIER_FIXUP_m0[0].xxxx, uint2(((_20 * int3(gl_LocalInvocationID).xy) + int2(_80, _81))));
_81++;
continue;
}

View File

@ -3,46 +3,46 @@
using namespace metal;
struct _4
struct _6
{
float4 _m0;
};
struct _6
struct _8
{
int _m0;
};
struct _7
struct _9
{
float4 _m0;
};
struct main0_out
{
float4 m_3 [[color(0)]];
float4 m_4 [[color(0)]];
};
fragment main0_out main0(const device _4* _5_0 [[buffer(0)]], const device _4* _5_1 [[buffer(1)]], const device _4* _5_2 [[buffer(2)]], const device _4* _5_3 [[buffer(3)]], constant _6& _20 [[buffer(4)]], constant _7* _8_0 [[buffer(5)]], constant _7* _8_1 [[buffer(6)]], constant _7* _8_2 [[buffer(7)]], constant _7* _8_3 [[buffer(8)]])
fragment main0_out main0(const device _6* _7_0 [[buffer(0)]], const device _6* _7_1 [[buffer(1)]], const device _6* _7_2 [[buffer(2)]], const device _6* _7_3 [[buffer(3)]], constant _8& _21 [[buffer(4)]], constant _9* _10_0 [[buffer(5)]], constant _9* _10_1 [[buffer(6)]], constant _9* _10_2 [[buffer(7)]], constant _9* _10_3 [[buffer(8)]])
{
const device _4* _5[] =
const device _6* _7[] =
{
_5_0,
_5_1,
_5_2,
_5_3,
_7_0,
_7_1,
_7_2,
_7_3,
};
constant _7* _8[] =
constant _9* _10[] =
{
_8_0,
_8_1,
_8_2,
_8_3,
_10_0,
_10_1,
_10_2,
_10_3,
};
main0_out out = {};
out.m_3 = fma(_8[_20._m0]->_m0, float4(0.20000000298023223876953125), _5[_20._m0]->_m0);
out.m_4 = fma(_10[_21._m0]->_m0, float4(0.20000000298023223876953125), _7[_21._m0]->_m0);
return out;
}

View File

@ -20,11 +20,11 @@ struct main0_out
float4 _entryPointOutput [[color(0)]];
};
fragment main0_out main0(constant buf& _11 [[buffer(0)]], float4 gl_FragCoord [[position]])
fragment main0_out main0(constant buf& _15 [[buffer(0)]], float4 gl_FragCoord [[position]])
{
main0_out out = {};
int _68 = int(gl_FragCoord.x) % 16;
out._entryPointOutput = float4(dot(float3(_11.results[_68].a), _11.bar.xyz), _11.results[_68].b, 0.0, 0.0);
int _70 = int(gl_FragCoord.x) % 16;
out._entryPointOutput = float4(dot(float3(_15.results[_70].a), _15.bar.xyz), _15.results[_70].b, 0.0, 0.0);
return out;
}

View File

@ -17,22 +17,22 @@ fragment main0_out main0(main0_in in [[stage_in]], texture2d<float> uImage [[tex
{
main0_out out = {};
float phi;
float4 _36;
int _51;
_51 = 0;
float4 _45;
int _57;
_57 = 0;
phi = 1.0;
_36 = float4(1.0, 2.0, 1.0, 2.0);
_45 = float4(1.0, 2.0, 1.0, 2.0);
for (;;)
{
out.FragColor = _36;
if (_51 < 4)
out.FragColor = _45;
if (_57 < 4)
{
if (in.v0[_51] > 0.0)
if (in.v0[_57] > 0.0)
{
float2 _48 = float2(phi);
_51++;
float2 _43 = float2(phi);
_57++;
phi += 2.0;
_36 = uImage.sample(uImageSmplr, _48, level(0.0));
_45 = uImage.sample(uImageSmplr, _43, level(0.0));
continue;
}
else

View File

@ -33,14 +33,14 @@ fragment main0_out main0(main0_in in [[stage_in]])
out.FragColor = 4.0;
}
#line 19 "test.frag"
for (int _127 = 0; float(_127) < (40.0 + in.vColor); )
for (int _131 = 0; float(_131) < (40.0 + in.vColor); )
{
#line 21 "test.frag"
out.FragColor += 0.20000000298023223876953125;
#line 22 "test.frag"
out.FragColor += 0.300000011920928955078125;
#line 19 "test.frag"
_127 += (int(in.vColor) + 5);
_131 += (int(in.vColor) + 5);
continue;
}
#line 25 "test.frag"

View File

@ -10,23 +10,23 @@ struct main0_out
struct main0_in
{
float2 m_2 [[user(locn1)]];
float m_3 [[user(locn1_2)]];
float m_4 [[user(locn2), flat]];
uint m_5 [[user(locn2_1)]];
uint m_6 [[user(locn2_2)]];
float2 m_8 [[user(locn1)]];
float m_16 [[user(locn1_2)]];
float m_22 [[user(locn2), flat]];
uint m_28 [[user(locn2_1)]];
uint m_33 [[user(locn2_2)]];
};
fragment main0_out main0(main0_in in [[stage_in]])
{
main0_out out = {};
float4 v1;
v1 = float4(in.m_2.x, in.m_2.y, v1.z, v1.w);
v1.z = in.m_3;
v1 = float4(in.m_8.x, in.m_8.y, v1.z, v1.w);
v1.z = in.m_16;
float4 v2;
v2.x = in.m_4;
v2.y = as_type<float>(in.m_5);
v2.z = as_type<float>(in.m_6);
v2.x = in.m_22;
v2.y = as_type<float>(in.m_28);
v2.z = as_type<float>(in.m_33);
out.o0.y = float(as_type<uint>(as_type<float>(as_type<int>(v2.y) + as_type<int>(v2.z))));
out.o0.x = v1.y + v2.x;
out.o0 = float4(out.o0.x, out.o0.y, v1.z, v1.x);

View File

@ -44,9 +44,9 @@ struct spvUnsafeArray
}
};
constant spvUnsafeArray<float, 16> _46 = spvUnsafeArray<float, 16>({ 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0 });
constant spvUnsafeArray<float4, 4> _76 = spvUnsafeArray<float4, 4>({ float4(0.0), float4(1.0), float4(8.0), float4(5.0) });
constant spvUnsafeArray<float4, 4> _90 = spvUnsafeArray<float4, 4>({ float4(20.0), float4(30.0), float4(50.0), float4(60.0) });
constant spvUnsafeArray<float, 16> _16 = spvUnsafeArray<float, 16>({ 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0 });
constant spvUnsafeArray<float4, 4> _60 = spvUnsafeArray<float4, 4>({ float4(0.0), float4(1.0), float4(8.0), float4(5.0) });
constant spvUnsafeArray<float4, 4> _104 = spvUnsafeArray<float4, 4>({ float4(20.0), float4(30.0), float4(50.0), float4(60.0) });
struct main0_out
{
@ -63,32 +63,32 @@ fragment main0_out main0(main0_in in [[stage_in]])
spvUnsafeArray<float4, 4> foobar = spvUnsafeArray<float4, 4>({ float4(0.0), float4(1.0), float4(8.0), float4(5.0) });
spvUnsafeArray<float4, 4> baz = spvUnsafeArray<float4, 4>({ float4(0.0), float4(1.0), float4(8.0), float4(5.0) });
main0_out out = {};
out.FragColor = _46[in.index];
out.FragColor = _16[in.index];
if (in.index < 10)
{
out.FragColor += _46[in.index ^ 1];
out.FragColor += _16[in.index ^ 1];
}
else
{
out.FragColor += _46[in.index & 1];
out.FragColor += _16[in.index & 1];
}
bool _99 = in.index > 30;
if (_99)
bool _63 = in.index > 30;
if (_63)
{
out.FragColor += _76[in.index & 3].y;
out.FragColor += _60[in.index & 3].y;
}
else
{
out.FragColor += _76[in.index & 1].x;
out.FragColor += _60[in.index & 1].x;
}
if (_99)
if (_63)
{
foobar[1].z = 20.0;
}
int _37 = in.index & 3;
out.FragColor += foobar[_37].z;
baz = _90;
out.FragColor += baz[_37].z;
int _91 = in.index & 3;
out.FragColor += foobar[_91].z;
baz = _104;
out.FragColor += baz[_91].z;
return out;
}

View File

@ -154,24 +154,24 @@ fragment main0_out main0(main0_in in [[stage_in]], uint gl_SampleID [[sample_id]
out.FragColor.x += in.s_w_1.interpolate_at_centroid();
out.FragColor.x += in.s_w_0.interpolate_at_sample(2);
out.FragColor.x += in.s_w_1.interpolate_at_offset(float2(-0.100000001490116119384765625, 0.100000001490116119384765625) + 0.4375);
float2 _328 = out.FragColor.xy + in.baz.interpolate_at_sample(gl_SampleID);
out.FragColor = float4(_328.x, _328.y, out.FragColor.z, out.FragColor.w);
float2 _329 = out.FragColor.xy + in.baz.interpolate_at_sample(gl_SampleID);
out.FragColor = float4(_329.x, _329.y, out.FragColor.z, out.FragColor.w);
out.FragColor.x += in.baz.interpolate_at_centroid().x;
out.FragColor.y += in.baz.interpolate_at_sample(3).y;
out.FragColor.z += in.baz.interpolate_at_offset(float2(-0.100000001490116119384765625, 0.100000001490116119384765625) + 0.4375).y;
float2 _353 = out.FragColor.xy + in.a_1.interpolate_at_centroid();
out.FragColor = float4(_353.x, _353.y, out.FragColor.z, out.FragColor.w);
float2 _360 = out.FragColor.xy + in.a_0.interpolate_at_sample(2);
out.FragColor = float4(_360.x, _360.y, out.FragColor.z, out.FragColor.w);
float2 _367 = out.FragColor.xy + in.a_1.interpolate_at_offset(float2(-0.100000001490116119384765625, 0.100000001490116119384765625) + 0.4375);
out.FragColor = float4(_367.x, _367.y, out.FragColor.z, out.FragColor.w);
float2 _354 = out.FragColor.xy + in.a_1.interpolate_at_centroid();
out.FragColor = float4(_354.x, _354.y, out.FragColor.z, out.FragColor.w);
float2 _361 = out.FragColor.xy + in.a_0.interpolate_at_sample(2);
out.FragColor = float4(_361.x, _361.y, out.FragColor.z, out.FragColor.w);
float2 _368 = out.FragColor.xy + in.a_1.interpolate_at_offset(float2(-0.100000001490116119384765625, 0.100000001490116119384765625) + 0.4375);
out.FragColor = float4(_368.x, _368.y, out.FragColor.z, out.FragColor.w);
out.FragColor += s.z;
float2 _379 = out.FragColor.xy + in.s_z.interpolate_at_centroid().yy;
out.FragColor = float4(_379.x, _379.y, out.FragColor.z, out.FragColor.w);
float2 _387 = out.FragColor.yz + in.s_z.interpolate_at_sample(3).xy;
out.FragColor = float4(out.FragColor.x, _387.x, _387.y, out.FragColor.w);
float2 _395 = out.FragColor.zw + in.s_z.interpolate_at_offset(float2(-0.100000001490116119384765625, 0.100000001490116119384765625) + 0.4375).wx;
out.FragColor = float4(out.FragColor.x, out.FragColor.y, _395.x, _395.y);
float2 _380 = out.FragColor.xy + in.s_z.interpolate_at_centroid().yy;
out.FragColor = float4(_380.x, _380.y, out.FragColor.z, out.FragColor.w);
float2 _388 = out.FragColor.yz + in.s_z.interpolate_at_sample(3).xy;
out.FragColor = float4(out.FragColor.x, _388.x, _388.y, out.FragColor.w);
float2 _396 = out.FragColor.zw + in.s_z.interpolate_at_offset(float2(-0.100000001490116119384765625, 0.100000001490116119384765625) + 0.4375).wx;
out.FragColor = float4(out.FragColor.x, out.FragColor.y, _396.x, _396.y);
out.FragColor += s.u[0];
out.FragColor += in.s_u_1.interpolate_at_centroid();
out.FragColor += in.s_u_0.interpolate_at_sample(2);

View File

@ -16,21 +16,21 @@ struct main0_in
fragment main0_out main0(main0_in in [[stage_in]])
{
main0_out out = {};
float4 _33;
float4 _46;
for (;;)
{
if (in.counter == 10)
{
_33 = float4(10.0);
_46 = float4(10.0);
break;
}
else
{
_33 = float4(30.0);
_46 = float4(30.0);
break;
}
}
out.FragColor = _33;
out.FragColor = _46;
return out;
}

View File

@ -3,19 +3,19 @@
using namespace metal;
struct _28
struct _15
{
float4 _m0;
};
struct _6
struct _3
{
float4 _m0;
float _m1;
float4 _m2;
};
struct _10
struct _4
{
float3 _m0;
packed_float3 _m1;
@ -44,7 +44,7 @@ struct _10
float4 _m24;
};
struct _18
struct _7
{
float4x4 _m0;
float4x4 _m1;
@ -90,188 +90,188 @@ struct _18
struct main0_out
{
float4 m_5 [[color(0)]];
float4 m_4317 [[color(0)]];
};
fragment main0_out main0(constant _6& _7 [[buffer(0)]], constant _10& _11 [[buffer(1)]], constant _18& _19 [[buffer(2)]], texture2d<float> _8 [[texture(0)]], texture2d<float> _12 [[texture(1)]], texture2d<float> _14 [[texture(2)]], sampler _9 [[sampler(0)]], sampler _13 [[sampler(1)]], sampler _15 [[sampler(2)]], float4 gl_FragCoord [[position]])
fragment main0_out main0(constant _3& _22044 [[buffer(0)]], constant _4& _12348 [[buffer(1)]], constant _7& _15259 [[buffer(2)]], texture2d<float> _5785 [[texture(0)]], texture2d<float> _3312 [[texture(1)]], texture2d<float> _4862 [[texture(2)]], sampler _5688 [[sampler(0)]], sampler _4646 [[sampler(1)]], sampler _3594 [[sampler(2)]], float4 gl_FragCoord [[position]])
{
main0_out out = {};
float4 _88 = _7._m2 * _7._m0.xyxy;
float2 _95 = _88.xy;
float2 _96 = _88.zw;
float2 _97 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(0.0, -2.0) * _7._m0.xy), _95, _96);
float3 _109 = float3(_11._m5) * fast::clamp(_8.sample(_9, _97, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _113 = _12.sample(_13, _97, level(0.0));
float _114 = _113.y;
float3 _129;
if (_114 > 0.0)
float4 _17581 = _22044._m2 * _22044._m0.xyxy;
float2 _7011 = _17581.xy;
float2 _21058 = _17581.zw;
float2 _13149 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(0.0, -2.0) * _22044._m0.xy), _7011, _21058);
float3 _12103 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13149, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17670 = _3312.sample(_4646, _13149, level(0.0));
float _16938 = _17670.y;
float3 _7719;
if (_16938 > 0.0)
{
_129 = _109 + (_14.sample(_15, _97, level(0.0)).xyz * fast::clamp(_114 * _113.z, 0.0, 1.0));
_7719 = _12103 + (_4862.sample(_3594, _13149, level(0.0)).xyz * fast::clamp(_16938 * _17670.z, 0.0, 1.0));
}
else
{
_129 = _109;
_7719 = _12103;
}
float2 _144 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(-1.0) * _7._m0.xy), _95, _96);
float3 _156 = float3(_11._m5) * fast::clamp(_8.sample(_9, _144, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _160 = _12.sample(_13, _144, level(0.0));
float _161 = _160.y;
float3 _176;
if (_161 > 0.0)
float2 _13150 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(-1.0) * _22044._m0.xy), _7011, _21058);
float3 _12104 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13150, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17671 = _3312.sample(_4646, _13150, level(0.0));
float _16939 = _17671.y;
float3 _7720;
if (_16939 > 0.0)
{
_176 = _156 + (_14.sample(_15, _144, level(0.0)).xyz * fast::clamp(_161 * _160.z, 0.0, 1.0));
_7720 = _12104 + (_4862.sample(_3594, _13150, level(0.0)).xyz * fast::clamp(_16939 * _17671.z, 0.0, 1.0));
}
else
{
_176 = _156;
_7720 = _12104;
}
float2 _191 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(0.0, -1.0) * _7._m0.xy), _95, _96);
float3 _203 = float3(_11._m5) * fast::clamp(_8.sample(_9, _191, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _207 = _12.sample(_13, _191, level(0.0));
float _208 = _207.y;
float3 _223;
if (_208 > 0.0)
float2 _13151 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(0.0, -1.0) * _22044._m0.xy), _7011, _21058);
float3 _12105 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13151, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17672 = _3312.sample(_4646, _13151, level(0.0));
float _16940 = _17672.y;
float3 _7721;
if (_16940 > 0.0)
{
_223 = _203 + (_14.sample(_15, _191, level(0.0)).xyz * fast::clamp(_208 * _207.z, 0.0, 1.0));
_7721 = _12105 + (_4862.sample(_3594, _13151, level(0.0)).xyz * fast::clamp(_16940 * _17672.z, 0.0, 1.0));
}
else
{
_223 = _203;
_7721 = _12105;
}
float2 _238 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(1.0, -1.0) * _7._m0.xy), _95, _96);
float3 _250 = float3(_11._m5) * fast::clamp(_8.sample(_9, _238, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _254 = _12.sample(_13, _238, level(0.0));
float _255 = _254.y;
float3 _270;
if (_255 > 0.0)
float2 _13152 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(1.0, -1.0) * _22044._m0.xy), _7011, _21058);
float3 _12106 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13152, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17673 = _3312.sample(_4646, _13152, level(0.0));
float _16941 = _17673.y;
float3 _7722;
if (_16941 > 0.0)
{
_270 = _250 + (_14.sample(_15, _238, level(0.0)).xyz * fast::clamp(_255 * _254.z, 0.0, 1.0));
_7722 = _12106 + (_4862.sample(_3594, _13152, level(0.0)).xyz * fast::clamp(_16941 * _17673.z, 0.0, 1.0));
}
else
{
_270 = _250;
_7722 = _12106;
}
float2 _285 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(-2.0, 0.0) * _7._m0.xy), _95, _96);
float3 _297 = float3(_11._m5) * fast::clamp(_8.sample(_9, _285, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _301 = _12.sample(_13, _285, level(0.0));
float _302 = _301.y;
float3 _317;
if (_302 > 0.0)
float2 _13153 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(-2.0, 0.0) * _22044._m0.xy), _7011, _21058);
float3 _12107 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13153, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17674 = _3312.sample(_4646, _13153, level(0.0));
float _16942 = _17674.y;
float3 _7723;
if (_16942 > 0.0)
{
_317 = _297 + (_14.sample(_15, _285, level(0.0)).xyz * fast::clamp(_302 * _301.z, 0.0, 1.0));
_7723 = _12107 + (_4862.sample(_3594, _13153, level(0.0)).xyz * fast::clamp(_16942 * _17674.z, 0.0, 1.0));
}
else
{
_317 = _297;
_7723 = _12107;
}
float2 _332 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(-1.0, 0.0) * _7._m0.xy), _95, _96);
float3 _344 = float3(_11._m5) * fast::clamp(_8.sample(_9, _332, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _348 = _12.sample(_13, _332, level(0.0));
float _349 = _348.y;
float3 _364;
if (_349 > 0.0)
float2 _13154 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(-1.0, 0.0) * _22044._m0.xy), _7011, _21058);
float3 _12108 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13154, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17675 = _3312.sample(_4646, _13154, level(0.0));
float _16943 = _17675.y;
float3 _7724;
if (_16943 > 0.0)
{
_364 = _344 + (_14.sample(_15, _332, level(0.0)).xyz * fast::clamp(_349 * _348.z, 0.0, 1.0));
_7724 = _12108 + (_4862.sample(_3594, _13154, level(0.0)).xyz * fast::clamp(_16943 * _17675.z, 0.0, 1.0));
}
else
{
_364 = _344;
_7724 = _12108;
}
float2 _379 = fast::clamp(gl_FragCoord.xy * _19._m23.xy, _95, _96);
float3 _391 = float3(_11._m5) * fast::clamp(_8.sample(_9, _379, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _395 = _12.sample(_13, _379, level(0.0));
float _396 = _395.y;
float3 _411;
if (_396 > 0.0)
float2 _13155 = fast::clamp(gl_FragCoord.xy * _15259._m23.xy, _7011, _21058);
float3 _12109 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13155, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17676 = _3312.sample(_4646, _13155, level(0.0));
float _16944 = _17676.y;
float3 _7725;
if (_16944 > 0.0)
{
_411 = _391 + (_14.sample(_15, _379, level(0.0)).xyz * fast::clamp(_396 * _395.z, 0.0, 1.0));
_7725 = _12109 + (_4862.sample(_3594, _13155, level(0.0)).xyz * fast::clamp(_16944 * _17676.z, 0.0, 1.0));
}
else
{
_411 = _391;
_7725 = _12109;
}
float2 _426 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(1.0, 0.0) * _7._m0.xy), _95, _96);
float3 _438 = float3(_11._m5) * fast::clamp(_8.sample(_9, _426, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _442 = _12.sample(_13, _426, level(0.0));
float _443 = _442.y;
float3 _458;
if (_443 > 0.0)
float2 _13156 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(1.0, 0.0) * _22044._m0.xy), _7011, _21058);
float3 _12110 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13156, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17677 = _3312.sample(_4646, _13156, level(0.0));
float _16945 = _17677.y;
float3 _7726;
if (_16945 > 0.0)
{
_458 = _438 + (_14.sample(_15, _426, level(0.0)).xyz * fast::clamp(_443 * _442.z, 0.0, 1.0));
_7726 = _12110 + (_4862.sample(_3594, _13156, level(0.0)).xyz * fast::clamp(_16945 * _17677.z, 0.0, 1.0));
}
else
{
_458 = _438;
_7726 = _12110;
}
float2 _473 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(2.0, 0.0) * _7._m0.xy), _95, _96);
float3 _485 = float3(_11._m5) * fast::clamp(_8.sample(_9, _473, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _489 = _12.sample(_13, _473, level(0.0));
float _490 = _489.y;
float3 _505;
if (_490 > 0.0)
float2 _13157 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(2.0, 0.0) * _22044._m0.xy), _7011, _21058);
float3 _12111 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13157, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17678 = _3312.sample(_4646, _13157, level(0.0));
float _16946 = _17678.y;
float3 _7727;
if (_16946 > 0.0)
{
_505 = _485 + (_14.sample(_15, _473, level(0.0)).xyz * fast::clamp(_490 * _489.z, 0.0, 1.0));
_7727 = _12111 + (_4862.sample(_3594, _13157, level(0.0)).xyz * fast::clamp(_16946 * _17678.z, 0.0, 1.0));
}
else
{
_505 = _485;
_7727 = _12111;
}
float2 _520 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(-1.0, 1.0) * _7._m0.xy), _95, _96);
float3 _532 = float3(_11._m5) * fast::clamp(_8.sample(_9, _520, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _536 = _12.sample(_13, _520, level(0.0));
float _537 = _536.y;
float3 _552;
if (_537 > 0.0)
float2 _13158 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(-1.0, 1.0) * _22044._m0.xy), _7011, _21058);
float3 _12112 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13158, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17679 = _3312.sample(_4646, _13158, level(0.0));
float _16947 = _17679.y;
float3 _7728;
if (_16947 > 0.0)
{
_552 = _532 + (_14.sample(_15, _520, level(0.0)).xyz * fast::clamp(_537 * _536.z, 0.0, 1.0));
_7728 = _12112 + (_4862.sample(_3594, _13158, level(0.0)).xyz * fast::clamp(_16947 * _17679.z, 0.0, 1.0));
}
else
{
_552 = _532;
_7728 = _12112;
}
float2 _567 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(0.0, 1.0) * _7._m0.xy), _95, _96);
float3 _579 = float3(_11._m5) * fast::clamp(_8.sample(_9, _567, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _583 = _12.sample(_13, _567, level(0.0));
float _584 = _583.y;
float3 _599;
if (_584 > 0.0)
float2 _13159 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(0.0, 1.0) * _22044._m0.xy), _7011, _21058);
float3 _12113 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13159, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17680 = _3312.sample(_4646, _13159, level(0.0));
float _16948 = _17680.y;
float3 _7729;
if (_16948 > 0.0)
{
_599 = _579 + (_14.sample(_15, _567, level(0.0)).xyz * fast::clamp(_584 * _583.z, 0.0, 1.0));
_7729 = _12113 + (_4862.sample(_3594, _13159, level(0.0)).xyz * fast::clamp(_16948 * _17680.z, 0.0, 1.0));
}
else
{
_599 = _579;
_7729 = _12113;
}
float2 _614 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, _7._m0.xy), _95, _96);
float3 _626 = float3(_11._m5) * fast::clamp(_8.sample(_9, _614, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _630 = _12.sample(_13, _614, level(0.0));
float _631 = _630.y;
float3 _646;
if (_631 > 0.0)
float2 _13160 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, _22044._m0.xy), _7011, _21058);
float3 _12114 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13160, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17681 = _3312.sample(_4646, _13160, level(0.0));
float _16949 = _17681.y;
float3 _7730;
if (_16949 > 0.0)
{
_646 = _626 + (_14.sample(_15, _614, level(0.0)).xyz * fast::clamp(_631 * _630.z, 0.0, 1.0));
_7730 = _12114 + (_4862.sample(_3594, _13160, level(0.0)).xyz * fast::clamp(_16949 * _17681.z, 0.0, 1.0));
}
else
{
_646 = _626;
_7730 = _12114;
}
float2 _661 = fast::clamp(fma(gl_FragCoord.xy, _19._m23.xy, float2(0.0, 2.0) * _7._m0.xy), _95, _96);
float3 _673 = float3(_11._m5) * fast::clamp(_8.sample(_9, _661, level(0.0)).w * _7._m1, 0.0, 1.0);
float4 _677 = _12.sample(_13, _661, level(0.0));
float _678 = _677.y;
float3 _693;
if (_678 > 0.0)
float2 _13161 = fast::clamp(fma(gl_FragCoord.xy, _15259._m23.xy, float2(0.0, 2.0) * _22044._m0.xy), _7011, _21058);
float3 _12115 = float3(_12348._m5) * fast::clamp(_5785.sample(_5688, _13161, level(0.0)).w * _22044._m1, 0.0, 1.0);
float4 _17682 = _3312.sample(_4646, _13161, level(0.0));
float _16950 = _17682.y;
float3 _7731;
if (_16950 > 0.0)
{
_693 = _673 + (_14.sample(_15, _661, level(0.0)).xyz * fast::clamp(_678 * _677.z, 0.0, 1.0));
_7731 = _12115 + (_4862.sample(_3594, _13161, level(0.0)).xyz * fast::clamp(_16950 * _17682.z, 0.0, 1.0));
}
else
{
_693 = _673;
_7731 = _12115;
}
float3 _702 = (((((((((((((_129 * 0.5).xyz + (_176 * 0.5)).xyz + (_223 * 0.75)).xyz + (_270 * 0.5)).xyz + (_317 * 0.5)).xyz + (_364 * 0.75)).xyz + (_411 * 1.0)).xyz + (_458 * 0.75)).xyz + (_505 * 0.5)).xyz + (_552 * 0.5)).xyz + (_599 * 0.75)).xyz + (_646 * 0.5)).xyz + (_693 * 0.5)).xyz * float3(0.125);
_28 _750 = _28{ float4(_702.x, _702.y, _702.z, float4(0.0).w) };
_750._m0.w = 1.0;
out.m_5 = _750._m0;
float3 _13750 = (((((((((((((_7719 * 0.5).xyz + (_7720 * 0.5)).xyz + (_7721 * 0.75)).xyz + (_7722 * 0.5)).xyz + (_7723 * 0.5)).xyz + (_7724 * 0.75)).xyz + (_7725 * 1.0)).xyz + (_7726 * 0.75)).xyz + (_7727 * 0.5)).xyz + (_7728 * 0.5)).xyz + (_7729 * 0.75)).xyz + (_7730 * 0.5)).xyz + (_7731 * 0.5)).xyz * float3(0.125);
_15 _25050 = _15{ float4(_13750.x, _13750.y, _13750.z, float4(0.0).w) };
_25050._m0.w = 1.0;
out.m_4317 = _25050._m0;
return out;
}

View File

@ -25,11 +25,11 @@ struct main0_in
float4 a_position [[attribute(0)]];
};
vertex main0_out main0(main0_in in [[stage_in]], constant defaultUniformsVS& _9 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]])
vertex main0_out main0(main0_in in [[stage_in]], constant defaultUniformsVS& _11 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]])
{
main0_out out = {};
out.gl_Position = _9.umatrix * float4(_9.uquad[int(gl_VertexIndex)].x, _9.uquad[int(gl_VertexIndex)].y, in.a_position.z, in.a_position.w);
if (_9.flags.flags[0] != 0u)
out.gl_Position = _11.umatrix * float4(_11.uquad[int(gl_VertexIndex)].x, _11.uquad[int(gl_VertexIndex)].y, in.a_position.z, in.a_position.w);
if (_11.flags.flags[0] != 0u)
{
out.gl_Position.z = 0.0;
}

View File

@ -25,11 +25,11 @@ struct main0_in
float4 a_position [[attribute(0)]];
};
vertex main0_out main0(main0_in in [[stage_in]], constant defaultUniformsVS& _9 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]])
vertex main0_out main0(main0_in in [[stage_in]], constant defaultUniformsVS& _11 [[buffer(0)]], uint gl_VertexIndex [[vertex_id]])
{
main0_out out = {};
out.gl_Position = _9.umatrix * float4(_9.uquad[int(gl_VertexIndex)].x, _9.uquad[int(gl_VertexIndex)].y, in.a_position.z, in.a_position.w);
if (_9.flags.flags[0].x != 0u)
out.gl_Position = _11.umatrix * float4(_11.uquad[int(gl_VertexIndex)].x, _11.uquad[int(gl_VertexIndex)].y, in.a_position.z, in.a_position.w);
if (_11.flags.flags[0].x != 0u)
{
out.gl_Position.z = 0.0;
}

View File

@ -3,20 +3,20 @@
using namespace metal;
constant int _7_tmp [[function_constant(201)]];
constant int _7 = is_function_constant_defined(_7_tmp) ? _7_tmp : -10;
constant int _20 = (_7 + 2);
constant uint _8_tmp [[function_constant(202)]];
constant uint _8 = is_function_constant_defined(_8_tmp) ? _8_tmp : 100u;
constant uint _25 = (_8 % 5u);
constant int _30 = _7 - (-3) * (_7 / (-3));
constant int4 _32 = int4(20, 30, _20, _30);
constant int2 _34 = int2(_32.y, _32.x);
constant int _35 = _32.y;
constant int _13_tmp [[function_constant(201)]];
constant int _13 = is_function_constant_defined(_13_tmp) ? _13_tmp : -10;
constant int _15 = (_13 + 2);
constant uint _24_tmp [[function_constant(202)]];
constant uint _24 = is_function_constant_defined(_24_tmp) ? _24_tmp : 100u;
constant uint _26 = (_24 % 5u);
constant int _61 = _13 - (-3) * (_13 / (-3));
constant int4 _36 = int4(20, 30, _15, _61);
constant int2 _41 = int2(_36.y, _36.x);
constant int _62 = _36.y;
struct main0_out
{
int m_4 [[user(locn0)]];
int m_58 [[user(locn0)]];
float4 gl_Position [[position]];
};
@ -24,12 +24,12 @@ vertex main0_out main0()
{
main0_out out = {};
float4 _66 = float4(0.0);
_66.y = float(_20);
_66.z = float(_25);
float4 _55 = _66 + float4(_32);
float2 _59 = _55.xy + float2(_34);
out.gl_Position = float4(_59.x, _59.y, _55.z, _55.w);
out.m_4 = _35;
_66.y = float(_15);
_66.z = float(_26);
float4 _39 = _66 + float4(_36);
float2 _46 = _39.xy + float2(_41);
out.gl_Position = float4(_46.x, _46.y, _39.z, _39.w);
out.m_58 = _62;
return out;
}

View File

@ -13,9 +13,9 @@ fragment main0_out main0()
main0_out out = {};
bool gl_HelperInvocation = {};
gl_HelperInvocation = simd_is_helper_thread();
bool _15 = gl_HelperInvocation;
bool _9 = gl_HelperInvocation;
gl_HelperInvocation = true, discard_fragment();
if (!_15)
if (!_9)
{
out.FragColor = float4(1.0, 0.0, 0.0, 1.0);
}

View File

@ -263,7 +263,7 @@ struct type_StructuredBuffer_v4float
float4 _m0[1];
};
constant float4 _142 = {};
constant float4 _140 = {};
struct main0_out
{
@ -308,26 +308,26 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
threadgroup_barrier(mem_flags::mem_threadgroup);
if (gl_InvocationID >= 3)
return;
spvUnsafeArray<float4, 12> _144 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid, gl_in[3].in_var_TEXCOORD10_centroid, gl_in[4].in_var_TEXCOORD10_centroid, gl_in[5].in_var_TEXCOORD10_centroid, gl_in[6].in_var_TEXCOORD10_centroid, gl_in[7].in_var_TEXCOORD10_centroid, gl_in[8].in_var_TEXCOORD10_centroid, gl_in[9].in_var_TEXCOORD10_centroid, gl_in[10].in_var_TEXCOORD10_centroid, gl_in[11].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 12> _145 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid, gl_in[3].in_var_TEXCOORD11_centroid, gl_in[4].in_var_TEXCOORD11_centroid, gl_in[5].in_var_TEXCOORD11_centroid, gl_in[6].in_var_TEXCOORD11_centroid, gl_in[7].in_var_TEXCOORD11_centroid, gl_in[8].in_var_TEXCOORD11_centroid, gl_in[9].in_var_TEXCOORD11_centroid, gl_in[10].in_var_TEXCOORD11_centroid, gl_in[11].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 12> _146 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_COLOR0, gl_in[1].in_var_COLOR0, gl_in[2].in_var_COLOR0, gl_in[3].in_var_COLOR0, gl_in[4].in_var_COLOR0, gl_in[5].in_var_COLOR0, gl_in[6].in_var_COLOR0, gl_in[7].in_var_COLOR0, gl_in[8].in_var_COLOR0, gl_in[9].in_var_COLOR0, gl_in[10].in_var_COLOR0, gl_in[11].in_var_COLOR0 });
spvUnsafeArray<spvUnsafeArray<float4, 1>, 12> _147 = spvUnsafeArray<spvUnsafeArray<float4, 1>, 12>({ spvUnsafeArray<float4, 1>({ gl_in[0].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[1].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[2].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[3].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[4].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[5].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[6].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[7].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[8].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[9].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[10].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[11].in_var_TEXCOORD0_0 }) });
spvUnsafeArray<float4, 12> _148 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD4, gl_in[1].in_var_TEXCOORD4, gl_in[2].in_var_TEXCOORD4, gl_in[3].in_var_TEXCOORD4, gl_in[4].in_var_TEXCOORD4, gl_in[5].in_var_TEXCOORD4, gl_in[6].in_var_TEXCOORD4, gl_in[7].in_var_TEXCOORD4, gl_in[8].in_var_TEXCOORD4, gl_in[9].in_var_TEXCOORD4, gl_in[10].in_var_TEXCOORD4, gl_in[11].in_var_TEXCOORD4 });
spvUnsafeArray<uint, 12> _149 = spvUnsafeArray<uint, 12>({ gl_in[0].in_var_PRIMITIVE_ID, gl_in[1].in_var_PRIMITIVE_ID, gl_in[2].in_var_PRIMITIVE_ID, gl_in[3].in_var_PRIMITIVE_ID, gl_in[4].in_var_PRIMITIVE_ID, gl_in[5].in_var_PRIMITIVE_ID, gl_in[6].in_var_PRIMITIVE_ID, gl_in[7].in_var_PRIMITIVE_ID, gl_in[8].in_var_PRIMITIVE_ID, gl_in[9].in_var_PRIMITIVE_ID, gl_in[10].in_var_PRIMITIVE_ID, gl_in[11].in_var_PRIMITIVE_ID });
spvUnsafeArray<uint, 12> _150 = spvUnsafeArray<uint, 12>({ gl_in[0].in_var_LIGHTMAP_ID, gl_in[1].in_var_LIGHTMAP_ID, gl_in[2].in_var_LIGHTMAP_ID, gl_in[3].in_var_LIGHTMAP_ID, gl_in[4].in_var_LIGHTMAP_ID, gl_in[5].in_var_LIGHTMAP_ID, gl_in[6].in_var_LIGHTMAP_ID, gl_in[7].in_var_LIGHTMAP_ID, gl_in[8].in_var_LIGHTMAP_ID, gl_in[9].in_var_LIGHTMAP_ID, gl_in[10].in_var_LIGHTMAP_ID, gl_in[11].in_var_LIGHTMAP_ID });
spvUnsafeArray<float4, 12> _259 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position, gl_in[3].in_var_VS_To_DS_Position, gl_in[4].in_var_VS_To_DS_Position, gl_in[5].in_var_VS_To_DS_Position, gl_in[6].in_var_VS_To_DS_Position, gl_in[7].in_var_VS_To_DS_Position, gl_in[8].in_var_VS_To_DS_Position, gl_in[9].in_var_VS_To_DS_Position, gl_in[10].in_var_VS_To_DS_Position, gl_in[11].in_var_VS_To_DS_Position });
spvUnsafeArray<FBasePassVSToDS, 12> _284 = spvUnsafeArray<FBasePassVSToDS, 12>({ FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[0], _145[0], _146[0], _147[0], _148[0], _149[0], _150[0] } }, FBasePassInterpolantsVSToDS{ { } }, _259[0] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[1], _145[1], _146[1], _147[1], _148[1], _149[1], _150[1] } }, FBasePassInterpolantsVSToDS{ { } }, _259[1] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[2], _145[2], _146[2], _147[2], _148[2], _149[2], _150[2] } }, FBasePassInterpolantsVSToDS{ { } }, _259[2] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[3], _145[3], _146[3], _147[3], _148[3], _149[3], _150[3] } }, FBasePassInterpolantsVSToDS{ { } }, _259[3] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[4], _145[4], _146[4], _147[4], _148[4], _149[4], _150[4] } }, FBasePassInterpolantsVSToDS{ { } }, _259[4] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[5], _145[5], _146[5], _147[5], _148[5], _149[5], _150[5] } }, FBasePassInterpolantsVSToDS{ { } }, _259[5] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[6], _145[6], _146[6], _147[6], _148[6], _149[6], _150[6] } }, FBasePassInterpolantsVSToDS{ { } }, _259[6] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[7], _145[7], _146[7], _147[7], _148[7], _149[7], _150[7] } }, FBasePassInterpolantsVSToDS{ { } }, _259[7] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[8], _145[8], _146[8], _147[8], _148[8], _149[8], _150[8] } }, FBasePassInterpolantsVSToDS{ { } }, _259[8] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[9], _145[9], _146[9], _147[9], _148[9], _149[9], _150[9] } }, FBasePassInterpolantsVSToDS{ { } }, _259[9] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[10], _145[10], _146[10], _147[10], _148[10], _149[10], _150[10] } }, FBasePassInterpolantsVSToDS{ { } }, _259[10] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _144[11], _145[11], _146[11], _147[11], _148[11], _149[11], _150[11] } }, FBasePassInterpolantsVSToDS{ { } }, _259[11] } });
spvUnsafeArray<FBasePassVSToDS, 12> param_var_I = _284;
float4 _301 = float4(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float3 _310 = View_PrimitiveSceneData._m0[(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.PrimitiveId * 26u) + 22u].xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
uint _313 = (gl_InvocationID < 2u) ? (gl_InvocationID + 1u) : 0u;
uint _314 = 2u * gl_InvocationID;
uint _315 = 3u + _314;
uint _316 = _314 + 4u;
float4 _328 = float4(param_var_I[_313].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _336 = float4(param_var_I[_315].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _344 = float4(param_var_I[_316].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
spvUnsafeArray<float4, 3> _392 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_313].Position) - (float4(dot(param_var_I[_313].Position - param_var_I[gl_InvocationID].Position, _301)) * _301)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_315].Position) + param_var_I[_316].Position) - (float4(dot(param_var_I[_316].Position - param_var_I[_315].Position, _336)) * _336)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_313].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_313].Position, _328)) * _328)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_316].Position) + param_var_I[_315].Position) - (float4(dot(param_var_I[_315].Position - param_var_I[_316].Position, _344)) * _344)) * float4(0.3333333432674407958984375))) * float4(0.5) });
spvUnsafeArray<float4, 12> _142 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid, gl_in[3].in_var_TEXCOORD10_centroid, gl_in[4].in_var_TEXCOORD10_centroid, gl_in[5].in_var_TEXCOORD10_centroid, gl_in[6].in_var_TEXCOORD10_centroid, gl_in[7].in_var_TEXCOORD10_centroid, gl_in[8].in_var_TEXCOORD10_centroid, gl_in[9].in_var_TEXCOORD10_centroid, gl_in[10].in_var_TEXCOORD10_centroid, gl_in[11].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 12> _143 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid, gl_in[3].in_var_TEXCOORD11_centroid, gl_in[4].in_var_TEXCOORD11_centroid, gl_in[5].in_var_TEXCOORD11_centroid, gl_in[6].in_var_TEXCOORD11_centroid, gl_in[7].in_var_TEXCOORD11_centroid, gl_in[8].in_var_TEXCOORD11_centroid, gl_in[9].in_var_TEXCOORD11_centroid, gl_in[10].in_var_TEXCOORD11_centroid, gl_in[11].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 12> _144 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_COLOR0, gl_in[1].in_var_COLOR0, gl_in[2].in_var_COLOR0, gl_in[3].in_var_COLOR0, gl_in[4].in_var_COLOR0, gl_in[5].in_var_COLOR0, gl_in[6].in_var_COLOR0, gl_in[7].in_var_COLOR0, gl_in[8].in_var_COLOR0, gl_in[9].in_var_COLOR0, gl_in[10].in_var_COLOR0, gl_in[11].in_var_COLOR0 });
spvUnsafeArray<spvUnsafeArray<float4, 1>, 12> _145 = spvUnsafeArray<spvUnsafeArray<float4, 1>, 12>({ spvUnsafeArray<float4, 1>({ gl_in[0].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[1].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[2].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[3].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[4].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[5].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[6].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[7].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[8].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[9].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[10].in_var_TEXCOORD0_0 }), spvUnsafeArray<float4, 1>({ gl_in[11].in_var_TEXCOORD0_0 }) });
spvUnsafeArray<float4, 12> _146 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD4, gl_in[1].in_var_TEXCOORD4, gl_in[2].in_var_TEXCOORD4, gl_in[3].in_var_TEXCOORD4, gl_in[4].in_var_TEXCOORD4, gl_in[5].in_var_TEXCOORD4, gl_in[6].in_var_TEXCOORD4, gl_in[7].in_var_TEXCOORD4, gl_in[8].in_var_TEXCOORD4, gl_in[9].in_var_TEXCOORD4, gl_in[10].in_var_TEXCOORD4, gl_in[11].in_var_TEXCOORD4 });
spvUnsafeArray<uint, 12> _147 = spvUnsafeArray<uint, 12>({ gl_in[0].in_var_PRIMITIVE_ID, gl_in[1].in_var_PRIMITIVE_ID, gl_in[2].in_var_PRIMITIVE_ID, gl_in[3].in_var_PRIMITIVE_ID, gl_in[4].in_var_PRIMITIVE_ID, gl_in[5].in_var_PRIMITIVE_ID, gl_in[6].in_var_PRIMITIVE_ID, gl_in[7].in_var_PRIMITIVE_ID, gl_in[8].in_var_PRIMITIVE_ID, gl_in[9].in_var_PRIMITIVE_ID, gl_in[10].in_var_PRIMITIVE_ID, gl_in[11].in_var_PRIMITIVE_ID });
spvUnsafeArray<uint, 12> _148 = spvUnsafeArray<uint, 12>({ gl_in[0].in_var_LIGHTMAP_ID, gl_in[1].in_var_LIGHTMAP_ID, gl_in[2].in_var_LIGHTMAP_ID, gl_in[3].in_var_LIGHTMAP_ID, gl_in[4].in_var_LIGHTMAP_ID, gl_in[5].in_var_LIGHTMAP_ID, gl_in[6].in_var_LIGHTMAP_ID, gl_in[7].in_var_LIGHTMAP_ID, gl_in[8].in_var_LIGHTMAP_ID, gl_in[9].in_var_LIGHTMAP_ID, gl_in[10].in_var_LIGHTMAP_ID, gl_in[11].in_var_LIGHTMAP_ID });
spvUnsafeArray<float4, 12> _257 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position, gl_in[3].in_var_VS_To_DS_Position, gl_in[4].in_var_VS_To_DS_Position, gl_in[5].in_var_VS_To_DS_Position, gl_in[6].in_var_VS_To_DS_Position, gl_in[7].in_var_VS_To_DS_Position, gl_in[8].in_var_VS_To_DS_Position, gl_in[9].in_var_VS_To_DS_Position, gl_in[10].in_var_VS_To_DS_Position, gl_in[11].in_var_VS_To_DS_Position });
spvUnsafeArray<FBasePassVSToDS, 12> _282 = spvUnsafeArray<FBasePassVSToDS, 12>({ FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[0], _143[0], _144[0], _145[0], _146[0], _147[0], _148[0] } }, FBasePassInterpolantsVSToDS{ { } }, _257[0] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[1], _143[1], _144[1], _145[1], _146[1], _147[1], _148[1] } }, FBasePassInterpolantsVSToDS{ { } }, _257[1] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[2], _143[2], _144[2], _145[2], _146[2], _147[2], _148[2] } }, FBasePassInterpolantsVSToDS{ { } }, _257[2] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[3], _143[3], _144[3], _145[3], _146[3], _147[3], _148[3] } }, FBasePassInterpolantsVSToDS{ { } }, _257[3] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[4], _143[4], _144[4], _145[4], _146[4], _147[4], _148[4] } }, FBasePassInterpolantsVSToDS{ { } }, _257[4] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[5], _143[5], _144[5], _145[5], _146[5], _147[5], _148[5] } }, FBasePassInterpolantsVSToDS{ { } }, _257[5] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[6], _143[6], _144[6], _145[6], _146[6], _147[6], _148[6] } }, FBasePassInterpolantsVSToDS{ { } }, _257[6] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[7], _143[7], _144[7], _145[7], _146[7], _147[7], _148[7] } }, FBasePassInterpolantsVSToDS{ { } }, _257[7] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[8], _143[8], _144[8], _145[8], _146[8], _147[8], _148[8] } }, FBasePassInterpolantsVSToDS{ { } }, _257[8] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[9], _143[9], _144[9], _145[9], _146[9], _147[9], _148[9] } }, FBasePassInterpolantsVSToDS{ { } }, _257[9] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[10], _143[10], _144[10], _145[10], _146[10], _147[10], _148[10] } }, FBasePassInterpolantsVSToDS{ { } }, _257[10] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[11], _143[11], _144[11], _145[11], _146[11], _147[11], _148[11] } }, FBasePassInterpolantsVSToDS{ { } }, _257[11] } });
spvUnsafeArray<FBasePassVSToDS, 12> param_var_I = _282;
float4 _299 = float4(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float3 _308 = View_PrimitiveSceneData._m0[(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.PrimitiveId * 26u) + 22u].xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
uint _311 = (gl_InvocationID < 2u) ? (gl_InvocationID + 1u) : 0u;
uint _312 = 2u * gl_InvocationID;
uint _313 = 3u + _312;
uint _314 = _312 + 4u;
float4 _326 = float4(param_var_I[_311].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _334 = float4(param_var_I[_313].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _342 = float4(param_var_I[_314].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
spvUnsafeArray<float4, 3> _390 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_311].Position) - (float4(dot(param_var_I[_311].Position - param_var_I[gl_InvocationID].Position, _299)) * _299)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_313].Position) + param_var_I[_314].Position) - (float4(dot(param_var_I[_314].Position - param_var_I[_313].Position, _334)) * _334)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_311].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_311].Position, _326)) * _326)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_314].Position) + param_var_I[_313].Position) - (float4(dot(param_var_I[_313].Position - param_var_I[_314].Position, _342)) * _342)) * float4(0.3333333432674407958984375))) * float4(0.5) });
gl_out[gl_InvocationID].out_var_TEXCOORD10_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
gl_out[gl_InvocationID].out_var_TEXCOORD11_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
gl_out[gl_InvocationID].out_var_COLOR0 = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.Color;
@ -336,60 +336,60 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
gl_out[gl_InvocationID].out_var_PRIMITIVE_ID = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.PrimitiveId;
gl_out[gl_InvocationID].out_var_LIGHTMAP_ID = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.LightmapDataIndex;
gl_out[gl_InvocationID].out_var_VS_To_DS_Position = param_var_I[gl_InvocationID].Position;
gl_out[gl_InvocationID].out_var_PN_POSITION = _392;
gl_out[gl_InvocationID].out_var_PN_DisplacementScales = _310;
gl_out[gl_InvocationID].out_var_PN_POSITION = _390;
gl_out[gl_InvocationID].out_var_PN_DisplacementScales = _308;
gl_out[gl_InvocationID].out_var_PN_TessellationMultiplier = 1.0;
gl_out[gl_InvocationID].out_var_PN_WorldDisplacementMultiplier = 1.0;
temp_var_hullMainRetVal[gl_InvocationID] = FPNTessellationHSToDS{ param_var_I[gl_InvocationID], _392, _310, 1.0, 1.0 };
temp_var_hullMainRetVal[gl_InvocationID] = FPNTessellationHSToDS{ param_var_I[gl_InvocationID], _390, _308, 1.0, 1.0 };
threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup);
if (gl_InvocationID == 0u)
{
float4 _450 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
float4 _463;
_463.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_463.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_463.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_463.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _589;
float4 _448 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
float4 _461;
_461.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_461.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_461.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_461.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _587;
for (;;)
{
float4 _489 = View.View_ViewToClip * float4(0.0);
float4 _494 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[0u].WorldPosition[0].xyz, 1.0);
float3 _495 = _494.xyz;
float3 _496 = _489.xyz;
float _498 = _494.w;
float _499 = _489.w;
float4 _516 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[1u].WorldPosition[0].xyz, 1.0);
float3 _517 = _516.xyz;
float _519 = _516.w;
float4 _537 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[2u].WorldPosition[0].xyz, 1.0);
float3 _538 = _537.xyz;
float _540 = _537.w;
if (any((((int3((_495 - _496) < float3(_498 + _499)) + (int3(2) * int3((_495 + _496) > float3((-_498) - _499)))) | (int3((_517 - _496) < float3(_519 + _499)) + (int3(2) * int3((_517 + _496) > float3((-_519) - _499))))) | (int3((_538 - _496) < float3(_540 + _499)) + (int3(2) * int3((_538 + _496) > float3((-_540) - _499))))) != int3(3)))
float4 _487 = View.View_ViewToClip * float4(0.0);
float4 _492 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[0u].WorldPosition[0].xyz, 1.0);
float3 _493 = _492.xyz;
float3 _494 = _487.xyz;
float _496 = _492.w;
float _497 = _487.w;
float4 _514 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[1u].WorldPosition[0].xyz, 1.0);
float3 _515 = _514.xyz;
float _517 = _514.w;
float4 _535 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[2u].WorldPosition[0].xyz, 1.0);
float3 _536 = _535.xyz;
float _538 = _535.w;
if (any((((int3((_493 - _494) < float3(_496 + _497)) + (int3(2) * int3((_493 + _494) > float3((-_496) - _497)))) | (int3((_515 - _494) < float3(_517 + _497)) + (int3(2) * int3((_515 + _494) > float3((-_517) - _497))))) | (int3((_536 - _494) < float3(_538 + _497)) + (int3(2) * int3((_536 + _494) > float3((-_538) - _497))))) != int3(3)))
{
_589 = float4(0.0);
_587 = float4(0.0);
break;
}
float3 _558 = temp_var_hullMainRetVal[0u].WorldPosition[0].xyz - temp_var_hullMainRetVal[1u].WorldPosition[0].xyz;
float3 _559 = temp_var_hullMainRetVal[1u].WorldPosition[0].xyz - temp_var_hullMainRetVal[2u].WorldPosition[0].xyz;
float3 _560 = temp_var_hullMainRetVal[2u].WorldPosition[0].xyz - temp_var_hullMainRetVal[0u].WorldPosition[0].xyz;
float3 _563 = (float3(0.5) * (temp_var_hullMainRetVal[0u].WorldPosition[0].xyz + temp_var_hullMainRetVal[1u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _566 = (float3(0.5) * (temp_var_hullMainRetVal[1u].WorldPosition[0].xyz + temp_var_hullMainRetVal[2u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _569 = (float3(0.5) * (temp_var_hullMainRetVal[2u].WorldPosition[0].xyz + temp_var_hullMainRetVal[0u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float _573 = sqrt(dot(_559, _559) / dot(_566, _566));
float _577 = sqrt(dot(_560, _560) / dot(_569, _569));
float _581 = sqrt(dot(_558, _558) / dot(_563, _563));
float4 _582 = float4(_573, _577, _581, 1.0);
_582.w = 0.333000004291534423828125 * ((_573 + _577) + _581);
_589 = float4(View.View_AdaptiveTessellationFactor) * _582;
float3 _556 = temp_var_hullMainRetVal[0u].WorldPosition[0].xyz - temp_var_hullMainRetVal[1u].WorldPosition[0].xyz;
float3 _557 = temp_var_hullMainRetVal[1u].WorldPosition[0].xyz - temp_var_hullMainRetVal[2u].WorldPosition[0].xyz;
float3 _558 = temp_var_hullMainRetVal[2u].WorldPosition[0].xyz - temp_var_hullMainRetVal[0u].WorldPosition[0].xyz;
float3 _561 = (float3(0.5) * (temp_var_hullMainRetVal[0u].WorldPosition[0].xyz + temp_var_hullMainRetVal[1u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _564 = (float3(0.5) * (temp_var_hullMainRetVal[1u].WorldPosition[0].xyz + temp_var_hullMainRetVal[2u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _567 = (float3(0.5) * (temp_var_hullMainRetVal[2u].WorldPosition[0].xyz + temp_var_hullMainRetVal[0u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float _571 = sqrt(dot(_557, _557) / dot(_564, _564));
float _575 = sqrt(dot(_558, _558) / dot(_567, _567));
float _579 = sqrt(dot(_556, _556) / dot(_561, _561));
float4 _580 = float4(_571, _575, _579, 1.0);
_580.w = 0.333000004291534423828125 * ((_571 + _575) + _579);
_587 = float4(View.View_AdaptiveTessellationFactor) * _580;
break;
}
float4 _591 = fast::clamp(_463 * _589, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_591.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_591.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_591.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_591.w);
patchOut.out_var_PN_POSITION9 = _450 + ((_450 - (((temp_var_hullMainRetVal[2u].WorldPosition[0] + temp_var_hullMainRetVal[1u].WorldPosition[0]) + temp_var_hullMainRetVal[0u].WorldPosition[0]) * float4(0.3333333432674407958984375))) * float4(0.5));
float4 _589 = fast::clamp(_461 * _587, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_589.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_589.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_589.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_589.w);
patchOut.out_var_PN_POSITION9 = _448 + ((_448 - (((temp_var_hullMainRetVal[2u].WorldPosition[0] + temp_var_hullMainRetVal[1u].WorldPosition[0]) + temp_var_hullMainRetVal[0u].WorldPosition[0]) * float4(0.3333333432674407958984375))) * float4(0.5));
}
}

View File

@ -304,7 +304,7 @@ struct type_Primitive
float4 Primitive_CustomPrimitiveData[4];
};
constant float4 _140 = {};
constant float4 _136 = {};
struct main0_out
{
@ -350,114 +350,114 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
threadgroup_barrier(mem_flags::mem_threadgroup);
if (gl_InvocationID >= 3)
return;
spvUnsafeArray<float4, 12> _142 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid, gl_in[3].in_var_TEXCOORD10_centroid, gl_in[4].in_var_TEXCOORD10_centroid, gl_in[5].in_var_TEXCOORD10_centroid, gl_in[6].in_var_TEXCOORD10_centroid, gl_in[7].in_var_TEXCOORD10_centroid, gl_in[8].in_var_TEXCOORD10_centroid, gl_in[9].in_var_TEXCOORD10_centroid, gl_in[10].in_var_TEXCOORD10_centroid, gl_in[11].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 12> _143 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid, gl_in[3].in_var_TEXCOORD11_centroid, gl_in[4].in_var_TEXCOORD11_centroid, gl_in[5].in_var_TEXCOORD11_centroid, gl_in[6].in_var_TEXCOORD11_centroid, gl_in[7].in_var_TEXCOORD11_centroid, gl_in[8].in_var_TEXCOORD11_centroid, gl_in[9].in_var_TEXCOORD11_centroid, gl_in[10].in_var_TEXCOORD11_centroid, gl_in[11].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 12> _192 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position, gl_in[3].in_var_VS_To_DS_Position, gl_in[4].in_var_VS_To_DS_Position, gl_in[5].in_var_VS_To_DS_Position, gl_in[6].in_var_VS_To_DS_Position, gl_in[7].in_var_VS_To_DS_Position, gl_in[8].in_var_VS_To_DS_Position, gl_in[9].in_var_VS_To_DS_Position, gl_in[10].in_var_VS_To_DS_Position, gl_in[11].in_var_VS_To_DS_Position });
spvUnsafeArray<uint, 12> _193 = spvUnsafeArray<uint, 12>({ gl_in[0].in_var_VS_To_DS_VertexID, gl_in[1].in_var_VS_To_DS_VertexID, gl_in[2].in_var_VS_To_DS_VertexID, gl_in[3].in_var_VS_To_DS_VertexID, gl_in[4].in_var_VS_To_DS_VertexID, gl_in[5].in_var_VS_To_DS_VertexID, gl_in[6].in_var_VS_To_DS_VertexID, gl_in[7].in_var_VS_To_DS_VertexID, gl_in[8].in_var_VS_To_DS_VertexID, gl_in[9].in_var_VS_To_DS_VertexID, gl_in[10].in_var_VS_To_DS_VertexID, gl_in[11].in_var_VS_To_DS_VertexID });
spvUnsafeArray<FHitProxyVSToDS, 12> _230 = spvUnsafeArray<FHitProxyVSToDS, 12>({ FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[0], _143[0] } }, _192[0], _193[0] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[1], _143[1] } }, _192[1], _193[1] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[2], _143[2] } }, _192[2], _193[2] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[3], _143[3] } }, _192[3], _193[3] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[4], _143[4] } }, _192[4], _193[4] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[5], _143[5] } }, _192[5], _193[5] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[6], _143[6] } }, _192[6], _193[6] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[7], _143[7] } }, _192[7], _193[7] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[8], _143[8] } }, _192[8], _193[8] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[9], _143[9] } }, _192[9], _193[9] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[10], _143[10] } }, _192[10], _193[10] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _142[11], _143[11] } }, _192[11], _193[11] } });
spvUnsafeArray<FHitProxyVSToDS, 12> param_var_I = _230;
float4 _247 = float4(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float3 _251 = Primitive.Primitive_NonUniformScale.xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
uint _254 = (gl_InvocationID < 2u) ? (gl_InvocationID + 1u) : 0u;
uint _255 = 2u * gl_InvocationID;
uint _256 = 3u + _255;
uint _257 = _255 + 4u;
uint _264 = (_254 < 2u) ? (_254 + 1u) : 0u;
uint _265 = 2u * _254;
uint _266 = 3u + _265;
uint _267 = _265 + 4u;
float4 _279 = float4(param_var_I[9u + gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _315;
float4 _316;
float4 _317;
float4 _318;
if ((param_var_I[_266].VertexID < param_var_I[_254].VertexID) || ((param_var_I[_266].VertexID == param_var_I[_254].VertexID) && (param_var_I[_267].VertexID < param_var_I[_264].VertexID)))
spvUnsafeArray<float4, 12> _138 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid, gl_in[3].in_var_TEXCOORD10_centroid, gl_in[4].in_var_TEXCOORD10_centroid, gl_in[5].in_var_TEXCOORD10_centroid, gl_in[6].in_var_TEXCOORD10_centroid, gl_in[7].in_var_TEXCOORD10_centroid, gl_in[8].in_var_TEXCOORD10_centroid, gl_in[9].in_var_TEXCOORD10_centroid, gl_in[10].in_var_TEXCOORD10_centroid, gl_in[11].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 12> _139 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid, gl_in[3].in_var_TEXCOORD11_centroid, gl_in[4].in_var_TEXCOORD11_centroid, gl_in[5].in_var_TEXCOORD11_centroid, gl_in[6].in_var_TEXCOORD11_centroid, gl_in[7].in_var_TEXCOORD11_centroid, gl_in[8].in_var_TEXCOORD11_centroid, gl_in[9].in_var_TEXCOORD11_centroid, gl_in[10].in_var_TEXCOORD11_centroid, gl_in[11].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 12> _188 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position, gl_in[3].in_var_VS_To_DS_Position, gl_in[4].in_var_VS_To_DS_Position, gl_in[5].in_var_VS_To_DS_Position, gl_in[6].in_var_VS_To_DS_Position, gl_in[7].in_var_VS_To_DS_Position, gl_in[8].in_var_VS_To_DS_Position, gl_in[9].in_var_VS_To_DS_Position, gl_in[10].in_var_VS_To_DS_Position, gl_in[11].in_var_VS_To_DS_Position });
spvUnsafeArray<uint, 12> _189 = spvUnsafeArray<uint, 12>({ gl_in[0].in_var_VS_To_DS_VertexID, gl_in[1].in_var_VS_To_DS_VertexID, gl_in[2].in_var_VS_To_DS_VertexID, gl_in[3].in_var_VS_To_DS_VertexID, gl_in[4].in_var_VS_To_DS_VertexID, gl_in[5].in_var_VS_To_DS_VertexID, gl_in[6].in_var_VS_To_DS_VertexID, gl_in[7].in_var_VS_To_DS_VertexID, gl_in[8].in_var_VS_To_DS_VertexID, gl_in[9].in_var_VS_To_DS_VertexID, gl_in[10].in_var_VS_To_DS_VertexID, gl_in[11].in_var_VS_To_DS_VertexID });
spvUnsafeArray<FHitProxyVSToDS, 12> _226 = spvUnsafeArray<FHitProxyVSToDS, 12>({ FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[0], _139[0] } }, _188[0], _189[0] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[1], _139[1] } }, _188[1], _189[1] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[2], _139[2] } }, _188[2], _189[2] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[3], _139[3] } }, _188[3], _189[3] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[4], _139[4] } }, _188[4], _189[4] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[5], _139[5] } }, _188[5], _189[5] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[6], _139[6] } }, _188[6], _189[6] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[7], _139[7] } }, _188[7], _189[7] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[8], _139[8] } }, _188[8], _189[8] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[9], _139[9] } }, _188[9], _189[9] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[10], _139[10] } }, _188[10], _189[10] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _138[11], _139[11] } }, _188[11], _189[11] } });
spvUnsafeArray<FHitProxyVSToDS, 12> param_var_I = _226;
float4 _243 = float4(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float3 _247 = Primitive.Primitive_NonUniformScale.xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
uint _250 = (gl_InvocationID < 2u) ? (gl_InvocationID + 1u) : 0u;
uint _251 = 2u * gl_InvocationID;
uint _252 = 3u + _251;
uint _253 = _251 + 4u;
uint _260 = (_250 < 2u) ? (_250 + 1u) : 0u;
uint _261 = 2u * _250;
uint _262 = 3u + _261;
uint _263 = _261 + 4u;
float4 _275 = float4(param_var_I[9u + gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _311;
float4 _312;
float4 _313;
float4 _314;
if ((param_var_I[_262].VertexID < param_var_I[_250].VertexID) || ((param_var_I[_262].VertexID == param_var_I[_250].VertexID) && (param_var_I[_263].VertexID < param_var_I[_260].VertexID)))
{
_315 = param_var_I[_267].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_316 = param_var_I[_267].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
_317 = param_var_I[_266].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_318 = param_var_I[_266].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
_311 = param_var_I[_263].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_312 = param_var_I[_263].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
_313 = param_var_I[_262].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_314 = param_var_I[_262].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
}
else
{
_315 = param_var_I[_264].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_316 = param_var_I[_264].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
_317 = param_var_I[_254].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_318 = param_var_I[_254].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
_311 = param_var_I[_260].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_312 = param_var_I[_260].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
_313 = param_var_I[_250].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
_314 = param_var_I[_250].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
}
float4 _324 = float4(_318.xyz, 0.0);
float4 _328 = float4(_316.xyz, 0.0);
float4 _336 = float4(param_var_I[_254].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _344 = float4(param_var_I[_256].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _352 = float4(param_var_I[_257].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
spvUnsafeArray<float4, 3> _402 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_254].Position) - (float4(dot(param_var_I[_254].Position - param_var_I[gl_InvocationID].Position, _247)) * _247)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_256].Position) + param_var_I[_257].Position) - (float4(dot(param_var_I[_257].Position - param_var_I[_256].Position, _344)) * _344)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_254].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_254].Position, _336)) * _336)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_257].Position) + param_var_I[_256].Position) - (float4(dot(param_var_I[_256].Position - param_var_I[_257].Position, _352)) * _352)) * float4(0.3333333432674407958984375))) * float4(0.5) });
float4 _320 = float4(_314.xyz, 0.0);
float4 _324 = float4(_312.xyz, 0.0);
float4 _332 = float4(param_var_I[_250].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _340 = float4(param_var_I[_252].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _348 = float4(param_var_I[_253].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
spvUnsafeArray<float4, 3> _398 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_250].Position) - (float4(dot(param_var_I[_250].Position - param_var_I[gl_InvocationID].Position, _243)) * _243)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_252].Position) + param_var_I[_253].Position) - (float4(dot(param_var_I[_253].Position - param_var_I[_252].Position, _340)) * _340)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_250].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_250].Position, _332)) * _332)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_253].Position) + param_var_I[_252].Position) - (float4(dot(param_var_I[_252].Position - param_var_I[_253].Position, _348)) * _348)) * float4(0.3333333432674407958984375))) * float4(0.5) });
gl_out[gl_InvocationID].out_var_TEXCOORD10_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
gl_out[gl_InvocationID].out_var_TEXCOORD11_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
gl_out[gl_InvocationID].out_var_VS_To_DS_Position = param_var_I[gl_InvocationID].Position;
gl_out[gl_InvocationID].out_var_VS_To_DS_VertexID = param_var_I[gl_InvocationID].VertexID;
gl_out[gl_InvocationID].out_var_PN_POSITION = _402;
gl_out[gl_InvocationID].out_var_PN_DisplacementScales = _251;
gl_out[gl_InvocationID].out_var_PN_POSITION = _398;
gl_out[gl_InvocationID].out_var_PN_DisplacementScales = _247;
gl_out[gl_InvocationID].out_var_PN_TessellationMultiplier = 1.0;
gl_out[gl_InvocationID].out_var_PN_WorldDisplacementMultiplier = 1.0;
gl_out[gl_InvocationID].out_var_PN_DominantVertex = float2(0.0);
gl_out[gl_InvocationID].out_var_PN_DominantVertex1 = _279;
gl_out[gl_InvocationID].out_var_PN_DominantVertex1 = _275;
gl_out[gl_InvocationID].out_var_PN_DominantVertex2 = param_var_I[9u + gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz;
gl_out[gl_InvocationID].out_var_PN_DominantEdge = float2(0.0);
gl_out[gl_InvocationID].out_var_PN_DominantEdge1 = float2(0.0);
gl_out[gl_InvocationID].out_var_PN_DominantEdge2 = _324;
gl_out[gl_InvocationID].out_var_PN_DominantEdge3 = _328;
gl_out[gl_InvocationID].out_var_PN_DominantEdge4 = _317.xyz;
gl_out[gl_InvocationID].out_var_PN_DominantEdge5 = _315.xyz;
temp_var_hullMainRetVal[gl_InvocationID] = FPNTessellationHSToDS{ param_var_I[gl_InvocationID], _402, _251, 1.0, 1.0, FHullShaderConstantDominantVertexData{ float2(0.0), _279, param_var_I[9u + gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz }, FHullShaderConstantDominantEdgeData{ float2(0.0), float2(0.0), _324, _328, _317.xyz, _315.xyz } };
gl_out[gl_InvocationID].out_var_PN_DominantEdge2 = _320;
gl_out[gl_InvocationID].out_var_PN_DominantEdge3 = _324;
gl_out[gl_InvocationID].out_var_PN_DominantEdge4 = _313.xyz;
gl_out[gl_InvocationID].out_var_PN_DominantEdge5 = _311.xyz;
temp_var_hullMainRetVal[gl_InvocationID] = FPNTessellationHSToDS{ param_var_I[gl_InvocationID], _398, _247, 1.0, 1.0, FHullShaderConstantDominantVertexData{ float2(0.0), _275, param_var_I[9u + gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz }, FHullShaderConstantDominantEdgeData{ float2(0.0), float2(0.0), _320, _324, _313.xyz, _311.xyz } };
threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup);
if (gl_InvocationID == 0u)
{
float4 _461 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
float4 _474;
_474.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_474.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_474.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_474.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _600;
float4 _457 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
float4 _470;
_470.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_470.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_470.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_470.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _596;
for (;;)
{
float4 _500 = View.View_ViewToClip * float4(0.0);
float4 _505 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[0u].WorldPosition[0].xyz, 1.0);
float3 _506 = _505.xyz;
float3 _507 = _500.xyz;
float _509 = _505.w;
float _510 = _500.w;
float4 _527 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[1u].WorldPosition[0].xyz, 1.0);
float3 _528 = _527.xyz;
float _530 = _527.w;
float4 _548 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[2u].WorldPosition[0].xyz, 1.0);
float3 _549 = _548.xyz;
float _551 = _548.w;
if (any((((int3((_506 - _507) < float3(_509 + _510)) + (int3(2) * int3((_506 + _507) > float3((-_509) - _510)))) | (int3((_528 - _507) < float3(_530 + _510)) + (int3(2) * int3((_528 + _507) > float3((-_530) - _510))))) | (int3((_549 - _507) < float3(_551 + _510)) + (int3(2) * int3((_549 + _507) > float3((-_551) - _510))))) != int3(3)))
float4 _496 = View.View_ViewToClip * float4(0.0);
float4 _501 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[0u].WorldPosition[0].xyz, 1.0);
float3 _502 = _501.xyz;
float3 _503 = _496.xyz;
float _505 = _501.w;
float _506 = _496.w;
float4 _523 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[1u].WorldPosition[0].xyz, 1.0);
float3 _524 = _523.xyz;
float _526 = _523.w;
float4 _544 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[2u].WorldPosition[0].xyz, 1.0);
float3 _545 = _544.xyz;
float _547 = _544.w;
if (any((((int3((_502 - _503) < float3(_505 + _506)) + (int3(2) * int3((_502 + _503) > float3((-_505) - _506)))) | (int3((_524 - _503) < float3(_526 + _506)) + (int3(2) * int3((_524 + _503) > float3((-_526) - _506))))) | (int3((_545 - _503) < float3(_547 + _506)) + (int3(2) * int3((_545 + _503) > float3((-_547) - _506))))) != int3(3)))
{
_600 = float4(0.0);
_596 = float4(0.0);
break;
}
float3 _569 = temp_var_hullMainRetVal[0u].WorldPosition[0].xyz - temp_var_hullMainRetVal[1u].WorldPosition[0].xyz;
float3 _570 = temp_var_hullMainRetVal[1u].WorldPosition[0].xyz - temp_var_hullMainRetVal[2u].WorldPosition[0].xyz;
float3 _571 = temp_var_hullMainRetVal[2u].WorldPosition[0].xyz - temp_var_hullMainRetVal[0u].WorldPosition[0].xyz;
float3 _574 = (float3(0.5) * (temp_var_hullMainRetVal[0u].WorldPosition[0].xyz + temp_var_hullMainRetVal[1u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _577 = (float3(0.5) * (temp_var_hullMainRetVal[1u].WorldPosition[0].xyz + temp_var_hullMainRetVal[2u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _580 = (float3(0.5) * (temp_var_hullMainRetVal[2u].WorldPosition[0].xyz + temp_var_hullMainRetVal[0u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float _584 = sqrt(dot(_570, _570) / dot(_577, _577));
float _588 = sqrt(dot(_571, _571) / dot(_580, _580));
float _592 = sqrt(dot(_569, _569) / dot(_574, _574));
float4 _593 = float4(_584, _588, _592, 1.0);
_593.w = 0.333000004291534423828125 * ((_584 + _588) + _592);
_600 = float4(View.View_AdaptiveTessellationFactor) * _593;
float3 _565 = temp_var_hullMainRetVal[0u].WorldPosition[0].xyz - temp_var_hullMainRetVal[1u].WorldPosition[0].xyz;
float3 _566 = temp_var_hullMainRetVal[1u].WorldPosition[0].xyz - temp_var_hullMainRetVal[2u].WorldPosition[0].xyz;
float3 _567 = temp_var_hullMainRetVal[2u].WorldPosition[0].xyz - temp_var_hullMainRetVal[0u].WorldPosition[0].xyz;
float3 _570 = (float3(0.5) * (temp_var_hullMainRetVal[0u].WorldPosition[0].xyz + temp_var_hullMainRetVal[1u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _573 = (float3(0.5) * (temp_var_hullMainRetVal[1u].WorldPosition[0].xyz + temp_var_hullMainRetVal[2u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _576 = (float3(0.5) * (temp_var_hullMainRetVal[2u].WorldPosition[0].xyz + temp_var_hullMainRetVal[0u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float _580 = sqrt(dot(_566, _566) / dot(_573, _573));
float _584 = sqrt(dot(_567, _567) / dot(_576, _576));
float _588 = sqrt(dot(_565, _565) / dot(_570, _570));
float4 _589 = float4(_580, _584, _588, 1.0);
_589.w = 0.333000004291534423828125 * ((_580 + _584) + _588);
_596 = float4(View.View_AdaptiveTessellationFactor) * _589;
break;
}
float4 _602 = fast::clamp(_474 * _600, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_602.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_602.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_602.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_602.w);
patchOut.out_var_PN_POSITION9 = _461 + ((_461 - (((temp_var_hullMainRetVal[2u].WorldPosition[0] + temp_var_hullMainRetVal[1u].WorldPosition[0]) + temp_var_hullMainRetVal[0u].WorldPosition[0]) * float4(0.3333333432674407958984375))) * float4(0.5));
float4 _598 = fast::clamp(_470 * _596, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_598.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_598.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_598.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_598.w);
patchOut.out_var_PN_POSITION9 = _457 + ((_457 - (((temp_var_hullMainRetVal[2u].WorldPosition[0] + temp_var_hullMainRetVal[1u].WorldPosition[0]) + temp_var_hullMainRetVal[0u].WorldPosition[0]) * float4(0.3333333432674407958984375))) * float4(0.5));
}
}

View File

@ -286,7 +286,7 @@ struct type_Primitive
float4 Primitive_CustomPrimitiveData[4];
};
constant float4 _127 = {};
constant float4 _123 = {};
struct main0_out
{
@ -326,82 +326,82 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
threadgroup_barrier(mem_flags::mem_threadgroup);
if (gl_InvocationID >= 3)
return;
spvUnsafeArray<float4, 12> _129 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid, gl_in[3].in_var_TEXCOORD10_centroid, gl_in[4].in_var_TEXCOORD10_centroid, gl_in[5].in_var_TEXCOORD10_centroid, gl_in[6].in_var_TEXCOORD10_centroid, gl_in[7].in_var_TEXCOORD10_centroid, gl_in[8].in_var_TEXCOORD10_centroid, gl_in[9].in_var_TEXCOORD10_centroid, gl_in[10].in_var_TEXCOORD10_centroid, gl_in[11].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 12> _130 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid, gl_in[3].in_var_TEXCOORD11_centroid, gl_in[4].in_var_TEXCOORD11_centroid, gl_in[5].in_var_TEXCOORD11_centroid, gl_in[6].in_var_TEXCOORD11_centroid, gl_in[7].in_var_TEXCOORD11_centroid, gl_in[8].in_var_TEXCOORD11_centroid, gl_in[9].in_var_TEXCOORD11_centroid, gl_in[10].in_var_TEXCOORD11_centroid, gl_in[11].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 12> _131 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_COLOR0, gl_in[1].in_var_COLOR0, gl_in[2].in_var_COLOR0, gl_in[3].in_var_COLOR0, gl_in[4].in_var_COLOR0, gl_in[5].in_var_COLOR0, gl_in[6].in_var_COLOR0, gl_in[7].in_var_COLOR0, gl_in[8].in_var_COLOR0, gl_in[9].in_var_COLOR0, gl_in[10].in_var_COLOR0, gl_in[11].in_var_COLOR0 });
spvUnsafeArray<spvUnsafeArray<float2, 2>, 12> _132 = spvUnsafeArray<spvUnsafeArray<float2, 2>, 12>({ spvUnsafeArray<float2, 2>({ gl_in[0].in_var_TEXCOORD0_0, gl_in[0].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[1].in_var_TEXCOORD0_0, gl_in[1].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[2].in_var_TEXCOORD0_0, gl_in[2].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[3].in_var_TEXCOORD0_0, gl_in[3].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[4].in_var_TEXCOORD0_0, gl_in[4].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[5].in_var_TEXCOORD0_0, gl_in[5].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[6].in_var_TEXCOORD0_0, gl_in[6].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[7].in_var_TEXCOORD0_0, gl_in[7].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[8].in_var_TEXCOORD0_0, gl_in[8].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[9].in_var_TEXCOORD0_0, gl_in[9].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[10].in_var_TEXCOORD0_0, gl_in[10].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[11].in_var_TEXCOORD0_0, gl_in[11].in_var_TEXCOORD0_1 }) });
spvUnsafeArray<float4, 12> _205 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position, gl_in[3].in_var_VS_To_DS_Position, gl_in[4].in_var_VS_To_DS_Position, gl_in[5].in_var_VS_To_DS_Position, gl_in[6].in_var_VS_To_DS_Position, gl_in[7].in_var_VS_To_DS_Position, gl_in[8].in_var_VS_To_DS_Position, gl_in[9].in_var_VS_To_DS_Position, gl_in[10].in_var_VS_To_DS_Position, gl_in[11].in_var_VS_To_DS_Position });
spvUnsafeArray<FHitProxyVSToDS, 12> _230 = spvUnsafeArray<FHitProxyVSToDS, 12>({ FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[0], _130[0], _131[0], _132[0] } }, _205[0] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[1], _130[1], _131[1], _132[1] } }, _205[1] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[2], _130[2], _131[2], _132[2] } }, _205[2] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[3], _130[3], _131[3], _132[3] } }, _205[3] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[4], _130[4], _131[4], _132[4] } }, _205[4] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[5], _130[5], _131[5], _132[5] } }, _205[5] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[6], _130[6], _131[6], _132[6] } }, _205[6] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[7], _130[7], _131[7], _132[7] } }, _205[7] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[8], _130[8], _131[8], _132[8] } }, _205[8] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[9], _130[9], _131[9], _132[9] } }, _205[9] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[10], _130[10], _131[10], _132[10] } }, _205[10] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _129[11], _130[11], _131[11], _132[11] } }, _205[11] } });
spvUnsafeArray<FHitProxyVSToDS, 12> param_var_I = _230;
float4 _247 = float4(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float3 _251 = Primitive.Primitive_NonUniformScale.xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
uint _254 = (gl_InvocationID < 2u) ? (gl_InvocationID + 1u) : 0u;
uint _255 = 2u * gl_InvocationID;
uint _256 = 3u + _255;
uint _257 = _255 + 4u;
float4 _269 = float4(param_var_I[_254].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _277 = float4(param_var_I[_256].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _285 = float4(param_var_I[_257].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
spvUnsafeArray<float4, 3> _333 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_254].Position) - (float4(dot(param_var_I[_254].Position - param_var_I[gl_InvocationID].Position, _247)) * _247)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_256].Position) + param_var_I[_257].Position) - (float4(dot(param_var_I[_257].Position - param_var_I[_256].Position, _277)) * _277)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_254].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_254].Position, _269)) * _269)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_257].Position) + param_var_I[_256].Position) - (float4(dot(param_var_I[_256].Position - param_var_I[_257].Position, _285)) * _285)) * float4(0.3333333432674407958984375))) * float4(0.5) });
spvUnsafeArray<float4, 12> _125 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid, gl_in[3].in_var_TEXCOORD10_centroid, gl_in[4].in_var_TEXCOORD10_centroid, gl_in[5].in_var_TEXCOORD10_centroid, gl_in[6].in_var_TEXCOORD10_centroid, gl_in[7].in_var_TEXCOORD10_centroid, gl_in[8].in_var_TEXCOORD10_centroid, gl_in[9].in_var_TEXCOORD10_centroid, gl_in[10].in_var_TEXCOORD10_centroid, gl_in[11].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 12> _126 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid, gl_in[3].in_var_TEXCOORD11_centroid, gl_in[4].in_var_TEXCOORD11_centroid, gl_in[5].in_var_TEXCOORD11_centroid, gl_in[6].in_var_TEXCOORD11_centroid, gl_in[7].in_var_TEXCOORD11_centroid, gl_in[8].in_var_TEXCOORD11_centroid, gl_in[9].in_var_TEXCOORD11_centroid, gl_in[10].in_var_TEXCOORD11_centroid, gl_in[11].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 12> _127 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_COLOR0, gl_in[1].in_var_COLOR0, gl_in[2].in_var_COLOR0, gl_in[3].in_var_COLOR0, gl_in[4].in_var_COLOR0, gl_in[5].in_var_COLOR0, gl_in[6].in_var_COLOR0, gl_in[7].in_var_COLOR0, gl_in[8].in_var_COLOR0, gl_in[9].in_var_COLOR0, gl_in[10].in_var_COLOR0, gl_in[11].in_var_COLOR0 });
spvUnsafeArray<spvUnsafeArray<float2, 2>, 12> _128 = spvUnsafeArray<spvUnsafeArray<float2, 2>, 12>({ spvUnsafeArray<float2, 2>({ gl_in[0].in_var_TEXCOORD0_0, gl_in[0].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[1].in_var_TEXCOORD0_0, gl_in[1].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[2].in_var_TEXCOORD0_0, gl_in[2].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[3].in_var_TEXCOORD0_0, gl_in[3].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[4].in_var_TEXCOORD0_0, gl_in[4].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[5].in_var_TEXCOORD0_0, gl_in[5].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[6].in_var_TEXCOORD0_0, gl_in[6].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[7].in_var_TEXCOORD0_0, gl_in[7].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[8].in_var_TEXCOORD0_0, gl_in[8].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[9].in_var_TEXCOORD0_0, gl_in[9].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[10].in_var_TEXCOORD0_0, gl_in[10].in_var_TEXCOORD0_1 }), spvUnsafeArray<float2, 2>({ gl_in[11].in_var_TEXCOORD0_0, gl_in[11].in_var_TEXCOORD0_1 }) });
spvUnsafeArray<float4, 12> _201 = spvUnsafeArray<float4, 12>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position, gl_in[3].in_var_VS_To_DS_Position, gl_in[4].in_var_VS_To_DS_Position, gl_in[5].in_var_VS_To_DS_Position, gl_in[6].in_var_VS_To_DS_Position, gl_in[7].in_var_VS_To_DS_Position, gl_in[8].in_var_VS_To_DS_Position, gl_in[9].in_var_VS_To_DS_Position, gl_in[10].in_var_VS_To_DS_Position, gl_in[11].in_var_VS_To_DS_Position });
spvUnsafeArray<FHitProxyVSToDS, 12> _226 = spvUnsafeArray<FHitProxyVSToDS, 12>({ FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[0], _126[0], _127[0], _128[0] } }, _201[0] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[1], _126[1], _127[1], _128[1] } }, _201[1] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[2], _126[2], _127[2], _128[2] } }, _201[2] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[3], _126[3], _127[3], _128[3] } }, _201[3] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[4], _126[4], _127[4], _128[4] } }, _201[4] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[5], _126[5], _127[5], _128[5] } }, _201[5] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[6], _126[6], _127[6], _128[6] } }, _201[6] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[7], _126[7], _127[7], _128[7] } }, _201[7] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[8], _126[8], _127[8], _128[8] } }, _201[8] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[9], _126[9], _127[9], _128[9] } }, _201[9] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[10], _126[10], _127[10], _128[10] } }, _201[10] }, FHitProxyVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _125[11], _126[11], _127[11], _128[11] } }, _201[11] } });
spvUnsafeArray<FHitProxyVSToDS, 12> param_var_I = _226;
float4 _243 = float4(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float3 _247 = Primitive.Primitive_NonUniformScale.xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
uint _250 = (gl_InvocationID < 2u) ? (gl_InvocationID + 1u) : 0u;
uint _251 = 2u * gl_InvocationID;
uint _252 = 3u + _251;
uint _253 = _251 + 4u;
float4 _265 = float4(param_var_I[_250].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _273 = float4(param_var_I[_252].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
float4 _281 = float4(param_var_I[_253].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
spvUnsafeArray<float4, 3> _329 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_250].Position) - (float4(dot(param_var_I[_250].Position - param_var_I[gl_InvocationID].Position, _243)) * _243)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_252].Position) + param_var_I[_253].Position) - (float4(dot(param_var_I[_253].Position - param_var_I[_252].Position, _273)) * _273)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_250].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_250].Position, _265)) * _265)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_253].Position) + param_var_I[_252].Position) - (float4(dot(param_var_I[_252].Position - param_var_I[_253].Position, _281)) * _281)) * float4(0.3333333432674407958984375))) * float4(0.5) });
gl_out[gl_InvocationID].out_var_TEXCOORD10_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
gl_out[gl_InvocationID].out_var_TEXCOORD11_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
gl_out[gl_InvocationID].out_var_COLOR0 = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.Color;
gl_out[gl_InvocationID].out_var_TEXCOORD0 = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TexCoords;
gl_out[gl_InvocationID].out_var_VS_To_DS_Position = param_var_I[gl_InvocationID].Position;
gl_out[gl_InvocationID].out_var_PN_POSITION = _333;
gl_out[gl_InvocationID].out_var_PN_DisplacementScales = _251;
gl_out[gl_InvocationID].out_var_PN_POSITION = _329;
gl_out[gl_InvocationID].out_var_PN_DisplacementScales = _247;
gl_out[gl_InvocationID].out_var_PN_TessellationMultiplier = 1.0;
gl_out[gl_InvocationID].out_var_PN_WorldDisplacementMultiplier = 1.0;
temp_var_hullMainRetVal[gl_InvocationID] = FPNTessellationHSToDS{ param_var_I[gl_InvocationID], _333, _251, 1.0, 1.0 };
temp_var_hullMainRetVal[gl_InvocationID] = FPNTessellationHSToDS{ param_var_I[gl_InvocationID], _329, _247, 1.0, 1.0 };
threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup);
if (gl_InvocationID == 0u)
{
float4 _385 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
float4 _398;
_398.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_398.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_398.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_398.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _524;
float4 _381 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
float4 _394;
_394.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_394.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_394.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_394.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _520;
for (;;)
{
float4 _424 = View.View_ViewToClip * float4(0.0);
float4 _429 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[0u].WorldPosition[0].xyz, 1.0);
float3 _430 = _429.xyz;
float3 _431 = _424.xyz;
float _433 = _429.w;
float _434 = _424.w;
float4 _451 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[1u].WorldPosition[0].xyz, 1.0);
float3 _452 = _451.xyz;
float _454 = _451.w;
float4 _472 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[2u].WorldPosition[0].xyz, 1.0);
float3 _473 = _472.xyz;
float _475 = _472.w;
if (any((((int3((_430 - _431) < float3(_433 + _434)) + (int3(2) * int3((_430 + _431) > float3((-_433) - _434)))) | (int3((_452 - _431) < float3(_454 + _434)) + (int3(2) * int3((_452 + _431) > float3((-_454) - _434))))) | (int3((_473 - _431) < float3(_475 + _434)) + (int3(2) * int3((_473 + _431) > float3((-_475) - _434))))) != int3(3)))
float4 _420 = View.View_ViewToClip * float4(0.0);
float4 _425 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[0u].WorldPosition[0].xyz, 1.0);
float3 _426 = _425.xyz;
float3 _427 = _420.xyz;
float _429 = _425.w;
float _430 = _420.w;
float4 _447 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[1u].WorldPosition[0].xyz, 1.0);
float3 _448 = _447.xyz;
float _450 = _447.w;
float4 _468 = View.View_TranslatedWorldToClip * float4(temp_var_hullMainRetVal[2u].WorldPosition[0].xyz, 1.0);
float3 _469 = _468.xyz;
float _471 = _468.w;
if (any((((int3((_426 - _427) < float3(_429 + _430)) + (int3(2) * int3((_426 + _427) > float3((-_429) - _430)))) | (int3((_448 - _427) < float3(_450 + _430)) + (int3(2) * int3((_448 + _427) > float3((-_450) - _430))))) | (int3((_469 - _427) < float3(_471 + _430)) + (int3(2) * int3((_469 + _427) > float3((-_471) - _430))))) != int3(3)))
{
_524 = float4(0.0);
_520 = float4(0.0);
break;
}
float3 _493 = temp_var_hullMainRetVal[0u].WorldPosition[0].xyz - temp_var_hullMainRetVal[1u].WorldPosition[0].xyz;
float3 _494 = temp_var_hullMainRetVal[1u].WorldPosition[0].xyz - temp_var_hullMainRetVal[2u].WorldPosition[0].xyz;
float3 _495 = temp_var_hullMainRetVal[2u].WorldPosition[0].xyz - temp_var_hullMainRetVal[0u].WorldPosition[0].xyz;
float3 _498 = (float3(0.5) * (temp_var_hullMainRetVal[0u].WorldPosition[0].xyz + temp_var_hullMainRetVal[1u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _501 = (float3(0.5) * (temp_var_hullMainRetVal[1u].WorldPosition[0].xyz + temp_var_hullMainRetVal[2u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _504 = (float3(0.5) * (temp_var_hullMainRetVal[2u].WorldPosition[0].xyz + temp_var_hullMainRetVal[0u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float _508 = sqrt(dot(_494, _494) / dot(_501, _501));
float _512 = sqrt(dot(_495, _495) / dot(_504, _504));
float _516 = sqrt(dot(_493, _493) / dot(_498, _498));
float4 _517 = float4(_508, _512, _516, 1.0);
_517.w = 0.333000004291534423828125 * ((_508 + _512) + _516);
_524 = float4(View.View_AdaptiveTessellationFactor) * _517;
float3 _489 = temp_var_hullMainRetVal[0u].WorldPosition[0].xyz - temp_var_hullMainRetVal[1u].WorldPosition[0].xyz;
float3 _490 = temp_var_hullMainRetVal[1u].WorldPosition[0].xyz - temp_var_hullMainRetVal[2u].WorldPosition[0].xyz;
float3 _491 = temp_var_hullMainRetVal[2u].WorldPosition[0].xyz - temp_var_hullMainRetVal[0u].WorldPosition[0].xyz;
float3 _494 = (float3(0.5) * (temp_var_hullMainRetVal[0u].WorldPosition[0].xyz + temp_var_hullMainRetVal[1u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _497 = (float3(0.5) * (temp_var_hullMainRetVal[1u].WorldPosition[0].xyz + temp_var_hullMainRetVal[2u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float3 _500 = (float3(0.5) * (temp_var_hullMainRetVal[2u].WorldPosition[0].xyz + temp_var_hullMainRetVal[0u].WorldPosition[0].xyz)) - float3(View.View_TranslatedWorldCameraOrigin);
float _504 = sqrt(dot(_490, _490) / dot(_497, _497));
float _508 = sqrt(dot(_491, _491) / dot(_500, _500));
float _512 = sqrt(dot(_489, _489) / dot(_494, _494));
float4 _513 = float4(_504, _508, _512, 1.0);
_513.w = 0.333000004291534423828125 * ((_504 + _508) + _512);
_520 = float4(View.View_AdaptiveTessellationFactor) * _513;
break;
}
float4 _526 = fast::clamp(_398 * _524, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_526.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_526.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_526.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_526.w);
patchOut.out_var_PN_POSITION9 = _385 + ((_385 - (((temp_var_hullMainRetVal[2u].WorldPosition[0] + temp_var_hullMainRetVal[1u].WorldPosition[0]) + temp_var_hullMainRetVal[0u].WorldPosition[0]) * float4(0.3333333432674407958984375))) * float4(0.5));
float4 _522 = fast::clamp(_394 * _520, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_522.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_522.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_522.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_522.w);
patchOut.out_var_PN_POSITION9 = _381 + ((_381 - (((temp_var_hullMainRetVal[2u].WorldPosition[0] + temp_var_hullMainRetVal[1u].WorldPosition[0]) + temp_var_hullMainRetVal[0u].WorldPosition[0]) * float4(0.3333333432674407958984375))) * float4(0.5));
}
}

View File

@ -115,7 +115,7 @@ struct type_Material
float4 Material_ScalarExpressions[1];
};
constant float4 _88 = {};
constant float4 _85 = {};
struct main0_out
{
@ -143,32 +143,32 @@ kernel void main0(main0_in in [[stage_in]], constant type_Primitive& Primitive [
threadgroup_barrier(mem_flags::mem_threadgroup);
if (gl_InvocationID >= 3)
return;
spvUnsafeArray<float4, 3> _90 = spvUnsafeArray<float4, 3>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 3> _91 = spvUnsafeArray<float4, 3>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 3> _104 = spvUnsafeArray<float4, 3>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position });
spvUnsafeArray<FBasePassVSToDS, 3> _111 = spvUnsafeArray<FBasePassVSToDS, 3>({ FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _90[0], _91[0] } }, FBasePassInterpolantsVSToDS{ { } }, _104[0] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _90[1], _91[1] } }, FBasePassInterpolantsVSToDS{ { } }, _104[1] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _90[2], _91[2] } }, FBasePassInterpolantsVSToDS{ { } }, _104[2] } });
spvUnsafeArray<FBasePassVSToDS, 3> param_var_I = _111;
float3 _128 = Primitive.Primitive_NonUniformScale.xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
spvUnsafeArray<float4, 3> _87 = spvUnsafeArray<float4, 3>({ gl_in[0].in_var_TEXCOORD10_centroid, gl_in[1].in_var_TEXCOORD10_centroid, gl_in[2].in_var_TEXCOORD10_centroid });
spvUnsafeArray<float4, 3> _88 = spvUnsafeArray<float4, 3>({ gl_in[0].in_var_TEXCOORD11_centroid, gl_in[1].in_var_TEXCOORD11_centroid, gl_in[2].in_var_TEXCOORD11_centroid });
spvUnsafeArray<float4, 3> _101 = spvUnsafeArray<float4, 3>({ gl_in[0].in_var_VS_To_DS_Position, gl_in[1].in_var_VS_To_DS_Position, gl_in[2].in_var_VS_To_DS_Position });
spvUnsafeArray<FBasePassVSToDS, 3> _108 = spvUnsafeArray<FBasePassVSToDS, 3>({ FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _87[0], _88[0] } }, FBasePassInterpolantsVSToDS{ { } }, _101[0] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _87[1], _88[1] } }, FBasePassInterpolantsVSToDS{ { } }, _101[1] }, FBasePassVSToDS{ FVertexFactoryInterpolantsVSToDS{ FVertexFactoryInterpolantsVSToPS{ _87[2], _88[2] } }, FBasePassInterpolantsVSToDS{ { } }, _101[2] } });
spvUnsafeArray<FBasePassVSToDS, 3> param_var_I = _108;
float3 _125 = Primitive.Primitive_NonUniformScale.xyz * float3x3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz, cross(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0.xyz) * float3(param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.w), param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz);
gl_out[gl_InvocationID].out_var_TEXCOORD10_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
gl_out[gl_InvocationID].out_var_TEXCOORD11_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
gl_out[gl_InvocationID].out_var_VS_To_DS_Position = param_var_I[gl_InvocationID].Position;
gl_out[gl_InvocationID].out_var_Flat_DisplacementScales = _128;
gl_out[gl_InvocationID].out_var_Flat_DisplacementScales = _125;
gl_out[gl_InvocationID].out_var_Flat_TessellationMultiplier = Material.Material_ScalarExpressions[0].x;
gl_out[gl_InvocationID].out_var_Flat_WorldDisplacementMultiplier = 1.0;
temp_var_hullMainRetVal[gl_InvocationID] = FFlatTessellationHSToDS{ param_var_I[gl_InvocationID], _128, Material.Material_ScalarExpressions[0].x, 1.0 };
temp_var_hullMainRetVal[gl_InvocationID] = FFlatTessellationHSToDS{ param_var_I[gl_InvocationID], _125, Material.Material_ScalarExpressions[0].x, 1.0 };
threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup);
if (gl_InvocationID == 0u)
{
float4 _154;
_154.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_154.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_154.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_154.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _173 = fast::clamp(_154, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_173.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_173.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_173.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_173.w);
float4 _151;
_151.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
_151.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
_151.z = 0.5 * (temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier);
_151.w = 0.333000004291534423828125 * ((temp_var_hullMainRetVal[0u].TessellationMultiplier + temp_var_hullMainRetVal[1u].TessellationMultiplier) + temp_var_hullMainRetVal[2u].TessellationMultiplier);
float4 _170 = fast::clamp(_151, float4(1.0), float4(15.0));
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[0u] = half(_170.x);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[1u] = half(_170.y);
spvTessLevel[gl_PrimitiveID].edgeTessellationFactor[2u] = half(_170.z);
spvTessLevel[gl_PrimitiveID].insideTessellationFactor = half(_170.w);
}
}

View File

@ -10,7 +10,7 @@ layout(binding = 0, r32ui) uniform writeonly uimageBuffer u0;
void main()
{
uint _29 = atomicAdd(u0_counter.c, uint(-1));
imageStore(u0, floatBitsToInt(uintBitsToFloat(_29)), uvec4(uint(int(gl_GlobalInvocationID.x))));
uint _24 = atomicAdd(u0_counter.c, uint(-1));
imageStore(u0, floatBitsToInt(uintBitsToFloat(_24)), uvec4(uint(int(gl_GlobalInvocationID.x))));
}

View File

@ -10,7 +10,7 @@ layout(binding = 0, r32ui) uniform writeonly uimageBuffer u0;
void main()
{
uint _29 = atomicAdd(u0_counter.c, 1u);
imageStore(u0, floatBitsToInt(uintBitsToFloat(_29)), uvec4(uint(int(gl_GlobalInvocationID.x))));
uint _24 = atomicAdd(u0_counter.c, 1u);
imageStore(u0, floatBitsToInt(uintBitsToFloat(_24)), uvec4(uint(int(gl_GlobalInvocationID.x))));
}

View File

@ -4,10 +4,10 @@ layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
layout(binding = 0, std430) buffer BUF
{
int values[];
} _6;
} _8;
void main()
{
_6.values[int(gl_WorkGroupID.y)] = int(gl_GlobalInvocationID.z);
_8.values[int(gl_WorkGroupID.y)] = int(gl_GlobalInvocationID.z);
}

View File

@ -7,13 +7,13 @@ layout(binding = 0, std430) buffer SSBO0
vec2 vec2_val;
vec3 vec3_val;
vec4 vec4_val;
} _4;
} _12;
void main()
{
_4.scalar = unpackHalf2x16(packHalf2x16(vec2(_4.scalar))).x;
_4.vec2_val = unpackHalf2x16(packHalf2x16(_4.vec2_val));
_4.vec3_val = vec3(unpackHalf2x16(packHalf2x16(_4.vec3_val.xy)), unpackHalf2x16(packHalf2x16(_4.vec3_val.zz)).x);
_4.vec4_val = vec4(unpackHalf2x16(packHalf2x16(_4.vec4_val.xy)), unpackHalf2x16(packHalf2x16(_4.vec4_val.zw)));
_12.scalar = unpackHalf2x16(packHalf2x16(vec2(_12.scalar))).x;
_12.vec2_val = unpackHalf2x16(packHalf2x16(_12.vec2_val));
_12.vec3_val = vec3(unpackHalf2x16(packHalf2x16(_12.vec3_val.xy)), unpackHalf2x16(packHalf2x16(_12.vec3_val.zz)).x);
_12.vec4_val = vec4(unpackHalf2x16(packHalf2x16(_12.vec4_val.xy)), unpackHalf2x16(packHalf2x16(_12.vec4_val.zw)));
}

View File

@ -12,10 +12,10 @@ layout(local_size_x = SPIRV_CROSS_CONSTANT_ID_10, local_size_y = 20, local_size_
layout(binding = 0, std430) buffer SSBO
{
float a;
} _4;
} _6;
void main()
{
_4.a += 1.0;
_6.a += 1.0;
}

View File

@ -14,21 +14,21 @@ void main()
int a;
for (;;)
{
bool _22_ladder_break = false;
bool _17_ladder_break = false;
switch (c)
{
case 5:
{
for (;;)
{
bool _30_ladder_break = false;
bool _25_ladder_break = false;
switch (o.d)
{
case 10:
case 20:
{
c += c;
_30_ladder_break = true;
_25_ladder_break = true;
break;
}
default:
@ -36,7 +36,7 @@ void main()
continue;
}
}
if (_30_ladder_break)
if (_25_ladder_break)
{
break;
}
@ -48,11 +48,11 @@ void main()
case 3:
{
a = c;
_22_ladder_break = true;
_17_ladder_break = true;
break;
}
}
if (_22_ladder_break)
if (_17_ladder_break)
{
break;
}

View File

@ -6,10 +6,10 @@ layout(location = 0) out vec4 b;
void main()
{
vec4 _28 = (_ + a) + _;
b = _28;
vec4 _32 = (_ + a) + _;
b = _32;
b = _;
b = _28;
b = _32;
b = _;
}

View File

@ -4,14 +4,14 @@ layout(location = 0) out vec4 FragColor;
void main()
{
float _19;
_19 = 0.0;
for (int _22 = 0; _22 < 16; )
float _50;
_50 = 0.0;
for (int _47 = 0; _47 < 16; )
{
_19 += 1.0;
_22++;
_50 += 1.0;
_47++;
continue;
}
FragColor = vec4(_19);
FragColor = vec4(_50);
}

View File

@ -7,7 +7,7 @@ layout(location = 0) out vec4 _entryPointOutput;
void main()
{
ivec2 _154 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _154, 0) + texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _154, 0)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy);
ivec2 _160 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _160, 0) + texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _160, 0)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy);
}

View File

@ -8,7 +8,7 @@ layout(location = 0) out vec4 _entryPointOutput;
void main()
{
ivec2 _154 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(SampledImage, _154, 0) + texelFetch(SampledImage, _154, 0)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy);
ivec2 _160 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(SampledImage, _160, 0) + texelFetch(SampledImage, _160, 0)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy);
}

View File

@ -7,7 +7,7 @@ layout(location = 0) out vec4 _entryPointOutput;
void main()
{
ivec2 _154 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _154, 0) + texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _154, 0)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy);
ivec2 _160 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _160, 0) + texelFetch(SPIRV_Cross_CombinedSampledImageSPIRV_Cross_DummySampler, _160, 0)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy)) + texture(SPIRV_Cross_CombinedSampledImageSampler, gl_FragCoord.xy);
}

View File

@ -8,7 +8,7 @@ layout(location = 0) out vec4 _entryPointOutput;
void main()
{
ivec2 _154 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(sampler2D(SampledImage, SPIRV_Cross_DummySampler), _154, 0) + texelFetch(sampler2D(SampledImage, SPIRV_Cross_DummySampler), _154, 0)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy);
ivec2 _160 = ivec3(int(gl_FragCoord.x * 1280.0), int(gl_FragCoord.y * 720.0), 0).xy;
_entryPointOutput = ((texelFetch(sampler2D(SampledImage, SPIRV_Cross_DummySampler), _160, 0) + texelFetch(sampler2D(SampledImage, SPIRV_Cross_DummySampler), _160, 0)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy)) + texture(sampler2D(SampledImage, Sampler), gl_FragCoord.xy);
}

View File

@ -8,22 +8,22 @@ layout(location = 0) out vec4 FragColor;
void main()
{
float phi;
vec4 _36;
int _51;
_51 = 0;
vec4 _45;
int _57;
_57 = 0;
phi = 1.0;
_36 = vec4(1.0, 2.0, 1.0, 2.0);
_45 = vec4(1.0, 2.0, 1.0, 2.0);
for (;;)
{
FragColor = _36;
if (_51 < 4)
FragColor = _45;
if (_57 < 4)
{
if (v0[_51] > 0.0)
if (v0[_57] > 0.0)
{
vec2 _48 = vec2(phi);
_51++;
vec2 _43 = vec2(phi);
_57++;
phi += 2.0;
_36 = textureLod(uImage, _48, 0.0);
_45 = textureLod(uImage, _43, 0.0);
continue;
}
else

View File

@ -23,14 +23,14 @@ void main()
FragColor = 4.0;
}
#line 19 "test.frag"
for (int _127 = 0; float(_127) < (40.0 + vColor); )
for (int _131 = 0; float(_131) < (40.0 + vColor); )
{
#line 21 "test.frag"
FragColor += 0.20000000298023223876953125;
#line 22 "test.frag"
FragColor += 0.300000011920928955078125;
#line 19 "test.frag"
_127 += (int(vColor) + 5);
_131 += (int(vColor) + 5);
continue;
}
#line 25 "test.frag"

View File

@ -1,21 +1,21 @@
#version 450
layout(location = 1) in vec2 _2;
layout(location = 1, component = 2) in float _3;
layout(location = 2) flat in float _4;
layout(location = 2, component = 1) flat in uint _5;
layout(location = 2, component = 2) flat in uint _6;
layout(location = 1) in vec2 _8;
layout(location = 1, component = 2) in float _16;
layout(location = 2) flat in float _22;
layout(location = 2, component = 1) flat in uint _28;
layout(location = 2, component = 2) flat in uint _33;
layout(location = 0) out vec4 o0;
vec4 v1;
vec4 v2;
void main()
{
v1 = vec4(_2.x, _2.y, v1.z, v1.w);
v1.z = _3;
v2.x = _4;
v2.y = uintBitsToFloat(_5);
v2.z = uintBitsToFloat(_6);
v1 = vec4(_8.x, _8.y, v1.z, v1.w);
v1.z = _16;
v2.x = _22;
v2.y = uintBitsToFloat(_28);
v2.z = uintBitsToFloat(_33);
o0.y = float(floatBitsToUint(intBitsToFloat(floatBitsToInt(v2.y) + floatBitsToInt(v2.z))));
o0.x = v1.y + v2.x;
o0 = vec4(o0.x, o0.y, v1.z, v1.x);

View File

@ -12,14 +12,14 @@
#define SPIRV_CROSS_LOOP
#endif
int _231;
int _239;
layout(binding = 0, std140) uniform Foo
{
layout(row_major) mat4 lightVP[64];
uint shadowCascadesNum;
int test;
} _11;
} _16;
layout(location = 0) in vec3 fragWorld;
layout(location = 0) out int _entryPointOutput;
@ -28,56 +28,56 @@ mat4 spvWorkaroundRowMajor(mat4 wrap) { return wrap; }
void main()
{
int _228;
int _236;
do
{
bool _225;
int _229;
uint _222 = 0u;
bool _233;
int _237;
uint _230 = 0u;
SPIRV_CROSS_UNROLL
for (;;)
{
if (_222 < _11.shadowCascadesNum)
if (_230 < _16.shadowCascadesNum)
{
mat4 _223;
mat4 _231;
do
{
if (_11.test == 0)
if (_16.test == 0)
{
_223 = mat4(vec4(0.5, 0.0, 0.0, 0.0), vec4(0.0, 0.5, 0.0, 0.0), vec4(0.0, 0.0, 0.5, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
_231 = mat4(vec4(0.5, 0.0, 0.0, 0.0), vec4(0.0, 0.5, 0.0, 0.0), vec4(0.0, 0.0, 0.5, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
break;
}
_223 = mat4(vec4(1.0, 0.0, 0.0, 0.0), vec4(0.0, 1.0, 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
_231 = mat4(vec4(1.0, 0.0, 0.0, 0.0), vec4(0.0, 1.0, 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
break;
} while(false);
vec4 _170 = (_223 * spvWorkaroundRowMajor(_11.lightVP[_222])) * vec4(fragWorld, 1.0);
float _172 = _170.z;
float _179 = _170.x;
float _181 = _170.y;
if ((((_172 >= 0.0) && (_172 <= 1.0)) && (max(_179, _181) <= 1.0)) && (min(_179, _181) >= 0.0))
vec4 _178 = (_231 * spvWorkaroundRowMajor(_16.lightVP[_230])) * vec4(fragWorld, 1.0);
float _180 = _178.z;
float _187 = _178.x;
float _189 = _178.y;
if ((((_180 >= 0.0) && (_180 <= 1.0)) && (max(_187, _189) <= 1.0)) && (min(_187, _189) >= 0.0))
{
_229 = int(_222);
_225 = true;
_237 = int(_230);
_233 = true;
break;
}
_222++;
_230++;
continue;
}
else
{
_229 = _231;
_225 = false;
_237 = _239;
_233 = false;
break;
}
}
if (_225)
if (_233)
{
_228 = _229;
_236 = _237;
break;
}
_228 = -1;
_236 = -1;
break;
} while(false);
_entryPointOutput = _228;
_entryPointOutput = _236;
}

View File

@ -13,7 +13,7 @@ struct Params
layout(binding = 1, std140) uniform CB1
{
Params CB1;
} _8;
} _12;
uniform sampler2D SPIRV_Cross_CombinedmapTexturemapSampler;
@ -22,25 +22,25 @@ layout(location = 0) out vec4 _entryPointOutput;
void main()
{
vec2 _45 = vec2(0.0, _8.CB1.TextureSize.w);
vec4 _49 = texture(SPIRV_Cross_CombinedmapTexturemapSampler, IN_uv);
float _50 = _49.y;
float _53 = clamp(_50 * 0.06399999558925628662109375, 7.999999797903001308441162109375e-05, 0.008000000379979610443115234375);
float _55;
float _58;
_55 = 0.0;
_58 = 0.0;
for (int _60 = -3; _60 <= 3; )
vec2 _180 = vec2(0.0, _12.CB1.TextureSize.w);
vec4 _206 = texture(SPIRV_Cross_CombinedmapTexturemapSampler, IN_uv);
float _207 = _206.y;
float _211 = clamp(_207 * 0.06399999558925628662109375, 7.999999797903001308441162109375e-05, 0.008000000379979610443115234375);
float _276;
float _277;
_276 = 0.0;
_277 = 0.0;
for (int _278 = -3; _278 <= 3; )
{
float _64 = float(_60);
float _68 = exp(((-_64) * _64) * 0.2222220003604888916015625);
vec4 _72 = texture(SPIRV_Cross_CombinedmapTexturemapSampler, IN_uv + (_45 * _64));
float _77 = float(abs(_72.y - _50) < _53);
_55 = fma(_72.x, _68 * _77, _55);
_58 = fma(_68, _77, _58);
_60++;
float _220 = float(_278);
float _227 = exp(((-_220) * _220) * 0.2222220003604888916015625);
vec4 _236 = texture(SPIRV_Cross_CombinedmapTexturemapSampler, IN_uv + (_180 * _220));
float _245 = float(abs(_236.y - _207) < _211);
_276 = fma(_236.x, _227 * _245, _276);
_277 = fma(_227, _245, _277);
_278++;
continue;
}
_entryPointOutput = vec4(_55 / _58, _50, 0.0, 1.0);
_entryPointOutput = vec4(_276 / _277, _207, 0.0, 1.0);
}

View File

@ -2,41 +2,41 @@
precision mediump float;
precision highp int;
const float _46[16] = float[](1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0);
const vec4 _76[4] = vec4[](vec4(0.0), vec4(1.0), vec4(8.0), vec4(5.0));
const float _16[16] = float[](1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0);
const vec4 _60[4] = vec4[](vec4(0.0), vec4(1.0), vec4(8.0), vec4(5.0));
layout(location = 0) out float FragColor;
layout(location = 0) flat in mediump int index;
void main()
{
vec4 foobar[4] = _76;
vec4 baz[4] = _76;
FragColor = _46[index];
vec4 foobar[4] = _60;
vec4 baz[4] = _60;
FragColor = _16[index];
if (index < 10)
{
FragColor += _46[index ^ 1];
FragColor += _16[index ^ 1];
}
else
{
FragColor += _46[index & 1];
FragColor += _16[index & 1];
}
bool _99 = index > 30;
if (_99)
bool _63 = index > 30;
if (_63)
{
FragColor += _76[index & 3].y;
FragColor += _60[index & 3].y;
}
else
{
FragColor += _76[index & 1].x;
FragColor += _60[index & 1].x;
}
if (_99)
if (_63)
{
foobar[1].z = 20.0;
}
mediump int _37 = index & 3;
FragColor += foobar[_37].z;
mediump int _91 = index & 3;
FragColor += foobar[_91].z;
baz = vec4[](vec4(20.0), vec4(30.0), vec4(50.0), vec4(60.0));
FragColor += baz[_37].z;
FragColor += baz[_91].z;
}

View File

@ -5,25 +5,25 @@ layout(binding = 0, std140) uniform UBO
int uCount;
int uJ;
int uK;
} _5;
} _7;
layout(location = 0) out float FragColor;
void main()
{
int _23;
int _23_copy;
int _24;
_23 = _5.uK;
_24 = _5.uJ;
for (int _26 = 0; _26 < _5.uCount; )
int _53;
int _54;
int _54_copy;
_54 = _7.uK;
_53 = _7.uJ;
for (int _52 = 0; _52 < _7.uCount; )
{
_23_copy = _23;
_23 = _24;
_24 = _23_copy;
_26++;
_54_copy = _54;
_54 = _53;
_53 = _54_copy;
_52++;
continue;
}
FragColor = float(_24 - _23) * float(_5.uJ * _5.uK);
FragColor = float(_53 - _54) * float(_7.uJ * _7.uK);
}

View File

@ -2,12 +2,12 @@
layout(location = 0) out vec4 FragColors[2];
layout(location = 2) out vec4 FragColor;
const vec4 _3_init[2] = vec4[](vec4(1.0, 2.0, 3.0, 4.0), vec4(10.0));
const vec4 _4_init = vec4(5.0);
const vec4 _4_init[2] = vec4[](vec4(1.0, 2.0, 3.0, 4.0), vec4(10.0));
const vec4 _6_init = vec4(5.0);
void main()
{
FragColors = _3_init;
FragColor = _4_init;
FragColors = _4_init;
FragColor = _6_init;
}

View File

@ -8,7 +8,7 @@ struct Foo
float var2;
};
Foo _22;
Foo _33;
layout(binding = 0) uniform mediump sampler2D uSampler;
@ -16,6 +16,6 @@ layout(location = 0) out vec4 FragColor;
void main()
{
FragColor = texture(uSampler, vec2(_22.var1, _22.var2));
FragColor = texture(uSampler, vec2(_33.var1, _33.var2));
}

View File

@ -7,26 +7,26 @@ layout(location = 0) out float FragColor;
void main()
{
highp float _19;
highp float _27;
switch (vIndex)
{
case 0:
case 2:
{
_19 = 1.0;
_27 = 1.0;
break;
}
default:
{
_19 = 3.0;
_27 = 3.0;
break;
}
case 8:
{
_19 = 8.0;
_27 = 8.0;
break;
}
}
FragColor = _19;
FragColor = _27;
}

View File

@ -8,20 +8,20 @@ struct MyStruct
layout(binding = 0, std140) uniform MyStruct_CB
{
MyStruct g_MyStruct[4];
} _6;
} _8;
layout(location = 0) out vec4 _entryPointOutput;
void main()
{
vec3 _28;
_28 = vec3(0.0);
for (int _31 = 0; _31 < 4; )
vec3 _85;
_85 = vec3(0.0);
for (int _86 = 0; _86 < 4; )
{
_28 += _6.g_MyStruct[_31].color.xyz;
_31++;
_85 += _8.g_MyStruct[_86].color.xyz;
_86++;
continue;
}
_entryPointOutput = vec4(_28, 1.0);
_entryPointOutput = vec4(_85, 1.0);
}

View File

@ -5,20 +5,20 @@ layout(location = 0) out vec4 FragColor;
void main()
{
vec4 _33;
vec4 _46;
for (;;)
{
if (counter == 10)
{
_33 = vec4(10.0);
_46 = vec4(10.0);
break;
}
else
{
_33 = vec4(30.0);
_46 = vec4(30.0);
break;
}
}
FragColor = _33;
FragColor = _46;
}

View File

@ -12,19 +12,19 @@
#define SPIRV_CROSS_LOOP
#endif
struct _28
struct _15
{
vec4 _m0;
};
layout(binding = 0, std140) uniform _6_7
layout(binding = 0, std140) uniform _3_22044
{
vec4 _m0;
float _m1;
vec4 _m2;
} _7;
} _22044;
layout(binding = 2, std140) uniform _10_11
layout(binding = 2, std140) uniform _4_12348
{
vec3 _m0;
vec3 _m1;
@ -51,9 +51,9 @@ layout(binding = 2, std140) uniform _10_11
vec4 _m22;
layout(row_major) mat4 _m23;
vec4 _m24;
} _11;
} _12348;
layout(binding = 1, std140) uniform _18_19
layout(binding = 1, std140) uniform _7_15259
{
layout(row_major) mat4 _m0;
layout(row_major) mat4 _m1;
@ -94,204 +94,204 @@ layout(binding = 1, std140) uniform _18_19
vec3 _m36;
layout(row_major) mat4 _m37[2];
vec4 _m38[2];
} _19;
} _15259;
uniform sampler2D SPIRV_Cross_Combined;
uniform sampler2D SPIRV_Cross_Combined_1;
uniform sampler2D SPIRV_Cross_Combined_2;
layout(location = 0) out vec4 _5;
layout(location = 0) out vec4 _4317;
void main()
{
vec4 _88 = _7._m2 * _7._m0.xyxy;
vec2 _95 = _88.xy;
vec2 _96 = _88.zw;
vec2 _97 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(0.0, -2.0) * _7._m0.xy), _95, _96);
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);
float _114 = _113.y;
vec3 _129;
vec4 _17581 = _22044._m2 * _22044._m0.xyxy;
vec2 _7011 = _17581.xy;
vec2 _21058 = _17581.zw;
vec2 _13149 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(0.0, -2.0) * _22044._m0.xy), _7011, _21058);
vec3 _12103 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13149, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17670 = textureLod(SPIRV_Cross_Combined_1, _13149, 0.0);
float _16938 = _17670.y;
vec3 _7719;
SPIRV_CROSS_BRANCH
if (_114 > 0.0)
if (_16938 > 0.0)
{
_129 = _109 + (textureLod(SPIRV_Cross_Combined_2, _97, 0.0).xyz * clamp(_114 * _113.z, 0.0, 1.0));
_7719 = _12103 + (textureLod(SPIRV_Cross_Combined_2, _13149, 0.0).xyz * clamp(_16938 * _17670.z, 0.0, 1.0));
}
else
{
_129 = _109;
_7719 = _12103;
}
vec2 _144 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(-1.0) * _7._m0.xy), _95, _96);
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);
float _161 = _160.y;
vec3 _176;
vec2 _13150 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(-1.0) * _22044._m0.xy), _7011, _21058);
vec3 _12104 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13150, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17671 = textureLod(SPIRV_Cross_Combined_1, _13150, 0.0);
float _16939 = _17671.y;
vec3 _7720;
SPIRV_CROSS_BRANCH
if (_161 > 0.0)
if (_16939 > 0.0)
{
_176 = _156 + (textureLod(SPIRV_Cross_Combined_2, _144, 0.0).xyz * clamp(_161 * _160.z, 0.0, 1.0));
_7720 = _12104 + (textureLod(SPIRV_Cross_Combined_2, _13150, 0.0).xyz * clamp(_16939 * _17671.z, 0.0, 1.0));
}
else
{
_176 = _156;
_7720 = _12104;
}
vec2 _191 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(0.0, -1.0) * _7._m0.xy), _95, _96);
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);
float _208 = _207.y;
vec3 _223;
vec2 _13151 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(0.0, -1.0) * _22044._m0.xy), _7011, _21058);
vec3 _12105 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13151, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17672 = textureLod(SPIRV_Cross_Combined_1, _13151, 0.0);
float _16940 = _17672.y;
vec3 _7721;
SPIRV_CROSS_BRANCH
if (_208 > 0.0)
if (_16940 > 0.0)
{
_223 = _203 + (textureLod(SPIRV_Cross_Combined_2, _191, 0.0).xyz * clamp(_208 * _207.z, 0.0, 1.0));
_7721 = _12105 + (textureLod(SPIRV_Cross_Combined_2, _13151, 0.0).xyz * clamp(_16940 * _17672.z, 0.0, 1.0));
}
else
{
_223 = _203;
_7721 = _12105;
}
vec2 _238 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(1.0, -1.0) * _7._m0.xy), _95, _96);
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);
float _255 = _254.y;
vec3 _270;
vec2 _13152 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(1.0, -1.0) * _22044._m0.xy), _7011, _21058);
vec3 _12106 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13152, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17673 = textureLod(SPIRV_Cross_Combined_1, _13152, 0.0);
float _16941 = _17673.y;
vec3 _7722;
SPIRV_CROSS_BRANCH
if (_255 > 0.0)
if (_16941 > 0.0)
{
_270 = _250 + (textureLod(SPIRV_Cross_Combined_2, _238, 0.0).xyz * clamp(_255 * _254.z, 0.0, 1.0));
_7722 = _12106 + (textureLod(SPIRV_Cross_Combined_2, _13152, 0.0).xyz * clamp(_16941 * _17673.z, 0.0, 1.0));
}
else
{
_270 = _250;
_7722 = _12106;
}
vec2 _285 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(-2.0, 0.0) * _7._m0.xy), _95, _96);
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);
float _302 = _301.y;
vec3 _317;
vec2 _13153 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(-2.0, 0.0) * _22044._m0.xy), _7011, _21058);
vec3 _12107 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13153, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17674 = textureLod(SPIRV_Cross_Combined_1, _13153, 0.0);
float _16942 = _17674.y;
vec3 _7723;
SPIRV_CROSS_BRANCH
if (_302 > 0.0)
if (_16942 > 0.0)
{
_317 = _297 + (textureLod(SPIRV_Cross_Combined_2, _285, 0.0).xyz * clamp(_302 * _301.z, 0.0, 1.0));
_7723 = _12107 + (textureLod(SPIRV_Cross_Combined_2, _13153, 0.0).xyz * clamp(_16942 * _17674.z, 0.0, 1.0));
}
else
{
_317 = _297;
_7723 = _12107;
}
vec2 _332 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(-1.0, 0.0) * _7._m0.xy), _95, _96);
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);
float _349 = _348.y;
vec3 _364;
vec2 _13154 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(-1.0, 0.0) * _22044._m0.xy), _7011, _21058);
vec3 _12108 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13154, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17675 = textureLod(SPIRV_Cross_Combined_1, _13154, 0.0);
float _16943 = _17675.y;
vec3 _7724;
SPIRV_CROSS_BRANCH
if (_349 > 0.0)
if (_16943 > 0.0)
{
_364 = _344 + (textureLod(SPIRV_Cross_Combined_2, _332, 0.0).xyz * clamp(_349 * _348.z, 0.0, 1.0));
_7724 = _12108 + (textureLod(SPIRV_Cross_Combined_2, _13154, 0.0).xyz * clamp(_16943 * _17675.z, 0.0, 1.0));
}
else
{
_364 = _344;
_7724 = _12108;
}
vec2 _379 = clamp(gl_FragCoord.xy * _19._m23.xy, _95, _96);
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);
float _396 = _395.y;
vec3 _411;
vec2 _13155 = clamp(gl_FragCoord.xy * _15259._m23.xy, _7011, _21058);
vec3 _12109 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13155, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17676 = textureLod(SPIRV_Cross_Combined_1, _13155, 0.0);
float _16944 = _17676.y;
vec3 _7725;
SPIRV_CROSS_BRANCH
if (_396 > 0.0)
if (_16944 > 0.0)
{
_411 = _391 + (textureLod(SPIRV_Cross_Combined_2, _379, 0.0).xyz * clamp(_396 * _395.z, 0.0, 1.0));
_7725 = _12109 + (textureLod(SPIRV_Cross_Combined_2, _13155, 0.0).xyz * clamp(_16944 * _17676.z, 0.0, 1.0));
}
else
{
_411 = _391;
_7725 = _12109;
}
vec2 _426 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(1.0, 0.0) * _7._m0.xy), _95, _96);
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);
float _443 = _442.y;
vec3 _458;
vec2 _13156 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(1.0, 0.0) * _22044._m0.xy), _7011, _21058);
vec3 _12110 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13156, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17677 = textureLod(SPIRV_Cross_Combined_1, _13156, 0.0);
float _16945 = _17677.y;
vec3 _7726;
SPIRV_CROSS_BRANCH
if (_443 > 0.0)
if (_16945 > 0.0)
{
_458 = _438 + (textureLod(SPIRV_Cross_Combined_2, _426, 0.0).xyz * clamp(_443 * _442.z, 0.0, 1.0));
_7726 = _12110 + (textureLod(SPIRV_Cross_Combined_2, _13156, 0.0).xyz * clamp(_16945 * _17677.z, 0.0, 1.0));
}
else
{
_458 = _438;
_7726 = _12110;
}
vec2 _473 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(2.0, 0.0) * _7._m0.xy), _95, _96);
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);
float _490 = _489.y;
vec3 _505;
vec2 _13157 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(2.0, 0.0) * _22044._m0.xy), _7011, _21058);
vec3 _12111 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13157, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17678 = textureLod(SPIRV_Cross_Combined_1, _13157, 0.0);
float _16946 = _17678.y;
vec3 _7727;
SPIRV_CROSS_BRANCH
if (_490 > 0.0)
if (_16946 > 0.0)
{
_505 = _485 + (textureLod(SPIRV_Cross_Combined_2, _473, 0.0).xyz * clamp(_490 * _489.z, 0.0, 1.0));
_7727 = _12111 + (textureLod(SPIRV_Cross_Combined_2, _13157, 0.0).xyz * clamp(_16946 * _17678.z, 0.0, 1.0));
}
else
{
_505 = _485;
_7727 = _12111;
}
vec2 _520 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(-1.0, 1.0) * _7._m0.xy), _95, _96);
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);
float _537 = _536.y;
vec3 _552;
vec2 _13158 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(-1.0, 1.0) * _22044._m0.xy), _7011, _21058);
vec3 _12112 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13158, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17679 = textureLod(SPIRV_Cross_Combined_1, _13158, 0.0);
float _16947 = _17679.y;
vec3 _7728;
SPIRV_CROSS_BRANCH
if (_537 > 0.0)
if (_16947 > 0.0)
{
_552 = _532 + (textureLod(SPIRV_Cross_Combined_2, _520, 0.0).xyz * clamp(_537 * _536.z, 0.0, 1.0));
_7728 = _12112 + (textureLod(SPIRV_Cross_Combined_2, _13158, 0.0).xyz * clamp(_16947 * _17679.z, 0.0, 1.0));
}
else
{
_552 = _532;
_7728 = _12112;
}
vec2 _567 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(0.0, 1.0) * _7._m0.xy), _95, _96);
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);
float _584 = _583.y;
vec3 _599;
vec2 _13159 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(0.0, 1.0) * _22044._m0.xy), _7011, _21058);
vec3 _12113 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13159, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17680 = textureLod(SPIRV_Cross_Combined_1, _13159, 0.0);
float _16948 = _17680.y;
vec3 _7729;
SPIRV_CROSS_BRANCH
if (_584 > 0.0)
if (_16948 > 0.0)
{
_599 = _579 + (textureLod(SPIRV_Cross_Combined_2, _567, 0.0).xyz * clamp(_584 * _583.z, 0.0, 1.0));
_7729 = _12113 + (textureLod(SPIRV_Cross_Combined_2, _13159, 0.0).xyz * clamp(_16948 * _17680.z, 0.0, 1.0));
}
else
{
_599 = _579;
_7729 = _12113;
}
vec2 _614 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, _7._m0.xy), _95, _96);
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);
float _631 = _630.y;
vec3 _646;
vec2 _13160 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, _22044._m0.xy), _7011, _21058);
vec3 _12114 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13160, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17681 = textureLod(SPIRV_Cross_Combined_1, _13160, 0.0);
float _16949 = _17681.y;
vec3 _7730;
SPIRV_CROSS_BRANCH
if (_631 > 0.0)
if (_16949 > 0.0)
{
_646 = _626 + (textureLod(SPIRV_Cross_Combined_2, _614, 0.0).xyz * clamp(_631 * _630.z, 0.0, 1.0));
_7730 = _12114 + (textureLod(SPIRV_Cross_Combined_2, _13160, 0.0).xyz * clamp(_16949 * _17681.z, 0.0, 1.0));
}
else
{
_646 = _626;
_7730 = _12114;
}
vec2 _661 = clamp(fma(gl_FragCoord.xy, _19._m23.xy, vec2(0.0, 2.0) * _7._m0.xy), _95, _96);
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);
float _678 = _677.y;
vec3 _693;
vec2 _13161 = clamp(fma(gl_FragCoord.xy, _15259._m23.xy, vec2(0.0, 2.0) * _22044._m0.xy), _7011, _21058);
vec3 _12115 = _12348._m5 * clamp(textureLod(SPIRV_Cross_Combined, _13161, 0.0).w * _22044._m1, 0.0, 1.0);
vec4 _17682 = textureLod(SPIRV_Cross_Combined_1, _13161, 0.0);
float _16950 = _17682.y;
vec3 _7731;
SPIRV_CROSS_BRANCH
if (_678 > 0.0)
if (_16950 > 0.0)
{
_693 = _673 + (textureLod(SPIRV_Cross_Combined_2, _661, 0.0).xyz * clamp(_678 * _677.z, 0.0, 1.0));
_7731 = _12115 + (textureLod(SPIRV_Cross_Combined_2, _13161, 0.0).xyz * clamp(_16950 * _17682.z, 0.0, 1.0));
}
else
{
_693 = _673;
_7731 = _12115;
}
vec3 _702 = (((((((((((((_129 * 0.5).xyz + (_176 * 0.5)).xyz + (_223 * 0.75)).xyz + (_270 * 0.5)).xyz + (_317 * 0.5)).xyz + (_364 * 0.75)).xyz + (_411 * 1.0)).xyz + (_458 * 0.75)).xyz + (_505 * 0.5)).xyz + (_552 * 0.5)).xyz + (_599 * 0.75)).xyz + (_646 * 0.5)).xyz + (_693 * 0.5)).xyz * vec3(0.125);
_28 _750 = _28(vec4(_702.x, _702.y, _702.z, vec4(0.0).w));
_750._m0.w = 1.0;
_5 = _750._m0;
vec3 _13750 = (((((((((((((_7719 * 0.5).xyz + (_7720 * 0.5)).xyz + (_7721 * 0.75)).xyz + (_7722 * 0.5)).xyz + (_7723 * 0.5)).xyz + (_7724 * 0.75)).xyz + (_7725 * 1.0)).xyz + (_7726 * 0.75)).xyz + (_7727 * 0.5)).xyz + (_7728 * 0.5)).xyz + (_7729 * 0.75)).xyz + (_7730 * 0.5)).xyz + (_7731 * 0.5)).xyz * vec3(0.125);
_15 _25050 = _15(vec4(_13750.x, _13750.y, _13750.z, vec4(0.0).w));
_25050._m0.w = 1.0;
_4317 = _25050._m0;
}

View File

@ -3,28 +3,28 @@
#ifndef SPIRV_CROSS_CONSTANT_ID_201
#define SPIRV_CROSS_CONSTANT_ID_201 -10
#endif
const int _7 = SPIRV_CROSS_CONSTANT_ID_201;
const int _20 = (_7 + 2);
const int _13 = SPIRV_CROSS_CONSTANT_ID_201;
const int _15 = (_13 + 2);
#ifndef SPIRV_CROSS_CONSTANT_ID_202
#define SPIRV_CROSS_CONSTANT_ID_202 100u
#endif
const uint _8 = SPIRV_CROSS_CONSTANT_ID_202;
const uint _25 = (_8 % 5u);
const int _30 = _7 - (-3) * (_7 / (-3));
const ivec4 _32 = ivec4(20, 30, _20, _30);
const ivec2 _34 = ivec2(_32.y, _32.x);
const int _35 = _32.y;
const uint _24 = SPIRV_CROSS_CONSTANT_ID_202;
const uint _26 = (_24 % 5u);
const int _61 = _13 - (-3) * (_13 / (-3));
const ivec4 _36 = ivec4(20, 30, _15, _61);
const ivec2 _41 = ivec2(_36.y, _36.x);
const int _62 = _36.y;
layout(location = 0) flat out int _4;
layout(location = 0) flat out int _58;
void main()
{
vec4 _65 = vec4(0.0);
_65.y = float(_20);
_65.z = float(_25);
vec4 _54 = _65 + vec4(_32);
vec2 _58 = _54.xy + vec2(_34);
gl_Position = vec4(_58.x, _58.y, _54.z, _54.w);
_4 = _35;
_65.y = float(_15);
_65.z = float(_26);
vec4 _39 = _65 + vec4(_36);
vec2 _46 = _39.xy + vec2(_41);
gl_Position = vec4(_46.x, _46.y, _39.z, _39.w);
_58 = _62;
}

View File

@ -1,28 +1,28 @@
#version 450
layout(constant_id = 201) const int _7 = -10;
const int _20 = (_7 + 2);
layout(constant_id = 202) const uint _8 = 100u;
const uint _25 = (_8 % 5u);
const int _30 = _7 - (-3) * (_7 / (-3));
const ivec4 _32 = ivec4(20, 30, _20, _30);
const ivec2 _34 = ivec2(_32.y, _32.x);
const int _35 = _32.y;
layout(constant_id = 201) const int _13 = -10;
const int _15 = (_13 + 2);
layout(constant_id = 202) const uint _24 = 100u;
const uint _26 = (_24 % 5u);
const int _61 = _13 - (-3) * (_13 / (-3));
const ivec4 _36 = ivec4(20, 30, _15, _61);
const ivec2 _41 = ivec2(_36.y, _36.x);
const int _62 = _36.y;
layout(location = 0) flat out int _4;
layout(location = 0) flat out int _58;
void main()
{
float _42 = float(_20);
float _16 = float(_15);
vec4 _65 = vec4(0.0);
_65.y = _42;
float _47 = float(_25);
_65.z = _47;
vec4 _52 = vec4(_32);
vec4 _54 = _65 + _52;
vec2 _55 = vec2(_34);
vec2 _58 = _54.xy + _55;
gl_Position = vec4(_58.x, _58.y, _54.z, _54.w);
_4 = _35;
_65.y = _16;
float _27 = float(_26);
_65.z = _27;
vec4 _37 = vec4(_36);
vec4 _39 = _65 + _37;
vec2 _43 = vec2(_41);
vec2 _46 = _39.xy + _43;
gl_Position = vec4(_46.x, _46.y, _39.z, _39.w);
_58 = _62;
}

View File

@ -5,9 +5,9 @@ layout(location = 0) out vec4 FragColor;
void main()
{
bool _15 = helperInvocationEXT();
bool _9 = helperInvocationEXT();
demote;
if (!_15)
if (!_9)
{
FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}

View File

@ -18,13 +18,13 @@ struct Foo
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _10 : register(u0);
RWByteAddressBuffer _12 : register(u0);
void comp_main()
{
Foo _64;
_64.a = asfloat(uint2x2(_10.Load(0), _10.Load(8), _10.Load(4), _10.Load(12)));
_64.b = asfloat(_10.Load2(16));
_64.a = asfloat(uint2x2(_12.Load(0), _12.Load(8), _12.Load(4), _12.Load(12)));
_64.b = asfloat(_12.Load2(16));
[unroll]
for (int _0ident = 0; _0ident < 5; _0ident++)
{
@ -34,20 +34,20 @@ void comp_main()
[unroll]
for (int _2ident = 0; _2ident < 4; _2ident++)
{
_64.c[_0ident].d[_1ident][_2ident] = asfloat(_10.Load(_2ident * 4 + _1ident * 16 + _0ident * 40 + 24));
_64.c[_0ident].d[_1ident][_2ident] = asfloat(_12.Load(_2ident * 4 + _1ident * 16 + _0ident * 40 + 24));
}
}
[unroll]
for (int _3ident = 0; _3ident < 2; _3ident++)
{
_64.c[_0ident].baz[_3ident].c = asfloat(_10.Load(_3ident * 4 + _0ident * 40 + 56));
_64.c[_0ident].baz[_3ident].c = asfloat(_12.Load(_3ident * 4 + _0ident * 40 + 56));
}
}
_10.Store(224, asuint(_64.a[0].x));
_10.Store(228, asuint(_64.a[1].x));
_10.Store(232, asuint(_64.a[0].y));
_10.Store(236, asuint(_64.a[1].y));
_10.Store2(240, asuint(_64.b));
_12.Store(224, asuint(_64.a[0].x));
_12.Store(228, asuint(_64.a[1].x));
_12.Store(232, asuint(_64.a[0].y));
_12.Store(236, asuint(_64.a[1].y));
_12.Store2(240, asuint(_64.b));
[unroll]
for (int _4ident = 0; _4ident < 5; _4ident++)
{
@ -57,13 +57,13 @@ void comp_main()
[unroll]
for (int _6ident = 0; _6ident < 4; _6ident++)
{
_10.Store(_6ident * 4 + _5ident * 16 + _4ident * 40 + 248, asuint(_64.c[_4ident].d[_5ident][_6ident]));
_12.Store(_6ident * 4 + _5ident * 16 + _4ident * 40 + 248, asuint(_64.c[_4ident].d[_5ident][_6ident]));
}
}
[unroll]
for (int _7ident = 0; _7ident < 2; _7ident++)
{
_10.Store(_7ident * 4 + _4ident * 40 + 280, asuint(_64.c[_4ident].baz[_7ident].c));
_12.Store(_7ident * 4 + _4ident * 40 + 280, asuint(_64.c[_4ident].baz[_7ident].c));
}
}
}

View File

@ -3,16 +3,16 @@ struct T
float c;
};
static const T _18 = { 40.0f };
static const T _11 = { 40.0f };
RWByteAddressBuffer _7 : register(u0);
RWByteAddressBuffer _10 : register(u1);
RWByteAddressBuffer _9 : register(u0);
RWByteAddressBuffer _13 : register(u1);
void comp_main()
{
T v = _18;
_7.Store(40, asuint(v.c));
_10.Store(480, asuint(v.c));
T v = _11;
_9.Store(40, asuint(v.c));
_13.Store(480, asuint(v.c));
}
[numthreads(1, 1, 1)]

View File

@ -1,14 +1,14 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _5 : register(u0);
RWByteAddressBuffer _7 : register(u0);
void comp_main()
{
uint _20;
_5.InterlockedAdd(4, 0, _20);
uint c = _20;
uint _16;
_7.InterlockedAdd(4, 0, _16);
uint c = _16;
uint _23;
_5.InterlockedExchange(0, c, _23);
_7.InterlockedExchange(0, c, _23);
}
[numthreads(1, 1, 1)]

View File

@ -1,4 +1,4 @@
RWByteAddressBuffer _5 : register(u0);
RWByteAddressBuffer _7 : register(u0);
static uint3 gl_GlobalInvocationID;
struct SPIRV_Cross_Input
@ -8,11 +8,11 @@ struct SPIRV_Cross_Input
void comp_main()
{
uint _24;
_5.InterlockedAdd(0, 1u, _24);
if (_24 < 1024u)
uint _19;
_7.InterlockedAdd(0, 1u, _19);
if (_19 < 1024u)
{
_5.Store(_24 * 4 + 4, gl_GlobalInvocationID.x);
_7.Store(_19 * 4 + 4, gl_GlobalInvocationID.x);
}
}

View File

@ -1,4 +1,4 @@
RWByteAddressBuffer _3 : register(u0);
RWByteAddressBuffer _4 : register(u0);
uint spvBitfieldInsert(uint Base, uint Insert, uint Offset, uint Count)
{
@ -82,20 +82,20 @@ int4 spvBitfieldSExtract(int4 Base, int Offset, int Count)
void comp_main()
{
int4 _19 = int4(_3.Load4(0));
uint4 _20 = _3.Load4(16);
_3.Store4(0, uint4(countbits(_19)));
_3.Store4(16, uint4(countbits(_19)));
_3.Store4(0, uint4(int4(countbits(_20))));
_3.Store4(16, countbits(_20));
_3.Store4(0, uint4(reversebits(_19)));
_3.Store4(16, reversebits(_20));
_3.Store4(0, uint4(spvBitfieldSExtract(_19, 1, 11u)));
_3.Store4(16, spvBitfieldSExtract(_20, 11u, 1));
_3.Store4(0, uint4(spvBitfieldUExtract(_19, 1, 11u)));
_3.Store4(16, spvBitfieldUExtract(_20, 11u, 1));
_3.Store4(0, uint4(int4(spvBitfieldInsert(_19, _19.wzyx, 1, 11u))));
_3.Store4(16, spvBitfieldInsert(_20, _20.wzyx, 11u, 1));
int4 _19 = int4(_4.Load4(0));
uint4 _20 = _4.Load4(16);
_4.Store4(0, uint4(countbits(_19)));
_4.Store4(16, uint4(countbits(_19)));
_4.Store4(0, uint4(int4(countbits(_20))));
_4.Store4(16, countbits(_20));
_4.Store4(0, uint4(reversebits(_19)));
_4.Store4(16, reversebits(_20));
_4.Store4(0, uint4(spvBitfieldSExtract(_19, 1, 11u)));
_4.Store4(16, spvBitfieldSExtract(_20, 11u, 1));
_4.Store4(0, uint4(spvBitfieldUExtract(_19, 1, 11u)));
_4.Store4(16, spvBitfieldUExtract(_20, 11u, 1));
_4.Store4(0, uint4(int4(spvBitfieldInsert(_19, _19.wzyx, 1, 11u))));
_4.Store4(16, spvBitfieldInsert(_20, _20.wzyx, 11u, 1));
}
[numthreads(1, 1, 1)]

View File

@ -1,21 +1,21 @@
RWByteAddressBuffer _4 : register(u0);
RWByteAddressBuffer _6 : register(u0);
void comp_main()
{
uint4 _19 = _4.Load4(0);
int4 _20 = int4(_4.Load4(16));
_4.Store4(0, firstbitlow(_19));
_4.Store4(16, uint4(int4(firstbitlow(_19))));
_4.Store4(0, uint4(firstbitlow(_20)));
_4.Store4(16, uint4(firstbitlow(_20)));
_4.Store4(0, firstbithigh(_19));
_4.Store4(16, uint4(int4(firstbithigh(_19))));
_4.Store4(0, firstbithigh(uint4(_20)));
_4.Store4(16, uint4(int4(firstbithigh(uint4(_20)))));
_4.Store4(0, uint4(firstbithigh(int4(_19))));
_4.Store4(16, uint4(firstbithigh(int4(_19))));
_4.Store4(0, uint4(firstbithigh(_20)));
_4.Store4(16, uint4(firstbithigh(_20)));
uint4 _19 = _6.Load4(0);
int4 _20 = int4(_6.Load4(16));
_6.Store4(0, firstbitlow(_19));
_6.Store4(16, uint4(int4(firstbitlow(_19))));
_6.Store4(0, uint4(firstbitlow(_20)));
_6.Store4(16, uint4(firstbitlow(_20)));
_6.Store4(0, firstbithigh(_19));
_6.Store4(16, uint4(int4(firstbithigh(_19))));
_6.Store4(0, firstbithigh(uint4(_20)));
_6.Store4(16, uint4(int4(firstbithigh(uint4(_20)))));
_6.Store4(0, uint4(firstbithigh(int4(_19))));
_6.Store4(16, uint4(firstbithigh(int4(_19))));
_6.Store4(0, uint4(firstbithigh(_20)));
_6.Store4(16, uint4(firstbithigh(_20)));
}
[numthreads(1, 1, 1)]

View File

@ -8,9 +8,9 @@ struct SPIRV_Cross_Input
void comp_main()
{
uint _24 = gl_GlobalInvocationID.z;
uint _18 = gl_GlobalInvocationID.z;
uint _25;
ssbos[NonUniformResourceIndex(_24)].InterlockedAdd(0, 1u, _25);
ssbos[NonUniformResourceIndex(_18)].InterlockedAdd(0, 1u, _25);
}
[numthreads(1, 1, 1)]

View File

@ -3,7 +3,7 @@ static const uint3 gl_WorkGroupSize = uint3(4u, 4u, 1u);
static const int indexable[4] = { 0, 1, 2, 3 };
static const int indexable_1[4] = { 4, 5, 6, 7 };
RWByteAddressBuffer _6 : register(u0);
RWByteAddressBuffer _8 : register(u0);
static uint3 gl_LocalInvocationID;
static uint3 gl_GlobalInvocationID;
@ -15,7 +15,7 @@ struct SPIRV_Cross_Input
void comp_main()
{
_6.Store(gl_GlobalInvocationID.x * 4 + 0, uint(indexable[gl_LocalInvocationID.x] + indexable_1[gl_LocalInvocationID.y]));
_8.Store(gl_GlobalInvocationID.x * 4 + 0, uint(indexable[gl_LocalInvocationID.x] + indexable_1[gl_LocalInvocationID.y]));
}
[numthreads(4, 4, 1)]

View File

@ -1,41 +1,41 @@
RWByteAddressBuffer _4 : register(u0);
RWByteAddressBuffer _6 : register(u0);
void comp_main()
{
int4 _19 = int4(_4.Load4(0));
uint4 _20 = _4.Load4(16);
_4.Store4(0, uint4(abs(_19)));
_4.Store4(16, uint4(abs(_19)));
_4.Store4(0, uint4(abs(int4(_20))));
_4.Store4(16, uint4(abs(int4(_20))));
_4.Store4(0, uint4(sign(_19)));
_4.Store4(16, uint4(sign(_19)));
_4.Store4(0, uint4(sign(int4(_20))));
_4.Store4(16, uint4(sign(int4(_20))));
_4.Store4(0, uint4(firstbithigh(int4(_20))));
_4.Store4(16, uint4(firstbithigh(int4(_20))));
_4.Store4(0, uint4(int4(firstbithigh(uint4(_19)))));
_4.Store4(16, firstbithigh(uint4(_19)));
_4.Store4(0, uint4(min(_19, _19)));
_4.Store4(16, uint4(min(_19, int4(_20))));
_4.Store4(0, uint4(min(int4(_20), int4(_20))));
_4.Store4(16, uint4(min(int4(_20), _19)));
_4.Store4(0, uint4(int4(min(uint4(_19), _20))));
_4.Store4(16, min(uint4(_19), _20));
_4.Store4(0, uint4(int4(min(_20, uint4(_19)))));
_4.Store4(16, min(_20, uint4(_19)));
_4.Store4(0, uint4(max(_19, _19)));
_4.Store4(16, uint4(max(_19, _19)));
_4.Store4(0, uint4(max(int4(_20), _19)));
_4.Store4(16, uint4(max(int4(_20), _19)));
_4.Store4(0, uint4(int4(max(uint4(_19), _20))));
_4.Store4(16, max(uint4(_19), uint4(_19)));
_4.Store4(0, uint4(int4(max(_20, uint4(_19)))));
_4.Store4(16, max(_20, uint4(_19)));
_4.Store4(0, uint4(clamp(int4(_20), int4(_20), int4(_20))));
_4.Store4(16, uint4(clamp(int4(_20), int4(_20), int4(_20))));
_4.Store4(0, uint4(int4(clamp(uint4(_19), uint4(_19), uint4(_19)))));
_4.Store4(16, clamp(uint4(_19), uint4(_19), uint4(_19)));
int4 _19 = int4(_6.Load4(0));
uint4 _20 = _6.Load4(16);
_6.Store4(0, uint4(abs(_19)));
_6.Store4(16, uint4(abs(_19)));
_6.Store4(0, uint4(abs(int4(_20))));
_6.Store4(16, uint4(abs(int4(_20))));
_6.Store4(0, uint4(sign(_19)));
_6.Store4(16, uint4(sign(_19)));
_6.Store4(0, uint4(sign(int4(_20))));
_6.Store4(16, uint4(sign(int4(_20))));
_6.Store4(0, uint4(firstbithigh(int4(_20))));
_6.Store4(16, uint4(firstbithigh(int4(_20))));
_6.Store4(0, uint4(int4(firstbithigh(uint4(_19)))));
_6.Store4(16, firstbithigh(uint4(_19)));
_6.Store4(0, uint4(min(_19, _19)));
_6.Store4(16, uint4(min(_19, int4(_20))));
_6.Store4(0, uint4(min(int4(_20), int4(_20))));
_6.Store4(16, uint4(min(int4(_20), _19)));
_6.Store4(0, uint4(int4(min(uint4(_19), _20))));
_6.Store4(16, min(uint4(_19), _20));
_6.Store4(0, uint4(int4(min(_20, uint4(_19)))));
_6.Store4(16, min(_20, uint4(_19)));
_6.Store4(0, uint4(max(_19, _19)));
_6.Store4(16, uint4(max(_19, _19)));
_6.Store4(0, uint4(max(int4(_20), _19)));
_6.Store4(16, uint4(max(int4(_20), _19)));
_6.Store4(0, uint4(int4(max(uint4(_19), _20))));
_6.Store4(16, max(uint4(_19), uint4(_19)));
_6.Store4(0, uint4(int4(max(_20, uint4(_19)))));
_6.Store4(16, max(_20, uint4(_19)));
_6.Store4(0, uint4(clamp(int4(_20), int4(_20), int4(_20))));
_6.Store4(16, uint4(clamp(int4(_20), int4(_20), int4(_20))));
_6.Store4(0, uint4(int4(clamp(uint4(_19), uint4(_19), uint4(_19)))));
_6.Store4(16, clamp(uint4(_19), uint4(_19), uint4(_19)));
}
[numthreads(1, 1, 1)]

View File

@ -1,27 +1,27 @@
struct _8
struct _9
{
float _m0;
float _m1;
};
struct _15
struct _16
{
float _m0;
int _m1;
};
RWByteAddressBuffer _4 : register(u0);
RWByteAddressBuffer _6 : register(u0);
void comp_main()
{
_8 _23;
_9 _23;
_23._m0 = modf(20.0f, _23._m1);
_15 _24;
_16 _24;
_24._m0 = frexp(40.0f, _24._m1);
_4.Store(0, asuint(_23._m0));
_4.Store(0, asuint(_23._m1));
_4.Store(0, asuint(_24._m0));
_4.Store(4, uint(_24._m1));
_6.Store(0, asuint(_23._m0));
_6.Store(0, asuint(_23._m1));
_6.Store(0, asuint(_24._m0));
_6.Store(4, uint(_24._m1));
}
[numthreads(1, 1, 1)]

View File

@ -8,9 +8,9 @@ struct SPIRV_Cross_Input
void comp_main()
{
uint _26 = gl_GlobalInvocationID.z;
uint _18 = gl_GlobalInvocationID.z;
uint _31;
InterlockedAdd(uImage[NonUniformResourceIndex(_26)][int2(gl_GlobalInvocationID.xy)], 1u, _31);
InterlockedAdd(uImage[NonUniformResourceIndex(_18)][int2(gl_GlobalInvocationID.xy)], 1u, _31);
}
[numthreads(1, 1, 1)]

View File

@ -1,22 +1,22 @@
#ifndef SPIRV_CROSS_CONSTANT_ID_1
#define SPIRV_CROSS_CONSTANT_ID_1 11u
#endif
static const uint _10 = SPIRV_CROSS_CONSTANT_ID_1;
static const uint _12 = SPIRV_CROSS_CONSTANT_ID_1;
#ifndef SPIRV_CROSS_CONSTANT_ID_2
#define SPIRV_CROSS_CONSTANT_ID_2 12u
#endif
static const uint _11 = SPIRV_CROSS_CONSTANT_ID_2;
static const uint _13 = SPIRV_CROSS_CONSTANT_ID_2;
#ifndef SPIRV_CROSS_CONSTANT_ID_3
#define SPIRV_CROSS_CONSTANT_ID_3 13u
#endif
static const uint _4 = SPIRV_CROSS_CONSTANT_ID_3;
static const uint _6 = SPIRV_CROSS_CONSTANT_ID_3;
#ifndef SPIRV_CROSS_CONSTANT_ID_4
#define SPIRV_CROSS_CONSTANT_ID_4 14u
#endif
static const uint _5 = SPIRV_CROSS_CONSTANT_ID_4;
static const uint3 gl_WorkGroupSize = uint3(3u, _10, _11);
static const uint _7 = SPIRV_CROSS_CONSTANT_ID_4;
static const uint3 gl_WorkGroupSize = uint3(3u, _12, _13);
RWByteAddressBuffer _8 : register(u0);
RWByteAddressBuffer _10 : register(u0);
static uint3 gl_GlobalInvocationID;
struct SPIRV_Cross_Input
@ -26,7 +26,7 @@ struct SPIRV_Cross_Input
void comp_main()
{
_8.Store4(gl_GlobalInvocationID.x * 16 + 0, asuint(asfloat(_8.Load4(gl_GlobalInvocationID.x * 16 + 0)) + 2.0f.xxxx));
_10.Store4(gl_GlobalInvocationID.x * 16 + 0, asuint(asfloat(_10.Load4(gl_GlobalInvocationID.x * 16 + 0)) + 2.0f.xxxx));
}
[numthreads(3, SPIRV_CROSS_CONSTANT_ID_1, SPIRV_CROSS_CONSTANT_ID_2)]

View File

@ -1,23 +1,23 @@
#ifndef SPIRV_CROSS_CONSTANT_ID_1
#define SPIRV_CROSS_CONSTANT_ID_1 11
#endif
static const int _10 = SPIRV_CROSS_CONSTANT_ID_1;
static const int _12 = SPIRV_CROSS_CONSTANT_ID_1;
#ifndef SPIRV_CROSS_CONSTANT_ID_2
#define SPIRV_CROSS_CONSTANT_ID_2 12
#endif
static const int _11 = SPIRV_CROSS_CONSTANT_ID_2;
static const int _13 = SPIRV_CROSS_CONSTANT_ID_2;
#ifndef SPIRV_CROSS_CONSTANT_ID_3
#define SPIRV_CROSS_CONSTANT_ID_3 13
#endif
static const int _4 = SPIRV_CROSS_CONSTANT_ID_3;
static const int _6 = SPIRV_CROSS_CONSTANT_ID_3;
#ifndef SPIRV_CROSS_CONSTANT_ID_4
#define SPIRV_CROSS_CONSTANT_ID_4 14
#endif
static const int _5 = SPIRV_CROSS_CONSTANT_ID_4;
static const uint _29 = (uint(_4) + 3u);
static const uint3 _30 = uint3(_29, _5, 2u);
static const int _7 = SPIRV_CROSS_CONSTANT_ID_4;
static const uint _37 = (uint(_6) + 3u);
static const uint3 _38 = uint3(_37, _7, 2u);
RWByteAddressBuffer _8 : register(u0);
RWByteAddressBuffer _10 : register(u0);
static uint3 gl_GlobalInvocationID;
struct SPIRV_Cross_Input
@ -27,7 +27,7 @@ struct SPIRV_Cross_Input
void comp_main()
{
_8.Store4(gl_GlobalInvocationID.x * 16 + 0, asuint(((((asfloat(_8.Load4(gl_GlobalInvocationID.x * 16 + 0)) + 2.0f.xxxx) + float3(_30).xyzz) * float(_4)) * float(_5)) * float(int(2u))));
_10.Store4(gl_GlobalInvocationID.x * 16 + 0, asuint(((((asfloat(_10.Load4(gl_GlobalInvocationID.x * 16 + 0)) + 2.0f.xxxx) + float3(_38).xyzz) * float(_6)) * float(_7)) * float(int(2u))));
}
[numthreads(SPIRV_CROSS_CONSTANT_ID_3, SPIRV_CROSS_CONSTANT_ID_4, 2)]

View File

@ -1,9 +1,9 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _3 : register(u1);
RWByteAddressBuffer _4 : register(u1);
cbuffer UBO : register(b0)
{
uint3 _5_w : packoffset(c0);
uint3 _7_w : packoffset(c0);
};
cbuffer SPIRV_Cross_NumWorkgroups
@ -14,7 +14,7 @@ cbuffer SPIRV_Cross_NumWorkgroups
void comp_main()
{
_3.Store3(0, SPIRV_Cross_NumWorkgroups_1_count + _5_w);
_4.Store3(0, SPIRV_Cross_NumWorkgroups_1_count + _7_w);
}
[numthreads(1, 1, 1)]

View File

@ -30,7 +30,7 @@ static const int A_10 = (A_9 - A_5);
static const int A_11 = (A_10 + A_5);
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _5 : register(u0);
RWByteAddressBuffer _7 : register(u0);
static uint3 gl_GlobalInvocationID;
struct SPIRV_Cross_Input
@ -40,7 +40,7 @@ struct SPIRV_Cross_Input
void comp_main()
{
_5.Store(gl_GlobalInvocationID.x * 4 + 0, uint(A_11));
_7.Store(gl_GlobalInvocationID.x * 4 + 0, uint(A_11));
}
[numthreads(1, 1, 1)]

View File

@ -1,18 +1,18 @@
#ifndef SPIRV_CROSS_CONSTANT_ID_10
#define SPIRV_CROSS_CONSTANT_ID_10 9u
#endif
static const uint _5 = SPIRV_CROSS_CONSTANT_ID_10;
static const uint _19 = SPIRV_CROSS_CONSTANT_ID_10;
#ifndef SPIRV_CROSS_CONSTANT_ID_12
#define SPIRV_CROSS_CONSTANT_ID_12 4u
#endif
static const uint _6 = SPIRV_CROSS_CONSTANT_ID_12;
static const uint3 gl_WorkGroupSize = uint3(_5, 20u, _6);
static const uint _21 = SPIRV_CROSS_CONSTANT_ID_12;
static const uint3 gl_WorkGroupSize = uint3(_19, 20u, _21);
RWByteAddressBuffer _4 : register(u0);
RWByteAddressBuffer _6 : register(u0);
void comp_main()
{
_4.Store(0, asuint(asfloat(_4.Load(0)) + 1.0f));
_6.Store(0, asuint(asfloat(_6.Load(0)) + 1.0f));
}
[numthreads(SPIRV_CROSS_CONSTANT_ID_10, 20, SPIRV_CROSS_CONSTANT_ID_12)]

View File

@ -1,15 +1,15 @@
#ifndef SPIRV_CROSS_CONSTANT_ID_0
#define SPIRV_CROSS_CONSTANT_ID_0 1u
#endif
static const uint _3 = SPIRV_CROSS_CONSTANT_ID_0;
static const uint _15 = SPIRV_CROSS_CONSTANT_ID_0;
#ifndef SPIRV_CROSS_CONSTANT_ID_2
#define SPIRV_CROSS_CONSTANT_ID_2 3u
#endif
static const uint _4 = SPIRV_CROSS_CONSTANT_ID_2;
static const uint3 gl_WorkGroupSize = uint3(_3, 2u, _4);
static const uint _17 = SPIRV_CROSS_CONSTANT_ID_2;
static const uint3 gl_WorkGroupSize = uint3(_15, 2u, _17);
RWByteAddressBuffer _8 : register(u0);
RWByteAddressBuffer _9 : register(u1);
RWByteAddressBuffer _20 : register(u0);
RWByteAddressBuffer _21 : register(u1);
static uint3 gl_WorkGroupID;
struct SPIRV_Cross_Input
@ -17,11 +17,11 @@ struct SPIRV_Cross_Input
uint3 gl_WorkGroupID : SV_GroupID;
};
static uint3 _22 = gl_WorkGroupSize;
static uint3 _19 = gl_WorkGroupSize;
void comp_main()
{
_8.Store(gl_WorkGroupID.x * 4 + 0, asuint(asfloat(_9.Load(gl_WorkGroupID.x * 4 + 0)) + asfloat(_8.Load(gl_WorkGroupID.x * 4 + 0))));
_20.Store(gl_WorkGroupID.x * 4 + 0, asuint(asfloat(_21.Load(gl_WorkGroupID.x * 4 + 0)) + asfloat(_20.Load(gl_WorkGroupID.x * 4 + 0))));
}
[numthreads(SPIRV_CROSS_CONSTANT_ID_0, 2, SPIRV_CROSS_CONSTANT_ID_2)]

View File

@ -63,13 +63,13 @@ struct anon_e
cbuffer UBO : register(b0)
{
anon_c _16_c : packoffset(c0);
anon_d _16_d : packoffset(c1);
anon_c _18_c : packoffset(c0);
anon_d _18_d : packoffset(c1);
};
RWByteAddressBuffer _19 : register(u1);
RWByteAddressBuffer _21 : register(u1);
static VertexData _3;
static VertexData _4;
struct SPIRV_Cross_Input
{
@ -83,7 +83,7 @@ void frag_main()
void main(SPIRV_Cross_Input stage_input)
{
_3._a = stage_input.VertexData__a;
_3.b = stage_input.VertexData_b;
_4._a = stage_input.VertexData__a;
_4.b = stage_input.VertexData_b;
frag_main();
}

View File

@ -1,6 +1,6 @@
static float4 _32;
static float4 _33;
static const float4 _34[2] = { 0.0f.xxxx, 0.0f.xxxx };
static const float4 _35[2] = { 0.0f.xxxx, 0.0f.xxxx };
static float4 vInput;
static float4 FragColor;
@ -24,12 +24,12 @@ void frag_main()
_38.z = 3.0f;
_38.w = 4.0f;
FragColor = _38;
float4 _6 = _37;
_6.x = 1.0f;
_6.y = 2.0f;
_6.z = 3.0f;
_6.w = 4.0f;
FragColor = _6;
float4 _8 = _37;
_8.x = 1.0f;
_8.y = 2.0f;
_8.z = 3.0f;
_8.w = 4.0f;
FragColor = _8;
float4 _42 = _37;
_42.x = 1.0f;
_42.y = 2.0f;
@ -55,7 +55,7 @@ void frag_main()
float4 _53 = 0.0f.xxxx;
_53.x = 1.0f;
FragColor = _53;
float4 _54[2] = _34;
float4 _54[2] = _35;
_54[1].z = 1.0f;
_54[0].w = 2.0f;
FragColor = _54[0];

View File

@ -8,8 +8,8 @@ struct EmptyStruct2Test
EmptyStructTest _m0;
};
static const EmptyStructTest _30 = { 0 };
static const EmptyStruct2Test _20 = { { 0 } };
static const EmptyStructTest _38 = { 0 };
static const EmptyStruct2Test _26 = { { 0 } };
float GetValue(EmptyStruct2Test self)
{
@ -23,12 +23,12 @@ float GetValue_1(EmptyStruct2Test self)
void frag_main()
{
EmptyStructTest _25 = { 0 };
EmptyStruct2Test _26 = { _25 };
EmptyStructTest _27 = { 0 };
EmptyStruct2Test _28 = { _27 };
EmptyStruct2Test emptyStruct;
float value = GetValue(emptyStruct);
value = GetValue_1(_28);
value = GetValue_1(_26);
value = GetValue_1(_20);
}
void main()

View File

@ -1,4 +1,4 @@
ByteAddressBuffer _8 : register(t0, space2);
ByteAddressBuffer _12 : register(t0, space2);
Texture2D<float4> uSamplers[] : register(t0, space0);
SamplerState _uSamplers_sampler[] : register(s0, space0);
Texture2D<float4> uSampler : register(t1, space1);
@ -21,8 +21,8 @@ struct SPIRV_Cross_Output
void frag_main()
{
FragColor = uSamplers[NonUniformResourceIndex(_8.Load(40))].SampleLevel(_uSamplers_sampler[NonUniformResourceIndex(_8.Load(40))], vUV, 0.0f);
FragColor += uSampler.SampleLevel(_uSampler_sampler, vUV, float(_8.Load(int(gl_FragCoord.y) * 4 + 0)));
FragColor = uSamplers[NonUniformResourceIndex(_12.Load(40))].SampleLevel(_uSamplers_sampler[NonUniformResourceIndex(_12.Load(40))], vUV, 0.0f);
FragColor += uSampler.SampleLevel(_uSampler_sampler, vUV, float(_12.Load(int(gl_FragCoord.y) * 4 + 0)));
}
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)

View File

@ -28,17 +28,17 @@ struct SPIRV_Cross_Output
void frag_main()
{
int i = vIndex;
int _59 = i + 10;
int _64 = i + 40;
FragColor = uSamplers[NonUniformResourceIndex(_59)].Sample(uSamps[NonUniformResourceIndex(_64)], vUV);
int _71 = i + 10;
FragColor = uCombinedSamplers[NonUniformResourceIndex(_71)].Sample(_uCombinedSamplers_sampler[NonUniformResourceIndex(_71)], vUV);
int _77 = i + 20;
int _80 = i + 40;
FragColor += ubos[NonUniformResourceIndex(_77)].v[_80];
int _87 = i + 50;
int _90 = i + 60;
FragColor += asfloat(ssbos[NonUniformResourceIndex(_87)].Load4(_90 * 16 + 0));
int _23 = i + 10;
int _34 = i + 40;
FragColor = uSamplers[NonUniformResourceIndex(_23)].Sample(uSamps[NonUniformResourceIndex(_34)], vUV);
int _50 = i + 10;
FragColor = uCombinedSamplers[NonUniformResourceIndex(_50)].Sample(_uCombinedSamplers_sampler[NonUniformResourceIndex(_50)], vUV);
int _66 = i + 20;
int _70 = i + 40;
FragColor += ubos[NonUniformResourceIndex(_66)].v[_70];
int _84 = i + 50;
int _88 = i + 60;
FragColor += asfloat(ssbos[NonUniformResourceIndex(_84)].Load4(_88 * 16 + 0));
}
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)

View File

@ -16,17 +16,17 @@ struct SPIRV_Cross_Output
void frag_main()
{
int i = vIndex;
int _42 = i + 60;
int _45 = i + 70;
ssbos[NonUniformResourceIndex(_42)].Store4(_45 * 16 + 16, asuint(20.0f.xxxx));
int _48 = i + 100;
uint _49;
ssbos[NonUniformResourceIndex(_48)].InterlockedAdd(0, 100u, _49);
int _51 = i;
uint _52;
ssbos[NonUniformResourceIndex(_51)].GetDimensions(_52);
_52 = (_52 - 16) / 16;
FragColor.z += float(int(_52));
int _23 = i + 60;
int _28 = i + 70;
ssbos[NonUniformResourceIndex(_23)].Store4(_28 * 16 + 16, asuint(20.0f.xxxx));
int _36 = i + 100;
uint _43;
ssbos[NonUniformResourceIndex(_36)].InterlockedAdd(0, 100u, _43);
int _47 = i;
uint _50;
ssbos[NonUniformResourceIndex(_47)].GetDimensions(_50);
_50 = (_50 - 16) / 16;
FragColor.z += float(int(_50));
}
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)

View File

@ -24,14 +24,14 @@ struct SPIRV_Cross_Output
void frag_main()
{
int _39 = 0;
int _27 = 0;
if (vColor.x > 10.0f)
{
_39 = 10;
_27 = 10;
}
else
{
_39 = 20;
_27 = 20;
}
FragColor = vColor;
}

View File

@ -1,5 +1,5 @@
RasterizerOrderedByteAddressBuffer _7 : register(u1, space0);
RWByteAddressBuffer _9 : register(u0, space0);
RasterizerOrderedByteAddressBuffer _11 : register(u1, space0);
RWByteAddressBuffer _13 : register(u0, space0);
static float4 gl_FragCoord;
struct SPIRV_Cross_Input
@ -9,14 +9,14 @@ struct SPIRV_Cross_Input
void callee2()
{
int _31 = int(gl_FragCoord.x);
_7.Store(_31 * 4 + 0, _7.Load(_31 * 4 + 0) + 1u);
int _25 = int(gl_FragCoord.x);
_11.Store(_25 * 4 + 0, _11.Load(_25 * 4 + 0) + 1u);
}
void callee()
{
int _39 = int(gl_FragCoord.x);
_9.Store(_39 * 4 + 0, _9.Load(_39 * 4 + 0) + 1u);
int _38 = int(gl_FragCoord.x);
_13.Store(_38 * 4 + 0, _13.Load(_38 * 4 + 0) + 1u);
callee2();
}

View File

@ -1,6 +1,6 @@
RasterizerOrderedByteAddressBuffer _7 : register(u1, space0);
RWByteAddressBuffer _13 : register(u2, space0);
RasterizerOrderedByteAddressBuffer _9 : register(u0, space0);
RasterizerOrderedByteAddressBuffer _11 : register(u1, space0);
RWByteAddressBuffer _17 : register(u2, space0);
RasterizerOrderedByteAddressBuffer _13 : register(u0, space0);
static float4 gl_FragCoord;
struct SPIRV_Cross_Input
@ -10,29 +10,29 @@ struct SPIRV_Cross_Input
void callee2()
{
int _44 = int(gl_FragCoord.x);
_7.Store(_44 * 4 + 0, _7.Load(_44 * 4 + 0) + 1u);
int _25 = int(gl_FragCoord.x);
_11.Store(_25 * 4 + 0, _11.Load(_25 * 4 + 0) + 1u);
}
void callee()
{
int _52 = int(gl_FragCoord.x);
_9.Store(_52 * 4 + 0, _9.Load(_52 * 4 + 0) + 1u);
int _38 = int(gl_FragCoord.x);
_13.Store(_38 * 4 + 0, _13.Load(_38 * 4 + 0) + 1u);
callee2();
if (true)
{
}
}
void _35()
void _52()
{
_13.Store(int(gl_FragCoord.x) * 4 + 0, 4u);
_17.Store(int(gl_FragCoord.x) * 4 + 0, 4u);
}
void frag_main()
{
callee();
_35();
_52();
}
void main(SPIRV_Cross_Input stage_input)

View File

@ -1,5 +1,5 @@
RasterizerOrderedByteAddressBuffer _7 : register(u1, space0);
RasterizerOrderedByteAddressBuffer _9 : register(u0, space0);
RasterizerOrderedByteAddressBuffer _11 : register(u1, space0);
RasterizerOrderedByteAddressBuffer _13 : register(u0, space0);
static float4 gl_FragCoord;
struct SPIRV_Cross_Input
@ -9,30 +9,30 @@ struct SPIRV_Cross_Input
void callee2()
{
int _37 = int(gl_FragCoord.x);
_7.Store(_37 * 4 + 0, _7.Load(_37 * 4 + 0) + 1u);
int _25 = int(gl_FragCoord.x);
_11.Store(_25 * 4 + 0, _11.Load(_25 * 4 + 0) + 1u);
}
void callee()
{
int _45 = int(gl_FragCoord.x);
_9.Store(_45 * 4 + 0, _9.Load(_45 * 4 + 0) + 1u);
int _38 = int(gl_FragCoord.x);
_13.Store(_38 * 4 + 0, _13.Load(_38 * 4 + 0) + 1u);
callee2();
}
void _29()
void _46()
{
}
void _31()
void _48()
{
}
void frag_main()
{
callee();
_29();
_31();
_46();
_48();
}
void main(SPIRV_Cross_Input stage_input)

View File

@ -1,12 +1,12 @@
struct _15
struct _16
{
float _m0;
};
static const _15 _25 = { 0.0f };
static const _15 _26 = { 1.0f };
static const float _29[2] = { 0.0f, 1.0f };
static const float _30[2] = { 1.0f, 0.0f };
static const _16 _30 = { 0.0f };
static const _16 _31 = { 1.0f };
static const float _34[2] = { 0.0f, 1.0f };
static const float _35[2] = { 1.0f, 0.0f };
static float4 FragColor;
@ -15,7 +15,7 @@ struct SPIRV_Cross_Output
float4 FragColor : SV_Target0;
};
void spvSelectComposite(out _15 out_value, bool cond, _15 true_val, _15 false_val)
void spvSelectComposite(out _16 out_value, bool cond, _16 true_val, _16 false_val)
{
if (cond)
{
@ -45,12 +45,12 @@ void frag_main()
FragColor = false ? 1.0f.xxxx : 0.0f.xxxx;
FragColor = float4(bool4(false, true, false, true).x ? float4(1.0f, 1.0f, 0.0f, 1.0f).x : float4(0.0f, 0.0f, 0.0f, 1.0f).x, bool4(false, true, false, true).y ? float4(1.0f, 1.0f, 0.0f, 1.0f).y : float4(0.0f, 0.0f, 0.0f, 1.0f).y, bool4(false, true, false, true).z ? float4(1.0f, 1.0f, 0.0f, 1.0f).z : float4(0.0f, 0.0f, 0.0f, 1.0f).z, bool4(false, true, false, true).w ? float4(1.0f, 1.0f, 0.0f, 1.0f).w : float4(0.0f, 0.0f, 0.0f, 1.0f).w);
FragColor = float4(bool4(false, true, false, true));
_15 _38;
spvSelectComposite(_38, false, _25, _26);
_15 _32 = _38;
_16 _38;
spvSelectComposite(_38, false, _30, _31);
_16 _36 = _38;
float _39[2];
spvSelectComposite(_39, true, _29, _30);
float _33[2] = _39;
spvSelectComposite(_39, true, _34, _35);
float _37[2] = _39;
}
SPIRV_Cross_Output main()

View File

@ -12,12 +12,12 @@ struct Bar
cbuffer FooUBO : register(b0)
{
Foo _6_foo : packoffset(c0);
Foo _8_foo : packoffset(c0);
};
cbuffer BarUBO : register(b1)
{
Bar _9_bar : packoffset(c0);
Bar _11_bar : packoffset(c0);
};
@ -30,7 +30,7 @@ struct SPIRV_Cross_Output
void frag_main()
{
FragColor = (_6_foo.v + _9_bar.v).xxxx;
FragColor = (_8_foo.v + _11_bar.v).xxxx;
}
SPIRV_Cross_Output main()

View File

@ -15,31 +15,31 @@ void frag_main()
{
int i = 0;
int j;
int _30;
int _31;
int _33;
int _34;
switch (vIndex)
{
case 0:
{
_30 = 3;
j = _30;
_31 = 0;
j = _31;
_33 = 3;
j = _33;
_34 = 0;
j = _34;
break;
}
default:
{
_30 = 2;
j = _30;
_31 = 0;
j = _31;
_33 = 2;
j = _33;
_34 = 0;
j = _34;
break;
}
case 1:
case 11:
{
_31 = 1;
j = _31;
_34 = 1;
j = _34;
break;
}
case 2:

View File

@ -23,41 +23,41 @@ struct gl_MeshPerPrimitiveEXT
bool gl_CullPrimitiveEXT : SV_CullPrimitive;
};
groupshared float _9[64];
groupshared float _32[64];
void mesh_main(inout gl_MeshPerVertexEXT gl_MeshVerticesEXT[24], _12 _11, inout uint3 gl_PrimitiveTriangleIndicesEXT[8], inout gl_MeshPerPrimitiveEXT gl_MeshPrimitivesEXT[8])
void mesh_main(inout gl_MeshPerVertexEXT gl_MeshVerticesEXT[24], _12 _38, inout uint3 gl_PrimitiveTriangleIndicesEXT[8], inout gl_MeshPerPrimitiveEXT gl_MeshPrimitivesEXT[8])
{
_9[gl_LocalInvocationIndex] = float(gl_LocalInvocationIndex);
_32[gl_LocalInvocationIndex] = float(gl_LocalInvocationIndex);
GroupMemoryBarrierWithGroupSync();
SetMeshOutputCounts(24u, 8u);
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.x = _9[gl_LocalInvocationIndex];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.y = _9[gl_LocalInvocationIndex];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.z = _9[gl_LocalInvocationIndex];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.w = _9[gl_LocalInvocationIndex];
float _63 = _11._m0 + _9[gl_LocalInvocationIndex ^ 1u];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.x = _63;
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.y = _63;
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.z = _63;
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.w = _63;
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.x = _32[gl_LocalInvocationIndex];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.y = _32[gl_LocalInvocationIndex];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.z = _32[gl_LocalInvocationIndex];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].gl_Position.w = _32[gl_LocalInvocationIndex];
float _59 = _38._m0 + _32[gl_LocalInvocationIndex ^ 1u];
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.x = _59;
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.y = _59;
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.z = _59;
gl_MeshVerticesEXT[gl_LocalInvocationIndex].B.w = _59;
if (gl_LocalInvocationIndex < 8u)
{
uint _71 = gl_LocalInvocationIndex * 3u;
gl_PrimitiveTriangleIndicesEXT[gl_LocalInvocationIndex] = uint3(_71, _71 + 1u, _71 + 2u);
uint _65 = gl_LocalInvocationIndex * 3u;
gl_PrimitiveTriangleIndicesEXT[gl_LocalInvocationIndex] = uint3(_65, _65 + 1u, _65 + 2u);
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].gl_CullPrimitiveEXT = (gl_LocalInvocationIndex & 1u) != 0u;
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].gl_PrimitiveID = int(gl_LocalInvocationIndex);
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].gl_Layer = int(gl_LocalInvocationIndex);
uint _81 = gl_LocalInvocationIndex ^ 2u;
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.x = _9[_81];
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.y = _9[_81];
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.z = _9[_81];
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.w = _9[_81];
uint _78 = gl_LocalInvocationIndex ^ 2u;
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.x = _32[_78];
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.y = _32[_78];
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.z = _32[_78];
gl_MeshPrimitivesEXT[gl_LocalInvocationIndex].C.w = _32[_78];
}
}
[outputtopology("triangle")]
[numthreads(2, 3, 4)]
void main(SPIRV_Cross_Input stage_input, out vertices gl_MeshPerVertexEXT gl_MeshVerticesEXT[24], in payload _12 _11, out indices uint3 gl_PrimitiveTriangleIndicesEXT[8], out primitives gl_MeshPerPrimitiveEXT gl_MeshPrimitivesEXT[8])
void main(SPIRV_Cross_Input stage_input, out vertices gl_MeshPerVertexEXT gl_MeshVerticesEXT[24], in payload _12 _38, out indices uint3 gl_PrimitiveTriangleIndicesEXT[8], out primitives gl_MeshPerPrimitiveEXT gl_MeshPrimitivesEXT[8])
{
gl_LocalInvocationIndex = stage_input.gl_LocalInvocationIndex;
mesh_main(gl_MeshVerticesEXT, _11, gl_PrimitiveTriangleIndicesEXT, gl_MeshPrimitivesEXT);
mesh_main(gl_MeshVerticesEXT, _38, gl_PrimitiveTriangleIndicesEXT, gl_MeshPrimitivesEXT);
}

View File

@ -16,19 +16,19 @@ struct SPIRV_Cross_Output
void frag_main()
{
FragColor = 0.0f.xxxx;
int _10 = 0;
int _15 = 0;
for (int _16 = 0, _17 = 0; _16 < vA; _17 = _15, _16 += _10)
int _49 = 0;
int _58 = 0;
for (int _57 = 0, _60 = 0; _57 < vA; _60 = _58, _57 += _49)
{
if ((vA + _16) == 20)
if ((vA + _57) == 20)
{
_15 = 50;
_58 = 50;
}
else
{
_15 = ((vB + _16) == 40) ? 60 : _17;
_58 = ((vB + _57) == 40) ? 60 : _60;
}
_10 = _15 + 10;
_49 = _58 + 10;
FragColor += 1.0f.xxxx;
}
}

View File

@ -10,11 +10,11 @@ struct Foo
float d;
};
static const Vert _11 = { 0.0f, 0.0f };
static const Foo _13 = { 0.0f, 0.0f };
static const Vert _12 = { 0.0f, 0.0f };
static const Foo _14 = { 0.0f, 0.0f };
static Vert _3 = { 0.0f, 0.0f };
static Foo foo = _13;
static Vert _4 = { 0.0f, 0.0f };
static Foo foo = _14;
struct SPIRV_Cross_Output
{
@ -31,8 +31,8 @@ SPIRV_Cross_Output main()
{
vert_main();
SPIRV_Cross_Output stage_output;
stage_output.Vert_a = _3.a;
stage_output.Vert_b = _3.b;
stage_output.Vert_a = _4.a;
stage_output.Vert_b = _4.b;
stage_output.foo = foo;
return stage_output;
}

View File

@ -5,8 +5,8 @@ struct Test
void vert_main()
{
Test _14 = { 0 };
Test t = _14;
Test _13 = { 0 };
Test t = _13;
}
void main()

View File

@ -3,16 +3,16 @@ struct Foo
float _abs;
};
RWByteAddressBuffer _7 : register(u0);
RWByteAddressBuffer _9 : register(u0);
void comp_main()
{
Foo _24;
_24._abs = asfloat(_7.Load(0));
Foo _18;
_18._abs = asfloat(_9.Load(0));
Foo f;
f._abs = _24._abs;
f._abs = _18._abs;
int _abs = 10;
_7.Store(4, asuint(f._abs));
_9.Store(4, asuint(f._abs));
}
[numthreads(1, 1, 1)]

Some files were not shown because too many files have changed in this diff Show More