SPIRV-Cross/reference/opt/shaders-hlsl/comp/rwbuffer-matrix.comp
2019-09-24 18:13:04 -04:00

94 lines
4.2 KiB
Plaintext

static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);
RWByteAddressBuffer _28 : register(u0);
cbuffer UBO : register(b1)
{
int _68_index0 : packoffset(c0);
int _68_index1 : packoffset(c0.y);
};
void comp_main()
{
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));
_28.Store(_68_index0 * 4 + _68_index1 * 16 + 240, asuint(4.0f));
_28.Store(_68_index0 * 4 + 64, asuint(1.0f.x));
_28.Store(_68_index0 * 4 + 80, asuint(1.0f.xxxx.y));
_28.Store(_68_index0 * 4 + 96, asuint(1.0f.xxxx.z));
_28.Store(_68_index0 * 4 + 112, asuint(1.0f.xxxx.w));
_28.Store(_68_index0 * 4 + 144, asuint(2.0f.x));
_28.Store(_68_index0 * 4 + 152, asuint(2.0f.xx.y));
_28.Store(_68_index0 * 4 + 192, asuint(3.0f.x));
_28.Store(_68_index0 * 4 + 200, asuint(3.0f.xxx.y));
_28.Store(_68_index0 * 4 + 208, asuint(3.0f.xxx.z));
_28.Store(_68_index0 * 4 + 240, asuint(4.0f.x));
_28.Store(_68_index0 * 4 + 256, asuint(4.0f.xx.y));
_28.Store(_68_index0 * 16 + _68_index1 * 4 + 0, asuint(1.0f));
_28.Store(_68_index0 * 8 + _68_index1 * 4 + 128, asuint(2.0f));
_28.Store(_68_index0 * 16 + _68_index1 * 4 + 160, asuint(3.0f));
_28.Store(_68_index0 * 8 + _68_index1 * 4 + 216, asuint(4.0f));
_28.Store4(_68_index0 * 16 + 0, asuint(1.0f.xxxx));
_28.Store2(_68_index0 * 8 + 128, asuint(2.0f.xx));
_28.Store3(_68_index0 * 16 + 160, asuint(3.0f.xxx));
_28.Store2(_68_index0 * 8 + 216, asuint(4.0f.xx));
}
[numthreads(1, 1, 1)]
void main()
{
comp_main();
}