#version 460
#extension GL_EXT_scalar_block_layout : require
layout(local_size_x = 128, local_size_y = 1, local_size_z = 1) in;

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

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

void main()
{
    vec3 _26 = uintBitsToFloat(_10._m0[gl_GlobalInvocationID.x]);
    _14._m0[gl_GlobalInvocationID.x] = uvec3(floatBitsToUint(_26.x), floatBitsToUint(_26.y), floatBitsToUint(_26.z));
}


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