Update for pull request #1162 rev. 1

This commit is contained in:
Lukas Hermanns 2019-09-24 18:13:04 -04:00
parent 7ad0a84778
commit c3d6022956
191 changed files with 867 additions and 1099 deletions

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer wo : register(u1);
ByteAddressBuffer ro : register(t0);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer WriteOnly : register(u2);
ByteAddressBuffer ReadOnly : register(t0);
RWByteAddressBuffer ReadWrite : register(u1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer ssbo : register(u2);
RWTexture2D<uint> uImage : register(u0);
RWTexture2D<int> iImage : register(u1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
globallycoherent RWByteAddressBuffer _29 : register(u3);
ByteAddressBuffer _33 : register(t2);
RWTexture2D<float> uImageIn : register(u0);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWTexture2D<float> uImageInF : register(u0);
RWTexture2D<float> uImageOutF : register(u1);
RWTexture2D<int> uImageInI : register(u2);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _15 : register(u0);
ByteAddressBuffer _20 : register(t1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _10 : register(u0);
cbuffer SPIRV_Cross_NumWorkgroups : register(b0)
{

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _10 : register(u0);
cbuffer SPIRV_Cross_NumWorkgroups : register(b0)
{

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _21 : register(u0);
ByteAddressBuffer _26 : register(t1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _11 : register(u0);
void comp_main()

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _28 : register(u0);
cbuffer UBO : register(b1)
{
@ -8,57 +10,57 @@ cbuffer UBO : register(b1)
void comp_main()
{
float4x4 _253 = asfloat(uint4x4(_28.Load(64), _28.Load(80), _28.Load(96), _28.Load(112), _28.Load(68), _28.Load(84), _28.Load(100), _28.Load(116), _28.Load(72), _28.Load(88), _28.Load(104), _28.Load(120), _28.Load(76), _28.Load(92), _28.Load(108), _28.Load(124)));
_28.Store4(0, asuint(_253[0]));
_28.Store4(16, asuint(_253[1]));
_28.Store4(32, asuint(_253[2]));
_28.Store4(48, asuint(_253[3]));
float2x2 _256 = asfloat(uint2x2(_28.Load(144), _28.Load(152), _28.Load(148), _28.Load(156)));
_28.Store2(128, asuint(_256[0]));
_28.Store2(136, asuint(_256[1]));
float2x3 _259 = asfloat(uint2x3(_28.Load(192), _28.Load(200), _28.Load(208), _28.Load(196), _28.Load(204), _28.Load(212)));
_28.Store3(160, asuint(_259[0]));
_28.Store3(176, asuint(_259[1]));
float3x2 _262 = asfloat(uint3x2(_28.Load(240), _28.Load(256), _28.Load(244), _28.Load(260), _28.Load(248), _28.Load(264)));
_28.Store2(216, asuint(_262[0]));
_28.Store2(224, asuint(_262[1]));
_28.Store2(232, asuint(_262[2]));
float4x4 _265 = asfloat(uint4x4(_28.Load4(0), _28.Load4(16), _28.Load4(32), _28.Load4(48)));
_28.Store(64, asuint(_265[0].x));
_28.Store(68, asuint(_265[1].x));
_28.Store(72, asuint(_265[2].x));
_28.Store(76, asuint(_265[3].x));
_28.Store(80, asuint(_265[0].y));
_28.Store(84, asuint(_265[1].y));
_28.Store(88, asuint(_265[2].y));
_28.Store(92, asuint(_265[3].y));
_28.Store(96, asuint(_265[0].z));
_28.Store(100, asuint(_265[1].z));
_28.Store(104, asuint(_265[2].z));
_28.Store(108, asuint(_265[3].z));
_28.Store(112, asuint(_265[0].w));
_28.Store(116, asuint(_265[1].w));
_28.Store(120, asuint(_265[2].w));
_28.Store(124, asuint(_265[3].w));
float2x2 _268 = asfloat(uint2x2(_28.Load2(128), _28.Load2(136)));
_28.Store(144, asuint(_268[0].x));
_28.Store(148, asuint(_268[1].x));
_28.Store(152, asuint(_268[0].y));
_28.Store(156, asuint(_268[1].y));
float2x3 _271 = asfloat(uint2x3(_28.Load3(160), _28.Load3(176)));
_28.Store(192, asuint(_271[0].x));
_28.Store(196, asuint(_271[1].x));
_28.Store(200, asuint(_271[0].y));
_28.Store(204, asuint(_271[1].y));
_28.Store(208, asuint(_271[0].z));
_28.Store(212, asuint(_271[1].z));
float3x2 _274 = asfloat(uint3x2(_28.Load2(216), _28.Load2(224), _28.Load2(232)));
_28.Store(240, asuint(_274[0].x));
_28.Store(244, asuint(_274[1].x));
_28.Store(248, asuint(_274[2].x));
_28.Store(256, asuint(_274[0].y));
_28.Store(260, asuint(_274[1].y));
_28.Store(264, asuint(_274[2].y));
float4x4 _257 = asfloat(uint4x4(_28.Load(64), _28.Load(80), _28.Load(96), _28.Load(112), _28.Load(68), _28.Load(84), _28.Load(100), _28.Load(116), _28.Load(72), _28.Load(88), _28.Load(104), _28.Load(120), _28.Load(76), _28.Load(92), _28.Load(108), _28.Load(124)));
_28.Store4(0, asuint(_257[0]));
_28.Store4(16, asuint(_257[1]));
_28.Store4(32, asuint(_257[2]));
_28.Store4(48, asuint(_257[3]));
float2x2 _260 = asfloat(uint2x2(_28.Load(144), _28.Load(152), _28.Load(148), _28.Load(156)));
_28.Store2(128, asuint(_260[0]));
_28.Store2(136, asuint(_260[1]));
float2x3 _263 = asfloat(uint2x3(_28.Load(192), _28.Load(200), _28.Load(208), _28.Load(196), _28.Load(204), _28.Load(212)));
_28.Store3(160, asuint(_263[0]));
_28.Store3(176, asuint(_263[1]));
float3x2 _266 = asfloat(uint3x2(_28.Load(240), _28.Load(256), _28.Load(244), _28.Load(260), _28.Load(248), _28.Load(264)));
_28.Store2(216, asuint(_266[0]));
_28.Store2(224, asuint(_266[1]));
_28.Store2(232, asuint(_266[2]));
float4x4 _269 = asfloat(uint4x4(_28.Load4(0), _28.Load4(16), _28.Load4(32), _28.Load4(48)));
_28.Store(64, asuint(_269[0].x));
_28.Store(68, asuint(_269[1].x));
_28.Store(72, asuint(_269[2].x));
_28.Store(76, asuint(_269[3].x));
_28.Store(80, asuint(_269[0].y));
_28.Store(84, asuint(_269[1].y));
_28.Store(88, asuint(_269[2].y));
_28.Store(92, asuint(_269[3].y));
_28.Store(96, asuint(_269[0].z));
_28.Store(100, asuint(_269[1].z));
_28.Store(104, asuint(_269[2].z));
_28.Store(108, asuint(_269[3].z));
_28.Store(112, asuint(_269[0].w));
_28.Store(116, asuint(_269[1].w));
_28.Store(120, asuint(_269[2].w));
_28.Store(124, asuint(_269[3].w));
float2x2 _272 = asfloat(uint2x2(_28.Load2(128), _28.Load2(136)));
_28.Store(144, asuint(_272[0].x));
_28.Store(148, asuint(_272[1].x));
_28.Store(152, asuint(_272[0].y));
_28.Store(156, asuint(_272[1].y));
float2x3 _275 = asfloat(uint2x3(_28.Load3(160), _28.Load3(176)));
_28.Store(192, asuint(_275[0].x));
_28.Store(196, asuint(_275[1].x));
_28.Store(200, asuint(_275[0].y));
_28.Store(204, asuint(_275[1].y));
_28.Store(208, asuint(_275[0].z));
_28.Store(212, asuint(_275[1].z));
float3x2 _278 = asfloat(uint3x2(_28.Load2(216), _28.Load2(224), _28.Load2(232)));
_28.Store(240, asuint(_278[0].x));
_28.Store(244, asuint(_278[1].x));
_28.Store(248, asuint(_278[2].x));
_28.Store(256, asuint(_278[0].y));
_28.Store(260, asuint(_278[1].y));
_28.Store(264, asuint(_278[2].y));
_28.Store(_68_index0 * 4 + _68_index1 * 16 + 64, asuint(1.0f));
_28.Store(_68_index0 * 4 + _68_index1 * 8 + 144, asuint(2.0f));
_28.Store(_68_index0 * 4 + _68_index1 * 8 + 192, asuint(3.0f));

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _9 : register(u0);
void comp_main()

View File

@ -28,6 +28,7 @@ static const int d = (c + 50);
#define SPIRV_CROSS_CONSTANT_ID_3 400
#endif
static const int e = SPIRV_CROSS_CONSTANT_ID_3;
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _22 : register(u0);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _11 : register(u1);
void comp_main()

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
void comp_main()
{
}

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _9 : register(u0, space0);
static uint4 gl_SubgroupEqMask;

View File

@ -359,7 +359,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_View& View [[bu
}
float3 _484 = float3(_276);
float3 _488;
_488 = ((float3(_423 * fast::max(0.0, dot(_206, MobileDirectionalLight.MobileDirectionalLight_DirectionalLightDirectionAndShadowTransition.xyz))) * MobileDirectionalLight.MobileDirectionalLight_DirectionalLightColor.xyz) * (_270 + float3(_276 * (_439 * fast::min(_446 * _446, 65504.0))))) + ((_481 * float3(fast::clamp(1.0, 0.0, 1.0))) * _484);
_488 = ((float3(_423 * fast::max(0.0, dot(_206, MobileDirectionalLight.MobileDirectionalLight_DirectionalLightDirectionAndShadowTransition.xyz))) * MobileDirectionalLight.MobileDirectionalLight_DirectionalLightColor.xyz) * (_270 + float3(_276 * (_439 * fast::min(_446 * _446, 65504.0))))) + (_481 * _484);
float _537;
int _491 = 0;
for (;;)
@ -393,7 +393,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_View& View [[bu
break;
}
}
float3 _567 = (mix(_488 + fast::max(float3(0.0), float3(0.0)), _270 + _484, float3(View.View_UnlitViewmodeMask)) * float3(in.in_var_TEXCOORD7.w)) + in.in_var_TEXCOORD7.xyz;
float3 _567 = (mix(_488, _270 + _484, float3(View.View_UnlitViewmodeMask)) * float3(in.in_var_TEXCOORD7.w)) + in.in_var_TEXCOORD7.xyz;
float4 _571 = float4(_567.x, _567.y, _567.z, _137.w);
_571.w = fast::min(in.in_var_TEXCOORD8.w, 65500.0);
out.out_var_SV_Target0 = _571;

View File

@ -261,6 +261,12 @@ struct main0_in
float4 in_var_TEXCOORD0_0 [[user(locn4)]];
};
static inline __attribute__((always_inline))
void _353()
{
discard_fragment();
}
fragment main0_out main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)]], constant type_PrimitiveDither& PrimitiveDither [[buffer(1)]], constant type_PrimitiveFade& PrimitiveFade [[buffer(2)]], constant type_Material& Material [[buffer(3)]], texture2d<float> Material_Texture2D_0 [[texture(0)]], texture2d<float> Material_Texture2D_3 [[texture(1)]], sampler Material_Texture2D_0Sampler [[sampler(0)]], sampler Material_Texture2D_3Sampler [[sampler(1)]], float4 gl_FragCoord [[position]])
{
main0_out out = {};
@ -334,13 +340,13 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_View& View [[bu
float _317 = fract(cos(dot(floor(gl_FragCoord.xy), float2(347.834503173828125, 3343.28369140625))) * 1000.0);
if ((float((PrimitiveDither.PrimitiveDither_LODFactor < 0.0) ? ((PrimitiveDither.PrimitiveDither_LODFactor + 1.0) > _317) : (PrimitiveDither.PrimitiveDither_LODFactor < _317)) - 0.001000000047497451305389404296875) < 0.0)
{
discard_fragment();
_353();
}
}
}
if ((((_218.z + ((fast::min(fast::max(1.0 - (_218.x * Material.Material_ScalarExpressions[2].y), 0.0), 1.0) + ((_237 + (_242.x * Material.Material_ScalarExpressions[2].z)) * 0.16666667163372039794921875)) + (-0.5))) * ((fast::clamp((View.View_RealTime * PrimitiveFade.PrimitiveFade_FadeTimeScaleBias.x) + PrimitiveFade.PrimitiveFade_FadeTimeScaleBias.y, 0.0, 1.0) + ((_237 + _254.x) * 0.16666667163372039794921875)) + (-0.5))) - 0.33329999446868896484375) < 0.0)
{
discard_fragment();
_353();
}
float2 _351 = ((((in.in_var_TEXCOORD6.xy / float2(in.in_var_TEXCOORD6.w)) - View.View_TemporalAAJitter.xy) - ((in.in_var_TEXCOORD7.xy / float2(in.in_var_TEXCOORD7.w)) - View.View_TemporalAAJitter.zw)) * float2(0.2495000064373016357421875)) + float2(0.49999237060546875);
out.gl_FragDepth = fast::min(_140.z / (_140.w + (sqrt(dot(_272, _272)) / (fast::max(sqrt(dot(_276, _276)) / sqrt(dot(_279, _279)), sqrt(dot(_284, _284)) / sqrt(dot(_287, _287))) / abs(dot(float3x3(View.View_ViewToTranslatedWorld[0].xyz, View.View_ViewToTranslatedWorld[1].xyz, View.View_ViewToTranslatedWorld[2].xyz) * float3(0.0, 0.0, 1.0), _151))))), gl_FragCoord.z);

View File

@ -190,13 +190,12 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
_686.y = 1.0;
float3 _690 = _686;
_690.z = ((1.0 - _681) - _682) / _683;
float _691 = fast::max(0.328999996185302734375, 1.0000000133514319600180897396058e-10);
float3 _693 = _391;
_693.x = 0.3127000033855438232421875 / _691;
_693.x = 0.950455963611602783203125;
float3 _694 = _693;
_694.y = 1.0;
float3 _696 = _694;
_696.z = 0.3582999706268310546875 / _691;
_696.z = 1.0890576839447021484375;
float3 _697 = _690 * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
float3 _698 = _696 * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
float3 _717 = (_599 * ((float3x3(float3(0.41245639324188232421875, 0.3575761020183563232421875, 0.180437505245208740234375), float3(0.21267290413379669189453125, 0.715152204036712646484375, 0.072175003588199615478515625), float3(0.01933390088379383087158203125, 0.119191996753215789794921875, 0.950304090976715087890625)) * ((float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875)) * float3x3(float3(_698.x / _697.x, 0.0, 0.0), float3(0.0, _698.y / _697.y, 0.0), float3(0.0, 0.0, _698.z / _697.z))) * float3x3(float3(0.986992895603179931640625, -0.14705429971218109130859375, 0.15996269881725311279296875), float3(0.4323053061962127685546875, 0.518360316753387451171875, 0.049291200935840606689453125), float3(-0.00852870009839534759521484375, 0.0400427989661693572998046875, 0.968486726284027099609375)))) * float3x3(float3(3.2409698963165283203125, -1.53738319873809814453125, -0.4986107647418975830078125), float3(-0.96924364566802978515625, 1.875967502593994140625, 0.0415550582110881805419921875), float3(0.055630080401897430419921875, -0.2039769589900970458984375, 1.05697154998779296875)))) * _547;

View File

@ -102,7 +102,7 @@ constant spvUnsafeArray<float, 10> _506 = spvUnsafeArray<float, 10>({ -2.3010299
constant spvUnsafeArray<float, 10> _507 = spvUnsafeArray<float, 10>({ 0.801995217800140380859375, 1.19800484180450439453125, 1.5943000316619873046875, 1.99730002880096435546875, 2.3782999515533447265625, 2.7683999538421630859375, 3.0515000820159912109375, 3.2746293544769287109375, 3.32743072509765625, 3.32743072509765625 });
constant float3 _523 = {};
constant float3 _3121 = {};
constant float3 _3123 = {};
struct main0_out
{
@ -192,13 +192,12 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
_712.y = 1.0;
float3 _716 = _712;
_716.z = ((1.0 - _707) - _708) / _709;
float _717 = fast::max(0.328999996185302734375, 1.0000000133514319600180897396058e-10);
float3 _719 = _523;
_719.x = 0.3127000033855438232421875 / _717;
_719.x = 0.950455963611602783203125;
float3 _720 = _719;
_720.y = 1.0;
float3 _722 = _720;
_722.z = 0.3582999706268310546875 / _717;
_722.z = 1.0890576839447021484375;
float3 _723 = _716 * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
float3 _724 = _722 * float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875));
float3 _743 = (_625 * ((float3x3(float3(0.41245639324188232421875, 0.3575761020183563232421875, 0.180437505245208740234375), float3(0.21267290413379669189453125, 0.715152204036712646484375, 0.072175003588199615478515625), float3(0.01933390088379383087158203125, 0.119191996753215789794921875, 0.950304090976715087890625)) * ((float3x3(float3(0.89509999752044677734375, 0.2664000093936920166015625, -0.16140000522136688232421875), float3(-0.750199973583221435546875, 1.71350002288818359375, 0.0366999991238117218017578125), float3(0.0388999991118907928466796875, -0.06849999725818634033203125, 1.02960002422332763671875)) * float3x3(float3(_724.x / _723.x, 0.0, 0.0), float3(0.0, _724.y / _723.y, 0.0), float3(0.0, 0.0, _724.z / _723.z))) * float3x3(float3(0.986992895603179931640625, -0.14705429971218109130859375, 0.15996269881725311279296875), float3(0.4323053061962127685546875, 0.518360316753387451171875, 0.049291200935840606689453125), float3(-0.00852870009839534759521484375, 0.0400427989661693572998046875, 0.968486726284027099609375)))) * float3x3(float3(3.2409698963165283203125, -1.53738319873809814453125, -0.4986107647418975830078125), float3(-0.96924364566802978515625, 1.875967502593994140625, 0.0415550582110881805419921875), float3(0.055630080401897430419921875, -0.2039769589900970458984375, 1.05697154998779296875)))) * _573;
@ -328,7 +327,7 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Globals& _Globa
float3 _1215;
if (_Globals.ColorShadow_Tint2.w == 0.0)
{
float3 _1157 = _3121;
float3 _1157 = _3123;
_1157.x = dot(_932, _Globals.ColorMatrixR_ColorCurveCd1.xyz);
float3 _1162 = _1157;
_1162.y = dot(_932, _Globals.ColorMatrixG_ColorCurveCd3Cm3.xyz);

View File

@ -261,6 +261,12 @@ struct main0_in
float4 in_var_TEXCOORD0_0 [[user(locn4)]];
};
static inline __attribute__((always_inline))
void _353()
{
discard_fragment();
}
fragment main0_out main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)]], constant type_PrimitiveDither& PrimitiveDither [[buffer(1)]], constant type_PrimitiveFade& PrimitiveFade [[buffer(2)]], constant type_Material& Material [[buffer(3)]], texture2d<float> Material_Texture2D_0 [[texture(0)]], texture2d<float> Material_Texture2D_3 [[texture(1)]], sampler Material_Texture2D_0Sampler [[sampler(0)]], sampler Material_Texture2D_3Sampler [[sampler(1)]], float4 gl_FragCoord [[position]])
{
main0_out out = {};
@ -334,13 +340,13 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_View& View [[bu
float _317 = fract(cos(dot(floor(gl_FragCoord.xy), float2(347.834503173828125, 3343.28369140625))) * 1000.0);
if ((float((PrimitiveDither.PrimitiveDither_LODFactor < 0.0) ? ((PrimitiveDither.PrimitiveDither_LODFactor + 1.0) > _317) : (PrimitiveDither.PrimitiveDither_LODFactor < _317)) - 0.001000000047497451305389404296875) < 0.0)
{
discard_fragment();
_353();
}
}
}
if ((((_218.z + ((fast::min(fast::max(1.0 - (_218.x * Material.Material_ScalarExpressions[2].y), 0.0), 1.0) + ((_237 + (_242.x * Material.Material_ScalarExpressions[2].z)) * 0.16666667163372039794921875)) + (-0.5))) * ((fast::clamp((View.View_RealTime * PrimitiveFade.PrimitiveFade_FadeTimeScaleBias.x) + PrimitiveFade.PrimitiveFade_FadeTimeScaleBias.y, 0.0, 1.0) + ((_237 + _254.x) * 0.16666667163372039794921875)) + (-0.5))) - 0.33329999446868896484375) < 0.0)
{
discard_fragment();
_353();
}
float2 _351 = ((((in.in_var_TEXCOORD6.xy / float2(in.in_var_TEXCOORD6.w)) - View.View_TemporalAAJitter.xy) - ((in.in_var_TEXCOORD7.xy / float2(in.in_var_TEXCOORD7.w)) - View.View_TemporalAAJitter.zw)) * float2(0.2495000064373016357421875)) + float2(0.49999237060546875);
out.gl_FragDepth = fast::min(_140.z / (_140.w + (sqrt(dot(_272, _272)) / (fast::max(sqrt(dot(_276, _276)) / sqrt(dot(_279, _279)), sqrt(dot(_284, _284)) / sqrt(dot(_287, _287))) / abs(dot(float3x3(View.View_ViewToTranslatedWorld[0].xyz, View.View_ViewToTranslatedWorld[1].xyz, View.View_ViewToTranslatedWorld[2].xyz) * float3(0.0, 0.0, 1.0), _151))))), gl_FragCoord.z);

View File

@ -71,7 +71,7 @@ struct main0_in
// Returns buffer coords clamped to storage buffer size
#define spvStorageBufferCoords(idx, sizes, type, coord) metal::min((coord), (sizes[(idx)*2] / sizeof(type)) - 1)
fragment main0_out main0(main0_in in [[stage_in]], const device type_StructuredBuffer_v4float& CulledObjectBoxBounds [[buffer(0)]], constant type_Globals& _Globals [[buffer(1)]], texture2d<uint> RWShadowTileNumCulledObjects [[texture(0)]], device atomic_uint* RWShadowTileNumCulledObjects_atomic [[buffer(2)]], float4 gl_FragCoord [[position]])
fragment main0_out main0(main0_in in [[stage_in]], const device type_StructuredBuffer_v4float& CulledObjectBoxBounds [[buffer(0)]], constant type_Globals& _Globals [[buffer(1)]], texture2d<uint> RWShadowTileNumCulledObjects [[texture(2)]], device atomic_uint* RWShadowTileNumCulledObjects_atomic [[buffer(2)]], float4 gl_FragCoord [[position]])
{
main0_out out = {};
uint2 _77 = uint2(gl_FragCoord.xy);

View File

@ -3,6 +3,8 @@
using namespace metal;
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0()
{
}

View File

@ -23,6 +23,8 @@ struct SSBO2
float4 v;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
struct spvDescriptorSetBuffer0
{
const device SSBO0* ssbo0 [[id(0)]];

View File

@ -55,7 +55,9 @@ struct SSBO1
spvUnsafeArray<float, 1> bz;
};
kernel void main0(constant uint* spvBufferSizeConstants [[buffer(3)]], device SSBO& _14 [[buffer(0)]], device SSBO1* ssbos_0 [[buffer(1)]], device SSBO1* ssbos_1 [[buffer(2)]])
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(constant uint* spvBufferSizeConstants [[buffer(25)]], device SSBO& _14 [[buffer(0)]], device SSBO1* ssbos_0 [[buffer(1)]], device SSBO1* ssbos_1 [[buffer(2)]])
{
spvUnsafeArray<device SSBO1*, 2> ssbos =
{
@ -63,8 +65,8 @@ kernel void main0(constant uint* spvBufferSizeConstants [[buffer(3)]], device SS
ssbos_1,
};
constant uint& _14BufferSize = spvBufferSizeConstants[4];
constant uint* ssbosBufferSize = &spvBufferSizeConstants[5];
constant uint& _14BufferSize = spvBufferSizeConstants[0];
constant uint* ssbosBufferSize = &spvBufferSizeConstants[1];
_14.size = uint(int((_14BufferSize - 16) / 16) + int((ssbosBufferSize[1] - 0) / 4));
}

View File

@ -66,6 +66,8 @@ struct SSBO3
spvUnsafeArray<float, 1> bz;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
struct spvDescriptorSetBuffer0
{
device SSBO* m_16 [[id(0)]];
@ -78,7 +80,7 @@ struct spvDescriptorSetBuffer1
constant uint* spvBufferSizeConstants [[id(2)]];
};
kernel void main0(constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]], constant spvDescriptorSetBuffer1& spvDescriptorSet1 [[buffer(1)]], constant uint* spvBufferSizeConstants [[buffer(5)]], device SSBO2& _38 [[buffer(2)]], device SSBO3* ssbos2_0 [[buffer(3)]], device SSBO3* ssbos2_1 [[buffer(4)]])
kernel void main0(constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]], constant spvDescriptorSetBuffer1& spvDescriptorSet1 [[buffer(1)]], constant uint* spvBufferSizeConstants [[buffer(25)]], device SSBO2& _38 [[buffer(2)]], device SSBO3* ssbos2_0 [[buffer(3)]], device SSBO3* ssbos2_1 [[buffer(4)]])
{
spvUnsafeArray<device SSBO3*, 2> ssbos2 =
{
@ -88,8 +90,8 @@ kernel void main0(constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0
constant uint& spvDescriptorSet0_m_16BufferSize = spvDescriptorSet0.spvBufferSizeConstants[0];
constant uint* spvDescriptorSet1_ssbosBufferSize = &spvDescriptorSet1.spvBufferSizeConstants[0];
constant uint& _38BufferSize = spvBufferSizeConstants[6];
constant uint* ssbos2BufferSize = &spvBufferSizeConstants[7];
constant uint& _38BufferSize = spvBufferSizeConstants[2];
constant uint* ssbos2BufferSize = &spvBufferSizeConstants[3];
(*spvDescriptorSet0.m_16).size = ((uint(int((spvDescriptorSet0_m_16BufferSize - 16) / 16)) + uint(int((spvDescriptorSet1_ssbosBufferSize[1] - 0) / 4))) + uint(int((_38BufferSize - 16) / 16))) + uint(int((ssbos2BufferSize[0] - 0) / 4));
}

View File

@ -12,6 +12,8 @@ struct SSBO
int i32;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& ssbo [[buffer(0)]])
{
threadgroup uint shared_u32;

View File

@ -61,6 +61,8 @@ struct SSBO3
uint counter;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(const device SSBO& _23 [[buffer(0)]], device SSBO2& _45 [[buffer(1)]], device SSBO3& _48 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
float4 _29 = _23.in_data[gl_GlobalInvocationID.x];

View File

@ -61,9 +61,11 @@ struct SSBO3
uint counter;
};
kernel void main0(constant uint3& spvDispatchBase [[buffer(3)]], const device SSBO& _27 [[buffer(0)]], device SSBO2& _49 [[buffer(1)]], device SSBO3& _52 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(constant uint3& spvDispatchBase [[buffer(29)]], const device SSBO& _27 [[buffer(0)]], device SSBO2& _49 [[buffer(1)]], device SSBO3& _52 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
gl_GlobalInvocationID += spvDispatchBase * uint3(1, 1, 1);
gl_GlobalInvocationID += spvDispatchBase * gl_WorkGroupSize;
float4 _33 = _27.in_data[gl_GlobalInvocationID.x];
if (dot(_33, float4(1.0, 5.0, 6.0, 2.0)) > 8.19999980926513671875)
{

View File

@ -75,7 +75,7 @@ struct spvDescriptorSetBuffer1
spvUnsafeArray<device thread spvUnsafeArray<spvUnsafeArray<Baz, 3>, 2>*, 3>, 3>, 2> baz [[id(0)]];
};
kernel void main0(constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]], constant spvDescriptorSetBuffer1& spvDescriptorSet1 [[buffer(1)]], constant uint* spvDynamicOffsets [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
kernel void main0(constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]], constant spvDescriptorSetBuffer1& spvDescriptorSet1 [[buffer(1)]], constant uint* spvDynamicOffsets [[buffer(23)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
constant auto& _34 = *(constant Foo* )((constant char* )spvDescriptorSet0.m_34 + spvDynamicOffsets[0]);
device spvUnsafeArray<spvUnsafeArray<spvUnsafeArray<Baz, 3>, 3>, 2>* baz =

View File

@ -54,6 +54,8 @@ struct SSBO1
spvUnsafeArray<int4, 1> outputs;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO0& _25 [[buffer(0)]], device SSBO1& _39 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
_39.outputs[gl_GlobalInvocationID.x].x = int(as_type<uint>(as_type<half2>(_25.inputs[gl_GlobalInvocationID.x].xy) + half2(half(1.0))));

View File

@ -59,6 +59,8 @@ struct UBO
half4 const0;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO1& _21 [[buffer(0)]], device SSBO0& _29 [[buffer(1)]], constant UBO& _40 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
short2 _47 = as_type<short2>(_29.inputs[gl_GlobalInvocationID.x].x) + as_type<short2>(_40.const0.xy);

View File

@ -8,6 +8,8 @@ struct SSBO
float4 value;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(volatile device SSBO& _10 [[buffer(0)]])
{
_10.value = float4(20.0);

View File

@ -8,6 +8,8 @@ struct SSBO
int4 value;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(volatile device SSBO& _10 [[buffer(0)]], texture2d<int> uImage [[texture(0)]])
{
_10.value = uImage.read(uint2(int2(10)));

View File

@ -54,6 +54,8 @@ struct SSBO1
spvUnsafeArray<float4, 1> bs;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO0& _16 [[buffer(0)]], device SSBO1& _32 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]], uint gl_LocalInvocationIndex [[thread_index_in_threadgroup]])
{
spvUnsafeArray<float4, 2> _37 = { _16.as[gl_GlobalInvocationID.x], _32.bs[gl_GlobalInvocationID.x] };

View File

@ -10,6 +10,8 @@ struct BUF
float c;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device BUF& o [[buffer(0)]])
{
o.a = 4;

View File

@ -9,6 +9,8 @@ struct SSBO
int index;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _13 [[buffer(0)]])
{
float4 _17 = _13.data;

View File

@ -55,21 +55,23 @@ struct SSBO2
spvUnsafeArray<float4, 1> out_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(const device SSBO& _28 [[buffer(0)]], device SSBO2& _52 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
float4 _57;
int _58;
_58 = 0;
_57 = _28.in_data[gl_GlobalInvocationID.x];
float4 _59;
int _60;
_60 = 0;
_59 = _28.in_data[gl_GlobalInvocationID.x];
float4 _42;
for (;;)
{
_42 = _28.mvp * _57;
int _44 = _58 + 1;
_42 = _28.mvp * _59;
int _44 = _60 + 1;
if (_44 < 16)
{
_58 = _44;
_57 = _42;
_60 = _44;
_59 = _42;
}
else
{

View File

@ -8,13 +8,11 @@ using namespace metal;
template<typename T> struct spvRemoveReference { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&> { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&&> { typedef T type; };
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
{
return static_cast<thread T&&>(x);
}
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
{
return static_cast<thread T&&>(x);
}
@ -67,9 +65,9 @@ inline T spvTextureSwizzle(T x, uint s)
return spvTextureSwizzle(vec<T, 4>(x, 0, 0, 1), s).x;
}
kernel void main0(constant uint* spvSwizzleConstants [[buffer(0)]], texture2d<float> foo [[texture(0)]], texture2d<float, access::write> bar [[texture(1)]], sampler fooSmplr [[sampler(0)]])
kernel void main0(constant uint* spvSwizzleConstants [[buffer(30)]], texture2d<float> foo [[texture(0)]], texture2d<float, access::write> bar [[texture(1)]], sampler fooSmplr [[sampler(0)]])
{
constant uint& fooSwzl = spvSwizzleConstants[2];
bar.write(foo.sample(fooSmplr, float2(1.0), level(0.0)), uint2(int2(0)));
constant uint& fooSwzl = spvSwizzleConstants[0];
bar.write(spvTextureSwizzle(foo.sample(fooSmplr, float2(1.0), level(0.0)), fooSwzl), uint2(int2(0)));
}

View File

@ -3,6 +3,8 @@
using namespace metal;
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(texturecube_array<float> uImageIn [[texture(0)]], texturecube_array<float, access::write> uImageOut [[texture(1)]])
{
uImageOut.write(uImageIn.read(uint2(int3(9, 7, 11).xy), uint(int3(9, 7, 11).z) % 6u, uint(int3(9, 7, 11).z) / 6u), uint2(int3(9, 7, 11).xy), uint(int3(9, 7, 11).z) % 6u, uint(int3(9, 7, 11).z) / 6u);

View File

@ -3,6 +3,8 @@
using namespace metal;
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(texture2d<float> uImageIn [[texture(0)]], texture2d<float, access::write> uImageOut [[texture(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
int2 _23 = int2(gl_GlobalInvocationID.xy);

View File

@ -49,19 +49,21 @@ struct SSBO
spvUnsafeArray<float4, 1> out_data;
};
constant float4 _52 = {};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
constant float4 _53 = {};
kernel void main0(device SSBO& _27 [[buffer(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
float4 _45 = _52;
_45.x = 10.0;
float4 _47 = _45;
_47.y = 30.0;
float4 _49 = _47;
_49.z = 70.0;
float4 _51 = _49;
_51.w = 90.0;
_27.out_data[gl_GlobalInvocationID.x] = _51;
float4 _46 = _53;
_46.x = 10.0;
float4 _48 = _46;
_48.y = 30.0;
float4 _50 = _48;
_50.z = 70.0;
float4 _52 = _50;
_52.w = 90.0;
_27.out_data[gl_GlobalInvocationID.x] = _52;
_27.out_data[gl_GlobalInvocationID.x].y = 20.0;
}

View File

@ -9,16 +9,18 @@ struct SSBO
uint u32;
};
constant long _162 = {};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
constant long _164 = {};
kernel void main0(device SSBO& _96 [[buffer(0)]])
{
long4 _137;
ulong4 _141;
_137 = abs((_137 + long4(30l, 40l, 50l, 60l)) + long4(_141 + ulong4(999999999999999999ul, 8888888888888888ul, 77777777777777777ul, 6666666666666666ul)));
_141 += ulong4(long4(999999999999999999l, 8888888888888888l, 77777777777777777l, 6666666666666666l));
ulong _109 = ulong(_162);
_96.s32 = int(uint(((ulong(_137.x) + _141.y) + _109) + _109));
_96.u32 = uint(((ulong(_137.y) + _141.z) + ulong(_162 + 1l)) + _109);
long4 _139;
ulong4 _143;
_139 = abs((_139 + long4(30l, 40l, 50l, 60l)) + long4(_143 + ulong4(999999999999999999ul, 8888888888888888ul, 77777777777777777ul, 6666666666666666ul)));
_143 += ulong4(long4(999999999999999999l, 8888888888888888l, 77777777777777777l, 6666666666666666l));
ulong _109 = ulong(_164);
_96.s32 = int(uint(((ulong(_139.x) + _143.y) + _109) + _109));
_96.u32 = uint(((ulong(_139.y) + _143.z) + ulong(_164 + 1l)) + _109);
}

View File

@ -19,6 +19,8 @@ struct MatrixIn
float4x4 m4in;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
// Returns the determinant of a 2x2 matrix.
static inline __attribute__((always_inline))
float spvDet2x2(float a1, float a2, float b1, float b2)

View File

@ -49,6 +49,8 @@ struct SSBO2
spvUnsafeArray<float3x3, 1> out_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO2& _22 [[buffer(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
_22.out_data[gl_GlobalInvocationID.x] = float3x3(float3(10.0), float3(20.0), float3(40.0));

View File

@ -54,6 +54,8 @@ struct SSBO2
spvUnsafeArray<float4, 1> out_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
// Implementation of the GLSL mod() function, which is slightly different than Metal fmod()
template<typename Tx, typename Ty>
inline Tx mod(Tx x, Ty y)

View File

@ -54,6 +54,8 @@ struct SSBO2
spvUnsafeArray<float4, 1> out_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(const device SSBO& _23 [[buffer(0)]], device SSBO2& _35 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
float4 i;

View File

@ -23,6 +23,8 @@ struct ReadSSBO
float4 v4;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _21 [[buffer(0)]], const device ReadSSBO& _26 [[buffer(1)]])
{
_21.m22 = float2x2(_26.v2 * _26.v2.x, _26.v2 * _26.v2.y);

View File

@ -21,6 +21,8 @@ struct SSBO1
float4 data3;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO2& _10 [[buffer(0)]], const device SSBO0& _15 [[buffer(1)]], device SSBO1& _21 [[buffer(2)]])
{
_10.data4 = _15.data0 + _21.data2;

View File

@ -13,6 +13,8 @@ struct SSBO
float4x4 c1;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _11 [[buffer(0)]])
{
_11.a *= _11.a1;

View File

@ -8,6 +8,8 @@ struct SSBO
int a;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _9 [[buffer(0)]])
{
_9.a += 10;

View File

@ -12,6 +12,8 @@ struct SSBO
float e;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _9 [[buffer(0)]])
{
_9.c = abs(_9.a - _9.b);

View File

@ -81,6 +81,7 @@ struct SSBO
constant int e_tmp [[function_constant(3)]];
constant int e = is_function_constant_defined(e_tmp) ? e_tmp : 400;
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _22 [[buffer(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{

View File

@ -57,32 +57,34 @@ struct SSBO
spvUnsafeArray<Sub, 2> sub;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _27 [[buffer(0)]], uint3 gl_WorkGroupID [[threadgroup_position_in_grid]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
spvUnsafeArray<float, 2> _153;
_153[0] = _27.sub[gl_WorkGroupID.x].f[0].x;
_153[1] = _27.sub[gl_WorkGroupID.x].f[1].x;
spvUnsafeArray<float2, 2> _154;
_154[0] = _27.sub[gl_WorkGroupID.x].f2[0].xy;
_154[1] = _27.sub[gl_WorkGroupID.x].f2[1].xy;
spvUnsafeArray<float3, 2> _155;
_155[0] = _27.sub[gl_WorkGroupID.x].f3[0];
_155[1] = _27.sub[gl_WorkGroupID.x].f3[1];
spvUnsafeArray<float4, 2> _156;
_156[0] = _27.sub[gl_WorkGroupID.x].f4[0];
_156[1] = _27.sub[gl_WorkGroupID.x].f4[1];
_153[gl_GlobalInvocationID.x] += 1.0;
_154[gl_GlobalInvocationID.x] += float2(2.0);
_155[gl_GlobalInvocationID.x] += float3(3.0);
_156[gl_GlobalInvocationID.x] += float4(4.0);
_27.sub[gl_WorkGroupID.x].f[0].x = _153[0];
_27.sub[gl_WorkGroupID.x].f[1].x = _153[1];
_27.sub[gl_WorkGroupID.x].f2[0].xy = _154[0];
_27.sub[gl_WorkGroupID.x].f2[1].xy = _154[1];
_27.sub[gl_WorkGroupID.x].f3[0] = _155[0];
_27.sub[gl_WorkGroupID.x].f3[1] = _155[1];
_27.sub[gl_WorkGroupID.x].f4[0] = _156[0];
_27.sub[gl_WorkGroupID.x].f4[1] = _156[1];
spvUnsafeArray<float, 2> _155;
_155[0] = _27.sub[gl_WorkGroupID.x].f[0].x;
_155[1] = _27.sub[gl_WorkGroupID.x].f[1].x;
spvUnsafeArray<float2, 2> _156;
_156[0] = _27.sub[gl_WorkGroupID.x].f2[0].xy;
_156[1] = _27.sub[gl_WorkGroupID.x].f2[1].xy;
spvUnsafeArray<float3, 2> _157;
_157[0] = _27.sub[gl_WorkGroupID.x].f3[0];
_157[1] = _27.sub[gl_WorkGroupID.x].f3[1];
spvUnsafeArray<float4, 2> _158;
_158[0] = _27.sub[gl_WorkGroupID.x].f4[0];
_158[1] = _27.sub[gl_WorkGroupID.x].f4[1];
_155[gl_GlobalInvocationID.x] += 1.0;
_156[gl_GlobalInvocationID.x] += float2(2.0);
_157[gl_GlobalInvocationID.x] += float3(3.0);
_158[gl_GlobalInvocationID.x] += float4(4.0);
_27.sub[gl_WorkGroupID.x].f[0].x = _155[0];
_27.sub[gl_WorkGroupID.x].f[1].x = _155[1];
_27.sub[gl_WorkGroupID.x].f2[0].xy = _156[0];
_27.sub[gl_WorkGroupID.x].f2[1].xy = _156[1];
_27.sub[gl_WorkGroupID.x].f3[0] = _157[0];
_27.sub[gl_WorkGroupID.x].f3[1] = _157[1];
_27.sub[gl_WorkGroupID.x].f4[0] = _158[0];
_27.sub[gl_WorkGroupID.x].f4[1] = _158[1];
_27.sub[0].f[0].x += 5.0;
_27.sub[0].f2[1].xy += float2(5.0);
}

View File

@ -59,6 +59,8 @@ struct SSBO
spvUnsafeArray<Foo, 1> in_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO2& _23 [[buffer(0)]], const device SSBO& _30 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
_23.out_data[gl_GlobalInvocationID.x].m = _30.in_data[gl_GlobalInvocationID.x].m * _30.in_data[gl_GlobalInvocationID.x].m;

View File

@ -59,6 +59,8 @@ struct dstbuffer
spvUnsafeArray<s2, 1> test;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device dstbuffer& _19 [[buffer(0)]])
{
_19.test[0].b.a = 0;

View File

@ -159,6 +159,8 @@ struct SSBO0
spvUnsafeArray<float4, 1> array;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO1& ssbo_430 [[buffer(0)]], device SSBO0& ssbo_140 [[buffer(1)]])
{
Content_1 _60 = ssbo_140.content;

View File

@ -55,29 +55,31 @@ struct SSBO2
spvUnsafeArray<float4, 1> out_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(const device SSBO& _24 [[buffer(0)]], device SSBO2& _89 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
float4 _99;
_99 = _24.in_data[gl_GlobalInvocationID.x];
for (int _93 = 0; (_93 + 1) < 10; )
float4 _101;
_101 = _24.in_data[gl_GlobalInvocationID.x];
for (int _95 = 0; (_95 + 1) < 10; )
{
_99 *= 2.0;
_93 += 2;
_101 *= 2.0;
_95 += 2;
continue;
}
float4 _98;
_98 = _99;
float4 _103;
for (uint _94 = 0u; _94 < 16u; _98 = _103, _94++)
float4 _100;
_100 = _101;
float4 _105;
for (uint _96 = 0u; _96 < 16u; _100 = _105, _96++)
{
_103 = _98;
for (uint _100 = 0u; _100 < 30u; )
_105 = _100;
for (uint _102 = 0u; _102 < 30u; )
{
_103 = _24.mvp * _103;
_100++;
_105 = _24.mvp * _105;
_102++;
continue;
}
}
_89.out_data[gl_GlobalInvocationID.x] = _98;
_89.out_data[gl_GlobalInvocationID.x] = _100;
}

View File

@ -69,6 +69,8 @@ struct SSBO2
spvUnsafeArray<float4, 1> outputs;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO0& _36 [[buffer(0)]], device SSBO1& _55 [[buffer(1)]], device SSBO2& _66 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
_66.outputs[gl_GlobalInvocationID.x] = _36.s0s[gl_GlobalInvocationID.x].a + _55.s1s[gl_GlobalInvocationID.x].a;

View File

@ -54,6 +54,8 @@ struct SSBO
spvUnsafeArray<uint, 1> inputs;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO2& _10 [[buffer(0)]], device SSBO& _23 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
_10.outputs[gl_GlobalInvocationID.x] = _23.inputs[gl_GlobalInvocationID.x] / 29u;

View File

@ -91,6 +91,8 @@ struct ResType_7
int4 _m1;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBOUint& u [[buffer(0)]], device SSBOInt& i [[buffer(1)]])
{
ResType _25;

View File

@ -25,13 +25,11 @@ struct main0_in
template<typename T> struct spvRemoveReference { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&> { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&&> { typedef T type; };
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
{
return static_cast<thread T&&>(x);
}
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
{
return static_cast<thread T&&>(x);
}
@ -84,15 +82,15 @@ inline T spvTextureSwizzle(T x, uint s)
return spvTextureSwizzle(vec<T, 4>(x, 0, 0, 1), s).x;
}
fragment main0_out main0(main0_in in [[stage_in]], constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]], constant uint* spvSwizzleConstants [[buffer(1)]], texture2d<float> uSampler1 [[texture(0)]], sampler uSampler1Smplr [[sampler(0)]])
fragment main0_out main0(main0_in in [[stage_in]], constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]], constant uint* spvSwizzleConstants [[buffer(30)]], texture2d<float> uSampler1 [[texture(0)]], sampler uSampler1Smplr [[sampler(0)]])
{
main0_out out = {};
constant uint* spvDescriptorSet0_uSampler0Swzl = &spvDescriptorSet0.spvSwizzleConstants[0];
constant uint& uSampler1Swzl = spvSwizzleConstants[1];
out.FragColor = spvDescriptorSet0.uSampler0[2].sample(spvDescriptorSet0.uSampler0Smplr[2], in.vUV);
out.FragColor += uSampler1.sample(uSampler1Smplr, in.vUV);
out.FragColor += spvDescriptorSet0.uSampler0[1].sample(spvDescriptorSet0.uSampler0Smplr[1], in.vUV);
out.FragColor += uSampler1.sample(uSampler1Smplr, in.vUV);
constant uint& uSampler1Swzl = spvSwizzleConstants[0];
out.FragColor = spvTextureSwizzle(spvDescriptorSet0.uSampler0[2].sample(spvDescriptorSet0.uSampler0Smplr[2], in.vUV), spvDescriptorSet0_uSampler0Swzl[2]);
out.FragColor += spvTextureSwizzle(uSampler1.sample(uSampler1Smplr, in.vUV), uSampler1Swzl);
out.FragColor += spvTextureSwizzle(spvDescriptorSet0.uSampler0[1].sample(spvDescriptorSet0.uSampler0Smplr[1], in.vUV), spvDescriptorSet0_uSampler0Swzl[1]);
out.FragColor += spvTextureSwizzle(uSampler1.sample(uSampler1Smplr, in.vUV), uSampler1Swzl);
return out;
}

View File

@ -18,13 +18,11 @@ struct main0_in
template<typename T> struct spvRemoveReference { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&> { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&&> { typedef T type; };
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
{
return static_cast<thread T&&>(x);
}
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
{
return static_cast<thread T&&>(x);
}
@ -77,12 +75,12 @@ inline T spvTextureSwizzle(T x, uint s)
return spvTextureSwizzle(vec<T, 4>(x, 0, 0, 1), s).x;
}
fragment main0_out main0(main0_in in [[stage_in]], constant uint* spvSwizzleConstants [[buffer(0)]], array<texture2d<float>, 4> uSampler [[texture(0)]], array<sampler, 4> uSamplerSmplr [[sampler(0)]])
fragment main0_out main0(main0_in in [[stage_in]], constant uint* spvSwizzleConstants [[buffer(30)]], array<texture2d<float>, 4> uSampler [[texture(0)]], array<sampler, 4> uSamplerSmplr [[sampler(0)]])
{
main0_out out = {};
constant uint* uSamplerSwzl = &spvSwizzleConstants[4];
out.FragColor = uSampler[2].sample(uSamplerSmplr[2], in.vUV);
out.FragColor += uSampler[1].sample(uSamplerSmplr[1], in.vUV);
constant uint* uSamplerSwzl = &spvSwizzleConstants[0];
out.FragColor = spvTextureSwizzle(uSampler[2].sample(uSamplerSmplr[2], in.vUV), uSamplerSwzl[2]);
out.FragColor += spvTextureSwizzle(uSampler[1].sample(uSamplerSmplr[1], in.vUV), uSamplerSwzl[1]);
return out;
}

View File

@ -78,9 +78,10 @@ fragment main0_out main0(main0_in in [[stage_in]], device SSBO& ssbo [[buffer(0)
main0_out out = {};
short _196 = short(10);
int _197 = 20;
char2 _198 = as_type<char2>(_196);
char4 _199 = as_type<char4>(_197);
_196 = as_type<short>(_198);
char2 _201 = as_type<char2>(short(10));
char2 _198 = _201;
char4 _199 = as_type<char4>(20);
_196 = as_type<short>(_201);
_197 = as_type<int>(_199);
ssbo.i8[0] = _199.x;
ssbo.i8[1] = _199.y;
@ -88,9 +89,10 @@ fragment main0_out main0(main0_in in [[stage_in]], device SSBO& ssbo [[buffer(0)
ssbo.i8[3] = _199.w;
ushort _220 = ushort(10);
uint _221 = 20u;
uchar2 _222 = as_type<uchar2>(_220);
uchar4 _223 = as_type<uchar4>(_221);
_220 = as_type<ushort>(_222);
uchar2 _225 = as_type<uchar2>(ushort(10));
uchar2 _222 = _225;
uchar4 _223 = as_type<uchar4>(20u);
_220 = as_type<ushort>(_225);
_221 = as_type<uint>(_223);
ssbo.u8[0] = _223.x;
ssbo.u8[1] = _223.y;
@ -98,21 +100,34 @@ fragment main0_out main0(main0_in in [[stage_in]], device SSBO& ssbo [[buffer(0)
ssbo.u8[3] = _223.w;
char4 _246 = char4(in.vColor);
char4 _244 = _246;
_244 += char4(registers.i8);
_244 += char4(-40);
_244 += char4(-50);
_244 += char4(char(10), char(20), char(30), char(40));
_244 += char4(ssbo.i8[4]);
_244 += char4(ubo.i8);
out.FragColorInt = int4(_244);
uchar4 _271 = uchar4(_246);
_271 += uchar4(registers.u8);
_271 += uchar4(216);
_271 += uchar4(206);
_271 += uchar4(uchar(10), uchar(20), uchar(30), uchar(40));
_271 += uchar4(ssbo.u8[4]);
_271 += uchar4(ubo.u8);
out.FragColorUint = uint4(_271);
char4 _251 = _246 + char4(registers.i8);
_244 = _251;
char4 _254 = _251 + char4(-40);
_244 = _254;
char4 _256 = _254 + char4(-50);
_244 = _256;
char4 _258 = _256 + char4(char(10), char(20), char(30), char(40));
_244 = _258;
char4 _263 = _258 + char4(ssbo.i8[4]);
_244 = _263;
char4 _268 = _263 + char4(ubo.i8);
_244 = _268;
out.FragColorInt = int4(_268);
uchar4 _274 = uchar4(_246);
uchar4 _271 = _274;
uchar4 _279 = _274 + uchar4(registers.u8);
_271 = _279;
uchar4 _282 = _279 + uchar4(216);
_271 = _282;
uchar4 _284 = _282 + uchar4(206);
_271 = _284;
uchar4 _286 = _284 + uchar4(uchar(10), uchar(20), uchar(30), uchar(40));
_271 = _286;
uchar4 _291 = _286 + uchar4(ssbo.u8[4]);
_271 = _291;
uchar4 _296 = _291 + uchar4(ubo.u8);
_271 = _296;
out.FragColorUint = uint4(_296);
return out;
}

View File

@ -162,6 +162,8 @@ struct SSBO2
packed_rm_float3x2 m2;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO1& ssbo_scalar [[buffer(0)]], device SSBO0& ssbo_140 [[buffer(1)]], device SSBO2& ssbo_scalar2 [[buffer(2)]])
{
spvUnsafeArray<float2, 1>(ssbo_scalar.content.m0s[0].a[0]) = ssbo_140.content.m0s[0].a[0].xy;

View File

@ -10,6 +10,8 @@ struct SSBO
float FragColor;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
inline uint4 spvSubgroupBallot(bool value)
{
simd_vote vote = simd_ballot(value);

View File

@ -8,6 +8,8 @@ struct SSBO
float FragColor;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO& _9 [[buffer(0)]], uint gl_NumSubgroups [[quadgroups_per_threadgroup]], uint gl_SubgroupID [[quadgroup_index_in_threadgroup]], uint gl_SubgroupSize [[thread_execution_width]], uint gl_SubgroupInvocationID [[thread_index_in_quadgroup]])
{
_9.FragColor = float(gl_NumSubgroups);

View File

@ -58,7 +58,7 @@ struct main0_in
float2 vTex_3 [[user(locn4)]];
};
fragment main0_out main0(main0_in in [[stage_in]], constant uint* spvViewMask [[buffer(0)]], texture2d<float> uTex [[texture(0)]], sampler uTexSmplr [[sampler(0)]], uint gl_ViewIndex [[render_target_array_index]])
fragment main0_out main0(main0_in in [[stage_in]], constant uint* spvViewMask [[buffer(24)]], texture2d<float> uTex [[texture(0)]], sampler uTexSmplr [[sampler(0)]], uint gl_ViewIndex [[render_target_array_index]])
{
main0_out out = {};
spvUnsafeArray<float2, 4> vTex = {};

View File

@ -6,5 +6,6 @@ using namespace metal;
fragment void main0()
{
bool _9 = simd_is_helper_thread();
bool helper = _9;
}

View File

@ -60,7 +60,7 @@ struct main0_in
float4 Position [[attribute(0)]];
};
vertex main0_out main0(main0_in in [[stage_in]], constant uint* spvViewMask [[buffer(1)]], constant MVPs& _19 [[buffer(0)]], uint gl_InstanceIndex [[instance_id]])
vertex main0_out main0(main0_in in [[stage_in]], constant uint* spvViewMask [[buffer(24)]], constant MVPs& _19 [[buffer(0)]], uint gl_InstanceIndex [[instance_id]])
{
main0_out out = {};
uint gl_ViewIndex = spvViewMask[0] + gl_InstanceIndex % spvViewMask[1];

View File

@ -6,7 +6,7 @@ layout(binding = 0, std430) buffer SSBO
float data;
} _11;
float _183;
float _187;
void main()
{
@ -31,14 +31,14 @@ void main()
break;
}
}
float _180;
_180 = _183;
for (int _179 = 0; _179 < 20; )
float _184;
_184 = _187;
for (int _183 = 0; _183 < 20; )
{
_180 += 10.0;
_179++;
_184 += 10.0;
_183++;
continue;
}
_11.data = _180;
_11.data = _184;
}

View File

@ -14,19 +14,19 @@ layout(binding = 1, std430) writeonly buffer SSBO2
void main()
{
vec4 _57;
int _58;
_58 = 0;
_57 = _28.in_data[gl_GlobalInvocationID.x];
vec4 _59;
int _60;
_60 = 0;
_59 = _28.in_data[gl_GlobalInvocationID.x];
vec4 _42;
for (;;)
{
_42 = _28.mvp * _57;
int _44 = _58 + 1;
_42 = _28.mvp * _59;
int _44 = _60 + 1;
if (_44 < 16)
{
_58 = _44;
_57 = _42;
_60 = _44;
_59 = _42;
}
else
{

View File

@ -6,19 +6,19 @@ layout(binding = 0, std430) writeonly buffer SSBO
vec4 out_data[];
} _27;
vec4 _52;
vec4 _53;
void main()
{
vec4 _45 = _52;
_45.x = 10.0;
vec4 _47 = _45;
_47.y = 30.0;
vec4 _49 = _47;
_49.z = 70.0;
vec4 _51 = _49;
_51.w = 90.0;
_27.out_data[gl_GlobalInvocationID.x] = _51;
vec4 _46 = _53;
_46.x = 10.0;
vec4 _48 = _46;
_48.y = 30.0;
vec4 _50 = _48;
_50.z = 70.0;
vec4 _52 = _50;
_52.w = 90.0;
_27.out_data[gl_GlobalInvocationID.x] = _52;
_27.out_data[gl_GlobalInvocationID.x].y = 20.0;
}

View File

@ -14,27 +14,27 @@ layout(binding = 1, std430) writeonly buffer SSBO2
void main()
{
vec4 _99;
_99 = _24.in_data[gl_GlobalInvocationID.x];
for (int _93 = 0; (_93 + 1) < 10; )
vec4 _101;
_101 = _24.in_data[gl_GlobalInvocationID.x];
for (int _95 = 0; (_95 + 1) < 10; )
{
_99 *= 2.0;
_93 += 2;
_101 *= 2.0;
_95 += 2;
continue;
}
vec4 _98;
_98 = _99;
vec4 _103;
for (uint _94 = 0u; _94 < 16u; _98 = _103, _94++)
vec4 _100;
_100 = _101;
vec4 _105;
for (uint _96 = 0u; _96 < 16u; _100 = _105, _96++)
{
_103 = _98;
for (uint _100 = 0u; _100 < 30u; )
_105 = _100;
for (uint _102 = 0u; _102 < 30u; )
{
_103 = _24.mvp * _103;
_100++;
_105 = _24.mvp * _105;
_102++;
continue;
}
}
_89.out_data[gl_GlobalInvocationID.x] = _98;
_89.out_data[gl_GlobalInvocationID.x] = _100;
}

View File

@ -19,27 +19,17 @@ layout(set = 0, binding = 0, std430) restrict buffer LinkedList
void main()
{
Node _45;
Node _112;
if (gl_WorkGroupID.x < 4u)
{
_45 = _50.head1;
_112 = _50.head1;
}
else
{
_45 = _50.head2;
_112 = _50.head2;
}
restrict Node n = _45;
Node param = n.next;
Node param_1 = _50.head1;
Node param_2 = _50.head2;
param.value = param_1.value + param_2.value;
Node param_4 = _50.head1;
Node param_3 = param_4;
n = param_3;
int v = _50.head2.value;
n.value = 20;
n.value = v * 10;
uint64_t uptr = uint64_t(_50.head2.next);
Node unode = Node(uptr);
_112.next.value = _50.head1.value + _50.head2.value;
_50.head1.value = 20;
_50.head1.value = _50.head2.value * 10;
}

View File

@ -30,9 +30,10 @@ void main()
{
int16_t _196 = 10s;
int _197 = 20;
i8vec2 _198 = unpack8(_196);
i8vec4 _199 = unpack8(_197);
_196 = pack16(_198);
i8vec2 _201 = unpack8(10s);
i8vec2 _198 = _201;
i8vec4 _199 = unpack8(20);
_196 = pack16(_201);
_197 = pack32(_199);
ssbo.i8[0] = _199.x;
ssbo.i8[1] = _199.y;
@ -40,9 +41,10 @@ void main()
ssbo.i8[3] = _199.w;
uint16_t _220 = 10us;
uint _221 = 20u;
u8vec2 _222 = unpack8(_220);
u8vec4 _223 = unpack8(_221);
_220 = pack16(_222);
u8vec2 _225 = unpack8(10us);
u8vec2 _222 = _225;
u8vec4 _223 = unpack8(20u);
_220 = pack16(_225);
_221 = pack32(_223);
ssbo.u8[0] = _223.x;
ssbo.u8[1] = _223.y;
@ -50,20 +52,33 @@ void main()
ssbo.u8[3] = _223.w;
i8vec4 _246 = i8vec4(vColor);
i8vec4 _244 = _246;
_244 += i8vec4(registers.i8);
_244 += i8vec4(-40);
_244 += i8vec4(-50);
_244 += i8vec4(int8_t(10), int8_t(20), int8_t(30), int8_t(40));
_244 += i8vec4(ssbo.i8[4]);
_244 += i8vec4(ubo.i8);
FragColorInt = ivec4(_244);
u8vec4 _271 = u8vec4(_246);
_271 += u8vec4(registers.u8);
_271 += u8vec4(216);
_271 += u8vec4(206);
_271 += u8vec4(uint8_t(10), uint8_t(20), uint8_t(30), uint8_t(40));
_271 += u8vec4(ssbo.u8[4]);
_271 += u8vec4(ubo.u8);
FragColorUint = uvec4(_271);
i8vec4 _251 = _246 + i8vec4(registers.i8);
_244 = _251;
i8vec4 _254 = _251 + i8vec4(-40);
_244 = _254;
i8vec4 _256 = _254 + i8vec4(-50);
_244 = _256;
i8vec4 _258 = _256 + i8vec4(int8_t(10), int8_t(20), int8_t(30), int8_t(40));
_244 = _258;
i8vec4 _263 = _258 + i8vec4(ssbo.i8[4]);
_244 = _263;
i8vec4 _268 = _263 + i8vec4(ubo.i8);
_244 = _268;
FragColorInt = ivec4(_268);
u8vec4 _274 = u8vec4(_246);
u8vec4 _271 = _274;
u8vec4 _279 = _274 + u8vec4(registers.u8);
_271 = _279;
u8vec4 _282 = _279 + u8vec4(216);
_271 = _282;
u8vec4 _284 = _282 + u8vec4(206);
_271 = _284;
u8vec4 _286 = _284 + u8vec4(uint8_t(10), uint8_t(20), uint8_t(30), uint8_t(40));
_271 = _286;
u8vec4 _291 = _286 + u8vec4(ssbo.u8[4]);
_271 = _291;
u8vec4 _296 = _291 + u8vec4(ubo.u8);
_271 = _296;
FragColorUint = uvec4(_296);
}

View File

@ -4,6 +4,8 @@ struct ResType
int _m1;
};
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _19 : register(u0);
uint SPIRV_Cross_packHalf2x16(float2 value)

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer wo : register(u1);
ByteAddressBuffer ro : register(t0);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer WriteOnly : register(u2);
ByteAddressBuffer ReadOnly : register(t0);
RWByteAddressBuffer ReadWrite : register(u1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer ssbo : register(u2);
RWTexture2D<uint> uImage : register(u0);
RWTexture2D<int> iImage : register(u1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
globallycoherent RWByteAddressBuffer _29 : register(u3);
ByteAddressBuffer _33 : register(t2);
RWTexture2D<float> uImageIn : register(u0);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWTexture2D<float> uImageInF : register(u0);
RWTexture2D<float> uImageOutF : register(u1);
RWTexture2D<int> uImageInI : register(u2);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _15 : register(u0);
ByteAddressBuffer _20 : register(t1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _10 : register(u0);
cbuffer SPIRV_Cross_NumWorkgroups : register(b0)
{

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _10 : register(u0);
cbuffer SPIRV_Cross_NumWorkgroups : register(b0)
{

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _21 : register(u0);
ByteAddressBuffer _26 : register(t1);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _11 : register(u0);
void comp_main()

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _28 : register(u0);
cbuffer UBO : register(b1)
{

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _9 : register(u0);
void comp_main()

View File

@ -28,6 +28,7 @@ static const int d = (c + 50);
#define SPIRV_CROSS_CONSTANT_ID_3 400
#endif
static const int e = SPIRV_CROSS_CONSTANT_ID_3;
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _22 : register(u0);

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _11 : register(u1);
void comp_main()

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer ssbo0 : register(u0);
void comp_main()

View File

@ -1,3 +1,5 @@
static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _9 : register(u0, space0);
static uint4 gl_SubgroupEqMask;

View File

@ -15,13 +15,11 @@ uint2 spvTexelBufferCoord(uint tc)
template<typename T> struct spvRemoveReference { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&> { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&&> { typedef T type; };
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
{
return static_cast<thread T&&>(x);
}
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
{
return static_cast<thread T&&>(x);
}
@ -134,51 +132,51 @@ inline vec<T, 4> spvGatherCompareSwizzle(const thread Tex<T>& t, sampler s, uint
return t.gather_compare(s, spvForward<Ts>(params)...);
}
fragment void main0(constant uint* spvSwizzleConstants [[buffer(0)]], texture1d<float> tex1d [[texture(0)]], texture2d<float> tex2d [[texture(1)]], texture3d<float> tex3d [[texture(2)]], texturecube<float> texCube [[texture(3)]], texture2d_array<float> tex2dArray [[texture(4)]], texturecube_array<float> texCubeArray [[texture(5)]], depth2d<float> depth2d [[texture(6)]], depthcube<float> depthCube [[texture(7)]], depth2d_array<float> depth2dArray [[texture(8)]], depthcube_array<float> depthCubeArray [[texture(9)]], texture2d<float> texBuffer [[texture(10)]], sampler tex1dSamp [[sampler(0)]], sampler tex2dSamp [[sampler(1)]], sampler tex3dSamp [[sampler(2)]], sampler texCubeSamp [[sampler(3)]], sampler tex2dArraySamp [[sampler(4)]], sampler texCubeArraySamp [[sampler(5)]], sampler depth2dSamp [[sampler(6)]], sampler depthCubeSamp [[sampler(7)]], sampler depth2dArraySamp [[sampler(8)]], sampler depthCubeArraySamp [[sampler(9)]])
fragment void main0(constant uint* spvSwizzleConstants [[buffer(30)]], texture1d<float> tex1d [[texture(0)]], texture2d<float> tex2d [[texture(1)]], texture3d<float> tex3d [[texture(2)]], texturecube<float> texCube [[texture(3)]], texture2d_array<float> tex2dArray [[texture(4)]], texturecube_array<float> texCubeArray [[texture(5)]], depth2d<float> depth2d [[texture(6)]], depthcube<float> depthCube [[texture(7)]], depth2d_array<float> depth2dArray [[texture(8)]], depthcube_array<float> depthCubeArray [[texture(9)]], texture2d<float> texBuffer [[texture(10)]], sampler tex1dSamp [[sampler(0)]], sampler tex2dSamp [[sampler(1)]], sampler tex3dSamp [[sampler(2)]], sampler texCubeSamp [[sampler(3)]], sampler tex2dArraySamp [[sampler(4)]], sampler texCubeArraySamp [[sampler(5)]], sampler depth2dSamp [[sampler(6)]], sampler depthCubeSamp [[sampler(7)]], sampler depth2dArraySamp [[sampler(8)]], sampler depthCubeArraySamp [[sampler(9)]])
{
constant uint& tex1dSwzl = spvSwizzleConstants[11];
constant uint& tex2dSwzl = spvSwizzleConstants[12];
constant uint& tex3dSwzl = spvSwizzleConstants[13];
constant uint& texCubeSwzl = spvSwizzleConstants[14];
constant uint& tex2dArraySwzl = spvSwizzleConstants[15];
constant uint& texCubeArraySwzl = spvSwizzleConstants[16];
constant uint& depth2dSwzl = spvSwizzleConstants[17];
constant uint& depthCubeSwzl = spvSwizzleConstants[18];
constant uint& depth2dArraySwzl = spvSwizzleConstants[19];
constant uint& depthCubeArraySwzl = spvSwizzleConstants[20];
float4 c = tex1d.sample(tex1dSamp, 0.0);
c = tex2d.sample(tex2dSamp, float2(0.0));
c = tex3d.sample(tex3dSamp, float3(0.0));
c = texCube.sample(texCubeSamp, float3(0.0));
c = tex2dArray.sample(tex2dArraySamp, float3(0.0).xy, uint(round(float3(0.0).z)));
c = texCubeArray.sample(texCubeArraySamp, float4(0.0).xyz, uint(round(float4(0.0).w)));
c.x = depth2d.sample_compare(depth2dSamp, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z);
c.x = depthCube.sample_compare(depthCubeSamp, float4(0.0, 0.0, 0.0, 1.0).xyz, float4(0.0, 0.0, 0.0, 1.0).w);
c.x = depth2dArray.sample_compare(depth2dArraySamp, float4(0.0, 0.0, 0.0, 1.0).xy, uint(round(float4(0.0, 0.0, 0.0, 1.0).z)), float4(0.0, 0.0, 0.0, 1.0).w);
c.x = depthCubeArray.sample_compare(depthCubeArraySamp, float4(0.0).xyz, uint(round(float4(0.0).w)), 1.0);
c = tex1d.sample(tex1dSamp, float2(0.0, 1.0).x / float2(0.0, 1.0).y);
c = tex2d.sample(tex2dSamp, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z);
c = tex3d.sample(tex3dSamp, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w);
constant uint& tex1dSwzl = spvSwizzleConstants[0];
constant uint& tex2dSwzl = spvSwizzleConstants[1];
constant uint& tex3dSwzl = spvSwizzleConstants[2];
constant uint& texCubeSwzl = spvSwizzleConstants[3];
constant uint& tex2dArraySwzl = spvSwizzleConstants[4];
constant uint& texCubeArraySwzl = spvSwizzleConstants[5];
constant uint& depth2dSwzl = spvSwizzleConstants[6];
constant uint& depthCubeSwzl = spvSwizzleConstants[7];
constant uint& depth2dArraySwzl = spvSwizzleConstants[8];
constant uint& depthCubeArraySwzl = spvSwizzleConstants[9];
float4 c = spvTextureSwizzle(tex1d.sample(tex1dSamp, 0.0), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSamp, float2(0.0)), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSamp, float3(0.0)), tex3dSwzl);
c = spvTextureSwizzle(texCube.sample(texCubeSamp, float3(0.0)), texCubeSwzl);
c = spvTextureSwizzle(tex2dArray.sample(tex2dArraySamp, float3(0.0).xy, uint(round(float3(0.0).z))), tex2dArraySwzl);
c = spvTextureSwizzle(texCubeArray.sample(texCubeArraySamp, float4(0.0).xyz, uint(round(float4(0.0).w))), texCubeArraySwzl);
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSamp, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z), depth2dSwzl);
c.x = spvTextureSwizzle(depthCube.sample_compare(depthCubeSamp, float4(0.0, 0.0, 0.0, 1.0).xyz, float4(0.0, 0.0, 0.0, 1.0).w), depthCubeSwzl);
c.x = spvTextureSwizzle(depth2dArray.sample_compare(depth2dArraySamp, float4(0.0, 0.0, 0.0, 1.0).xy, uint(round(float4(0.0, 0.0, 0.0, 1.0).z)), float4(0.0, 0.0, 0.0, 1.0).w), depth2dArraySwzl);
c.x = spvTextureSwizzle(depthCubeArray.sample_compare(depthCubeArraySamp, float4(0.0).xyz, uint(round(float4(0.0).w)), 1.0), depthCubeArraySwzl);
c = spvTextureSwizzle(tex1d.sample(tex1dSamp, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSamp, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSamp, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w), tex3dSwzl);
float4 _152 = float4(0.0, 0.0, 1.0, 1.0);
_152.z = float4(0.0, 0.0, 1.0, 1.0).w;
c.x = depth2d.sample_compare(depth2dSamp, _152.xy / _152.z, float4(0.0, 0.0, 1.0, 1.0).z / _152.z);
c = tex1d.sample(tex1dSamp, 0.0);
c = tex2d.sample(tex2dSamp, float2(0.0), level(0.0));
c = tex3d.sample(tex3dSamp, float3(0.0), level(0.0));
c = texCube.sample(texCubeSamp, float3(0.0), level(0.0));
c = tex2dArray.sample(tex2dArraySamp, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0));
c = texCubeArray.sample(texCubeArraySamp, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0));
c.x = depth2d.sample_compare(depth2dSamp, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z, level(0.0));
c = tex1d.sample(tex1dSamp, float2(0.0, 1.0).x / float2(0.0, 1.0).y);
c = tex2d.sample(tex2dSamp, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0));
c = tex3d.sample(tex3dSamp, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0));
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSamp, _152.xy / _152.z, float4(0.0, 0.0, 1.0, 1.0).z / _152.z), depth2dSwzl);
c = spvTextureSwizzle(tex1d.sample(tex1dSamp, 0.0), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSamp, float2(0.0), level(0.0)), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSamp, float3(0.0), level(0.0)), tex3dSwzl);
c = spvTextureSwizzle(texCube.sample(texCubeSamp, float3(0.0), level(0.0)), texCubeSwzl);
c = spvTextureSwizzle(tex2dArray.sample(tex2dArraySamp, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0)), tex2dArraySwzl);
c = spvTextureSwizzle(texCubeArray.sample(texCubeArraySamp, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0)), texCubeArraySwzl);
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSamp, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z, level(0.0)), depth2dSwzl);
c = spvTextureSwizzle(tex1d.sample(tex1dSamp, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSamp, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0)), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSamp, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0)), tex3dSwzl);
float4 _202 = float4(0.0, 0.0, 1.0, 1.0);
_202.z = float4(0.0, 0.0, 1.0, 1.0).w;
c.x = depth2d.sample_compare(depth2dSamp, _202.xy / _202.z, float4(0.0, 0.0, 1.0, 1.0).z / _202.z, level(0.0));
c = tex1d.read(uint(0));
c = tex2d.read(uint2(int2(0)), 0);
c = tex3d.read(uint3(int3(0)), 0);
c = tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0);
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSamp, _202.xy / _202.z, float4(0.0, 0.0, 1.0, 1.0).z / _202.z, level(0.0)), depth2dSwzl);
c = spvTextureSwizzle(tex1d.read(uint(0)), tex1dSwzl);
c = spvTextureSwizzle(tex2d.read(uint2(int2(0)), 0), tex2dSwzl);
c = spvTextureSwizzle(tex3d.read(uint3(int3(0)), 0), tex3dSwzl);
c = spvTextureSwizzle(tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0), tex2dArraySwzl);
c = texBuffer.read(spvTexelBufferCoord(0));
c = spvGatherSwizzle(tex2d, tex2dSamp, tex2dSwzl, component::x, float2(0.0), int2(0));
c = spvGatherSwizzle(texCube, texCubeSamp, texCubeSwzl, component::y, float3(0.0));

View File

@ -24,6 +24,8 @@ struct ResType
int _m1;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
// Implementation of the GLSL radians() function
template<typename T>
inline T radians(T d)

View File

@ -55,6 +55,8 @@ struct SSBO2
spvUnsafeArray<float4, 1> out_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(const device SSBO& _24 [[buffer(0)]], device SSBO2& _177 [[buffer(1)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
uint ident = gl_GlobalInvocationID.x;

View File

@ -49,6 +49,8 @@ struct SSBO2
spvUnsafeArray<float4, 1> out_data;
};
constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
kernel void main0(device SSBO2& _27 [[buffer(0)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
{
uint ident = gl_GlobalInvocationID.x;

View File

@ -15,13 +15,11 @@ uint2 spvTexelBufferCoord(uint tc)
template<typename T> struct spvRemoveReference { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&> { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&&> { typedef T type; };
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
{
return static_cast<thread T&&>(x);
}
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
{
return static_cast<thread T&&>(x);
}
@ -111,36 +109,36 @@ inline vec<T, 4> spvGatherSwizzle(const thread Tex<T>& t, sampler s, uint sw, co
}
}
fragment void main0(constant uint* spvSwizzleConstants [[buffer(0)]], texture1d<int> tex1d [[texture(0)]], texture2d<int> tex2d [[texture(1)]], texture3d<int> tex3d [[texture(2)]], texturecube<int> texCube [[texture(3)]], texture2d_array<int> tex2dArray [[texture(4)]], texturecube_array<int> texCubeArray [[texture(5)]], texture2d<int> texBuffer [[texture(6)]], sampler tex1dSmplr [[sampler(0)]], sampler tex2dSmplr [[sampler(1)]], sampler tex3dSmplr [[sampler(2)]], sampler texCubeSmplr [[sampler(3)]], sampler tex2dArraySmplr [[sampler(4)]], sampler texCubeArraySmplr [[sampler(5)]])
fragment void main0(constant uint* spvSwizzleConstants [[buffer(30)]], texture1d<int> tex1d [[texture(0)]], texture2d<int> tex2d [[texture(1)]], texture3d<int> tex3d [[texture(2)]], texturecube<int> texCube [[texture(3)]], texture2d_array<int> tex2dArray [[texture(4)]], texturecube_array<int> texCubeArray [[texture(5)]], texture2d<int> texBuffer [[texture(6)]], sampler tex1dSmplr [[sampler(0)]], sampler tex2dSmplr [[sampler(1)]], sampler tex3dSmplr [[sampler(2)]], sampler texCubeSmplr [[sampler(3)]], sampler tex2dArraySmplr [[sampler(4)]], sampler texCubeArraySmplr [[sampler(5)]])
{
constant uint& tex1dSwzl = spvSwizzleConstants[7];
constant uint& tex2dSwzl = spvSwizzleConstants[8];
constant uint& tex3dSwzl = spvSwizzleConstants[9];
constant uint& texCubeSwzl = spvSwizzleConstants[10];
constant uint& tex2dArraySwzl = spvSwizzleConstants[11];
constant uint& texCubeArraySwzl = spvSwizzleConstants[12];
float4 c = float4(tex1d.sample(tex1dSmplr, 0.0));
c = float4(tex2d.sample(tex2dSmplr, float2(0.0)));
c = float4(tex3d.sample(tex3dSmplr, float3(0.0)));
c = float4(texCube.sample(texCubeSmplr, float3(0.0)));
c = float4(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z))));
c = float4(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w))));
c = float4(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y));
c = float4(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z));
c = float4(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w));
c = float4(tex1d.sample(tex1dSmplr, 0.0));
c = float4(tex2d.sample(tex2dSmplr, float2(0.0), level(0.0)));
c = float4(tex3d.sample(tex3dSmplr, float3(0.0), level(0.0)));
c = float4(texCube.sample(texCubeSmplr, float3(0.0), level(0.0)));
c = float4(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0)));
c = float4(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0)));
c = float4(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y));
c = float4(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0)));
c = float4(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0)));
c = float4(tex1d.read(uint(0)));
c = float4(tex2d.read(uint2(int2(0)), 0));
c = float4(tex3d.read(uint3(int3(0)), 0));
c = float4(tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0));
constant uint& tex1dSwzl = spvSwizzleConstants[0];
constant uint& tex2dSwzl = spvSwizzleConstants[1];
constant uint& tex3dSwzl = spvSwizzleConstants[2];
constant uint& texCubeSwzl = spvSwizzleConstants[3];
constant uint& tex2dArraySwzl = spvSwizzleConstants[4];
constant uint& texCubeArraySwzl = spvSwizzleConstants[5];
float4 c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, 0.0), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float2(0.0)), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float3(0.0)), tex3dSwzl));
c = float4(spvTextureSwizzle(texCube.sample(texCubeSmplr, float3(0.0)), texCubeSwzl));
c = float4(spvTextureSwizzle(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z))), tex2dArraySwzl));
c = float4(spvTextureSwizzle(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w))), texCubeArraySwzl));
c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w), tex3dSwzl));
c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, 0.0), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float2(0.0), level(0.0)), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float3(0.0), level(0.0)), tex3dSwzl));
c = float4(spvTextureSwizzle(texCube.sample(texCubeSmplr, float3(0.0), level(0.0)), texCubeSwzl));
c = float4(spvTextureSwizzle(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0)), tex2dArraySwzl));
c = float4(spvTextureSwizzle(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0)), texCubeArraySwzl));
c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0)), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0)), tex3dSwzl));
c = float4(spvTextureSwizzle(tex1d.read(uint(0)), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.read(uint2(int2(0)), 0), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.read(uint3(int3(0)), 0), tex3dSwzl));
c = float4(spvTextureSwizzle(tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0), tex2dArraySwzl));
c = float4(texBuffer.read(spvTexelBufferCoord(0)));
c = float4(spvGatherSwizzle(tex2d, tex2dSmplr, tex2dSwzl, component::x, float2(0.0), int2(0)));
c = float4(spvGatherSwizzle(texCube, texCubeSmplr, texCubeSwzl, component::y, float3(0.0)));

View File

@ -15,13 +15,11 @@ uint2 spvTexelBufferCoord(uint tc)
template<typename T> struct spvRemoveReference { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&> { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&&> { typedef T type; };
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
{
return static_cast<thread T&&>(x);
}
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
{
return static_cast<thread T&&>(x);
}
@ -137,39 +135,39 @@ inline vec<T, 4> spvGatherCompareSwizzle(const thread Tex<T>& t, sampler s, uint
static inline __attribute__((always_inline))
float4 doSwizzle(thread texture1d<float> tex1d, thread const sampler tex1dSmplr, constant uint& tex1dSwzl, thread texture2d<float> tex2d, thread const sampler tex2dSmplr, constant uint& tex2dSwzl, thread texture3d<float> tex3d, thread const sampler tex3dSmplr, constant uint& tex3dSwzl, thread texturecube<float> texCube, thread const sampler texCubeSmplr, constant uint& texCubeSwzl, thread texture2d_array<float> tex2dArray, thread const sampler tex2dArraySmplr, constant uint& tex2dArraySwzl, thread texturecube_array<float> texCubeArray, thread const sampler texCubeArraySmplr, constant uint& texCubeArraySwzl, thread depth2d<float> depth2d, thread const sampler depth2dSmplr, constant uint& depth2dSwzl, thread depthcube<float> depthCube, thread const sampler depthCubeSmplr, constant uint& depthCubeSwzl, thread depth2d_array<float> depth2dArray, thread const sampler depth2dArraySmplr, constant uint& depth2dArraySwzl, thread depthcube_array<float> depthCubeArray, thread const sampler depthCubeArraySmplr, constant uint& depthCubeArraySwzl, thread texture2d<float> texBuffer)
{
float4 c = tex1d.sample(tex1dSmplr, 0.0);
c = tex2d.sample(tex2dSmplr, float2(0.0));
c = tex3d.sample(tex3dSmplr, float3(0.0));
c = texCube.sample(texCubeSmplr, float3(0.0));
c = tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z)));
c = texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)));
c.x = depth2d.sample_compare(depth2dSmplr, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z);
c.x = depthCube.sample_compare(depthCubeSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz, float4(0.0, 0.0, 0.0, 1.0).w);
c.x = depth2dArray.sample_compare(depth2dArraySmplr, float4(0.0, 0.0, 0.0, 1.0).xy, uint(round(float4(0.0, 0.0, 0.0, 1.0).z)), float4(0.0, 0.0, 0.0, 1.0).w);
c.x = depthCubeArray.sample_compare(depthCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), 1.0);
c = tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y);
c = tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z);
c = tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w);
float4 c = spvTextureSwizzle(tex1d.sample(tex1dSmplr, 0.0), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSmplr, float2(0.0)), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSmplr, float3(0.0)), tex3dSwzl);
c = spvTextureSwizzle(texCube.sample(texCubeSmplr, float3(0.0)), texCubeSwzl);
c = spvTextureSwizzle(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z))), tex2dArraySwzl);
c = spvTextureSwizzle(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w))), texCubeArraySwzl);
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSmplr, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z), depth2dSwzl);
c.x = spvTextureSwizzle(depthCube.sample_compare(depthCubeSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz, float4(0.0, 0.0, 0.0, 1.0).w), depthCubeSwzl);
c.x = spvTextureSwizzle(depth2dArray.sample_compare(depth2dArraySmplr, float4(0.0, 0.0, 0.0, 1.0).xy, uint(round(float4(0.0, 0.0, 0.0, 1.0).z)), float4(0.0, 0.0, 0.0, 1.0).w), depth2dArraySwzl);
c.x = spvTextureSwizzle(depthCubeArray.sample_compare(depthCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), 1.0), depthCubeArraySwzl);
c = spvTextureSwizzle(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w), tex3dSwzl);
float4 _103 = float4(0.0, 0.0, 1.0, 1.0);
_103.z = float4(0.0, 0.0, 1.0, 1.0).w;
c.x = depth2d.sample_compare(depth2dSmplr, _103.xy / _103.z, float4(0.0, 0.0, 1.0, 1.0).z / _103.z);
c = tex1d.sample(tex1dSmplr, 0.0);
c = tex2d.sample(tex2dSmplr, float2(0.0), level(0.0));
c = tex3d.sample(tex3dSmplr, float3(0.0), level(0.0));
c = texCube.sample(texCubeSmplr, float3(0.0), level(0.0));
c = tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0));
c = texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0));
c.x = depth2d.sample_compare(depth2dSmplr, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z, level(0.0));
c = tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y);
c = tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0));
c = tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0));
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSmplr, _103.xy / _103.z, float4(0.0, 0.0, 1.0, 1.0).z / _103.z), depth2dSwzl);
c = spvTextureSwizzle(tex1d.sample(tex1dSmplr, 0.0), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSmplr, float2(0.0), level(0.0)), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSmplr, float3(0.0), level(0.0)), tex3dSwzl);
c = spvTextureSwizzle(texCube.sample(texCubeSmplr, float3(0.0), level(0.0)), texCubeSwzl);
c = spvTextureSwizzle(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0)), tex2dArraySwzl);
c = spvTextureSwizzle(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0)), texCubeArraySwzl);
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSmplr, float3(0.0, 0.0, 1.0).xy, float3(0.0, 0.0, 1.0).z, level(0.0)), depth2dSwzl);
c = spvTextureSwizzle(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl);
c = spvTextureSwizzle(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0)), tex2dSwzl);
c = spvTextureSwizzle(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0)), tex3dSwzl);
float4 _131 = float4(0.0, 0.0, 1.0, 1.0);
_131.z = float4(0.0, 0.0, 1.0, 1.0).w;
c.x = depth2d.sample_compare(depth2dSmplr, _131.xy / _131.z, float4(0.0, 0.0, 1.0, 1.0).z / _131.z, level(0.0));
c = tex1d.read(uint(0));
c = tex2d.read(uint2(int2(0)), 0);
c = tex3d.read(uint3(int3(0)), 0);
c = tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0);
c.x = spvTextureSwizzle(depth2d.sample_compare(depth2dSmplr, _131.xy / _131.z, float4(0.0, 0.0, 1.0, 1.0).z / _131.z, level(0.0)), depth2dSwzl);
c = spvTextureSwizzle(tex1d.read(uint(0)), tex1dSwzl);
c = spvTextureSwizzle(tex2d.read(uint2(int2(0)), 0), tex2dSwzl);
c = spvTextureSwizzle(tex3d.read(uint3(int3(0)), 0), tex3dSwzl);
c = spvTextureSwizzle(tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0), tex2dArraySwzl);
c = texBuffer.read(spvTexelBufferCoord(0));
c = spvGatherSwizzle(tex2d, tex2dSmplr, tex2dSwzl, component::x, float2(0.0), int2(0));
c = spvGatherSwizzle(texCube, texCubeSmplr, texCubeSwzl, component::y, float3(0.0));
@ -182,18 +180,18 @@ float4 doSwizzle(thread texture1d<float> tex1d, thread const sampler tex1dSmplr,
return c;
}
fragment void main0(constant uint* spvSwizzleConstants [[buffer(0)]], texture1d<float> tex1d [[texture(0)]], texture2d<float> tex2d [[texture(1)]], texture3d<float> tex3d [[texture(2)]], texturecube<float> texCube [[texture(3)]], texture2d_array<float> tex2dArray [[texture(4)]], texturecube_array<float> texCubeArray [[texture(5)]], depth2d<float> depth2d [[texture(6)]], depthcube<float> depthCube [[texture(7)]], depth2d_array<float> depth2dArray [[texture(8)]], depthcube_array<float> depthCubeArray [[texture(9)]], texture2d<float> texBuffer [[texture(10)]], sampler tex1dSmplr [[sampler(0)]], sampler tex2dSmplr [[sampler(1)]], sampler tex3dSmplr [[sampler(2)]], sampler texCubeSmplr [[sampler(3)]], sampler tex2dArraySmplr [[sampler(4)]], sampler texCubeArraySmplr [[sampler(5)]], sampler depth2dSmplr [[sampler(6)]], sampler depthCubeSmplr [[sampler(7)]], sampler depth2dArraySmplr [[sampler(8)]], sampler depthCubeArraySmplr [[sampler(9)]])
fragment void main0(constant uint* spvSwizzleConstants [[buffer(30)]], texture1d<float> tex1d [[texture(0)]], texture2d<float> tex2d [[texture(1)]], texture3d<float> tex3d [[texture(2)]], texturecube<float> texCube [[texture(3)]], texture2d_array<float> tex2dArray [[texture(4)]], texturecube_array<float> texCubeArray [[texture(5)]], depth2d<float> depth2d [[texture(6)]], depthcube<float> depthCube [[texture(7)]], depth2d_array<float> depth2dArray [[texture(8)]], depthcube_array<float> depthCubeArray [[texture(9)]], texture2d<float> texBuffer [[texture(10)]], sampler tex1dSmplr [[sampler(0)]], sampler tex2dSmplr [[sampler(1)]], sampler tex3dSmplr [[sampler(2)]], sampler texCubeSmplr [[sampler(3)]], sampler tex2dArraySmplr [[sampler(4)]], sampler texCubeArraySmplr [[sampler(5)]], sampler depth2dSmplr [[sampler(6)]], sampler depthCubeSmplr [[sampler(7)]], sampler depth2dArraySmplr [[sampler(8)]], sampler depthCubeArraySmplr [[sampler(9)]])
{
constant uint& tex1dSwzl = spvSwizzleConstants[11];
constant uint& tex2dSwzl = spvSwizzleConstants[12];
constant uint& tex3dSwzl = spvSwizzleConstants[13];
constant uint& texCubeSwzl = spvSwizzleConstants[14];
constant uint& tex2dArraySwzl = spvSwizzleConstants[15];
constant uint& texCubeArraySwzl = spvSwizzleConstants[16];
constant uint& depth2dSwzl = spvSwizzleConstants[17];
constant uint& depthCubeSwzl = spvSwizzleConstants[18];
constant uint& depth2dArraySwzl = spvSwizzleConstants[19];
constant uint& depthCubeArraySwzl = spvSwizzleConstants[20];
constant uint& tex1dSwzl = spvSwizzleConstants[0];
constant uint& tex2dSwzl = spvSwizzleConstants[1];
constant uint& tex3dSwzl = spvSwizzleConstants[2];
constant uint& texCubeSwzl = spvSwizzleConstants[3];
constant uint& tex2dArraySwzl = spvSwizzleConstants[4];
constant uint& texCubeArraySwzl = spvSwizzleConstants[5];
constant uint& depth2dSwzl = spvSwizzleConstants[6];
constant uint& depthCubeSwzl = spvSwizzleConstants[7];
constant uint& depth2dArraySwzl = spvSwizzleConstants[8];
constant uint& depthCubeArraySwzl = spvSwizzleConstants[9];
float4 c = doSwizzle(tex1d, tex1dSmplr, tex1dSwzl, tex2d, tex2dSmplr, tex2dSwzl, tex3d, tex3dSmplr, tex3dSwzl, texCube, texCubeSmplr, texCubeSwzl, tex2dArray, tex2dArraySmplr, tex2dArraySwzl, texCubeArray, texCubeArraySmplr, texCubeArraySwzl, depth2d, depth2dSmplr, depth2dSwzl, depthCube, depthCubeSmplr, depthCubeSwzl, depth2dArray, depth2dArraySmplr, depth2dArraySwzl, depthCubeArray, depthCubeArraySmplr, depthCubeArraySwzl, texBuffer);
}

View File

@ -15,13 +15,11 @@ uint2 spvTexelBufferCoord(uint tc)
template<typename T> struct spvRemoveReference { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&> { typedef T type; };
template<typename T> struct spvRemoveReference<thread T&&> { typedef T type; };
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type& x)
{
return static_cast<thread T&&>(x);
}
template<typename T>
inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
template<typename T> inline constexpr thread T&& spvForward(thread typename spvRemoveReference<T>::type&& x)
{
return static_cast<thread T&&>(x);
}
@ -111,36 +109,36 @@ inline vec<T, 4> spvGatherSwizzle(const thread Tex<T>& t, sampler s, uint sw, co
}
}
fragment void main0(constant uint* spvSwizzleConstants [[buffer(0)]], texture1d<uint> tex1d [[texture(0)]], texture2d<uint> tex2d [[texture(1)]], texture3d<uint> tex3d [[texture(2)]], texturecube<uint> texCube [[texture(3)]], texture2d_array<uint> tex2dArray [[texture(4)]], texturecube_array<uint> texCubeArray [[texture(5)]], texture2d<uint> texBuffer [[texture(6)]], sampler tex1dSmplr [[sampler(0)]], sampler tex2dSmplr [[sampler(1)]], sampler tex3dSmplr [[sampler(2)]], sampler texCubeSmplr [[sampler(3)]], sampler tex2dArraySmplr [[sampler(4)]], sampler texCubeArraySmplr [[sampler(5)]])
fragment void main0(constant uint* spvSwizzleConstants [[buffer(30)]], texture1d<uint> tex1d [[texture(0)]], texture2d<uint> tex2d [[texture(1)]], texture3d<uint> tex3d [[texture(2)]], texturecube<uint> texCube [[texture(3)]], texture2d_array<uint> tex2dArray [[texture(4)]], texturecube_array<uint> texCubeArray [[texture(5)]], texture2d<uint> texBuffer [[texture(6)]], sampler tex1dSmplr [[sampler(0)]], sampler tex2dSmplr [[sampler(1)]], sampler tex3dSmplr [[sampler(2)]], sampler texCubeSmplr [[sampler(3)]], sampler tex2dArraySmplr [[sampler(4)]], sampler texCubeArraySmplr [[sampler(5)]])
{
constant uint& tex1dSwzl = spvSwizzleConstants[7];
constant uint& tex2dSwzl = spvSwizzleConstants[8];
constant uint& tex3dSwzl = spvSwizzleConstants[9];
constant uint& texCubeSwzl = spvSwizzleConstants[10];
constant uint& tex2dArraySwzl = spvSwizzleConstants[11];
constant uint& texCubeArraySwzl = spvSwizzleConstants[12];
float4 c = float4(tex1d.sample(tex1dSmplr, 0.0));
c = float4(tex2d.sample(tex2dSmplr, float2(0.0)));
c = float4(tex3d.sample(tex3dSmplr, float3(0.0)));
c = float4(texCube.sample(texCubeSmplr, float3(0.0)));
c = float4(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z))));
c = float4(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w))));
c = float4(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y));
c = float4(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z));
c = float4(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w));
c = float4(tex1d.sample(tex1dSmplr, 0.0));
c = float4(tex2d.sample(tex2dSmplr, float2(0.0), level(0.0)));
c = float4(tex3d.sample(tex3dSmplr, float3(0.0), level(0.0)));
c = float4(texCube.sample(texCubeSmplr, float3(0.0), level(0.0)));
c = float4(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0)));
c = float4(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0)));
c = float4(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y));
c = float4(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0)));
c = float4(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0)));
c = float4(tex1d.read(uint(0)));
c = float4(tex2d.read(uint2(int2(0)), 0));
c = float4(tex3d.read(uint3(int3(0)), 0));
c = float4(tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0));
constant uint& tex1dSwzl = spvSwizzleConstants[0];
constant uint& tex2dSwzl = spvSwizzleConstants[1];
constant uint& tex3dSwzl = spvSwizzleConstants[2];
constant uint& texCubeSwzl = spvSwizzleConstants[3];
constant uint& tex2dArraySwzl = spvSwizzleConstants[4];
constant uint& texCubeArraySwzl = spvSwizzleConstants[5];
float4 c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, 0.0), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float2(0.0)), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float3(0.0)), tex3dSwzl));
c = float4(spvTextureSwizzle(texCube.sample(texCubeSmplr, float3(0.0)), texCubeSwzl));
c = float4(spvTextureSwizzle(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z))), tex2dArraySwzl));
c = float4(spvTextureSwizzle(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w))), texCubeArraySwzl));
c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w), tex3dSwzl));
c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, 0.0), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float2(0.0), level(0.0)), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float3(0.0), level(0.0)), tex3dSwzl));
c = float4(spvTextureSwizzle(texCube.sample(texCubeSmplr, float3(0.0), level(0.0)), texCubeSwzl));
c = float4(spvTextureSwizzle(tex2dArray.sample(tex2dArraySmplr, float3(0.0).xy, uint(round(float3(0.0).z)), level(0.0)), tex2dArraySwzl));
c = float4(spvTextureSwizzle(texCubeArray.sample(texCubeArraySmplr, float4(0.0).xyz, uint(round(float4(0.0).w)), level(0.0)), texCubeArraySwzl));
c = float4(spvTextureSwizzle(tex1d.sample(tex1dSmplr, float2(0.0, 1.0).x / float2(0.0, 1.0).y), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.sample(tex2dSmplr, float3(0.0, 0.0, 1.0).xy / float3(0.0, 0.0, 1.0).z, level(0.0)), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.sample(tex3dSmplr, float4(0.0, 0.0, 0.0, 1.0).xyz / float4(0.0, 0.0, 0.0, 1.0).w, level(0.0)), tex3dSwzl));
c = float4(spvTextureSwizzle(tex1d.read(uint(0)), tex1dSwzl));
c = float4(spvTextureSwizzle(tex2d.read(uint2(int2(0)), 0), tex2dSwzl));
c = float4(spvTextureSwizzle(tex3d.read(uint3(int3(0)), 0), tex3dSwzl));
c = float4(spvTextureSwizzle(tex2dArray.read(uint2(int3(0).xy), uint(int3(0).z), 0), tex2dArraySwzl));
c = float4(texBuffer.read(spvTexelBufferCoord(0)));
c = float4(spvGatherSwizzle(tex2d, tex2dSmplr, tex2dSwzl, component::x, float2(0.0), int2(0)));
c = float4(spvGatherSwizzle(texCube, texCubeSmplr, texCubeSwzl, component::y, float3(0.0)));

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