#version 460
layout(local_size_x = 2, local_size_y = 1, local_size_z = 1) in;

layout(set = 0, binding = 0, std430) readonly buffer SSBO
{
    dvec4 _m0[];
} _10;

layout(set = 0, binding = 1, std430) writeonly buffer _12_14
{
    dvec4 _m0[];
} _14;

void main()
{
    _14._m0[gl_GlobalInvocationID.x] = dvec4(_10._m0[gl_GlobalInvocationID.x]);
}


#if 0
// SPIR-V disassembly
; SPIR-V
; Version: 1.3
; Generator: Unknown(30017); 21022
; Bound: 34
; Schema: 0
OpCapability Shader
OpCapability Float64
OpCapability DenormPreserve
OpExtension "SPV_KHR_float_controls"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %3 "main" %18
OpExecutionMode %3 LocalSize 2 1 1
OpExecutionMode %3 DenormPreserve 64
OpName %3 "main"
OpName %8 "SSBO"
OpName %12 "SSBO"
OpDecorate %7 ArrayStride 32
OpMemberDecorate %8 0 Offset 0
OpDecorate %8 Block
OpDecorate %10 DescriptorSet 0
OpDecorate %10 Binding 0
OpDecorate %10 NonWritable
OpDecorate %11 ArrayStride 32
OpMemberDecorate %12 0 Offset 0
OpDecorate %12 Block
OpDecorate %14 DescriptorSet 0
OpDecorate %14 Binding 1
OpDecorate %14 NonReadable
OpDecorate %18 BuiltIn GlobalInvocationId
%1 = OpTypeVoid
%2 = OpTypeFunction %1
%5 = OpTypeFloat 64
%6 = OpTypeVector %5 4
%7 = OpTypeRuntimeArray %6
%8 = OpTypeStruct %7
%9 = OpTypePointer StorageBuffer %8
%10 = OpVariable %9 StorageBuffer
%11 = OpTypeRuntimeArray %6
%12 = OpTypeStruct %11
%13 = OpTypePointer StorageBuffer %12
%14 = OpVariable %13 StorageBuffer
%15 = OpTypeInt 32 0
%16 = OpTypeVector %15 3
%17 = OpTypePointer Input %16
%18 = OpVariable %17 Input
%19 = OpTypePointer Input %15
%21 = OpConstant %15 0
%23 = OpTypePointer StorageBuffer %6
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %32
%32 = OpLabel
%20 = OpAccessChain %19 %18 %21
%22 = OpLoad %15 %20
%24 = OpAccessChain %23 %10 %21 %22
%25 = OpLoad %6 %24
%26 = OpCompositeExtract %5 %25 0
%27 = OpCompositeExtract %5 %25 1
%28 = OpCompositeExtract %5 %25 2
%29 = OpCompositeExtract %5 %25 3
%30 = OpCompositeConstruct %6 %26 %27 %28 %29
%31 = OpAccessChain %23 %14 %21 %22
OpStore %31 %30
OpReturn
OpFunctionEnd
#endif
