1[require] 2VK_KHR_spirv_1_4 3 4[compute shader spirv] 5; Tests copying smaller array stride to larger array stride. 6 7OpCapability Shader 8OpMemoryModel Logical GLSL450 9OpEntryPoint GLCompute %main "main" %in_var %out_var 10OpExecutionMode %main LocalSize 1 1 1 11OpDecorate %struct_stride_4 Block 12OpMemberDecorate %struct_stride_4 0 Offset 0 13OpDecorate %struct_stride_8 Block 14OpMemberDecorate %struct_stride_8 0 Offset 0 15OpDecorate %in_var DescriptorSet 0 16OpDecorate %in_var Binding 0 17OpDecorate %out_var DescriptorSet 0 18OpDecorate %out_var Binding 1 19OpDecorate %float_array_32_stride_4 ArrayStride 4 20OpDecorate %float_array_32_stride_8 ArrayStride 8 21%void = OpTypeVoid 22%float = OpTypeFloat 32 23%uint = OpTypeInt 32 0 24%uint_0 = OpConstant %uint 0 25%uint_32 = OpConstant %uint 32 26 27%float_array_32_stride_4 = OpTypeArray %float %uint_32 28%ptr_float_array_32_stride_4 = OpTypePointer StorageBuffer %float_array_32_stride_4 29%struct_stride_4 = OpTypeStruct %float_array_32_stride_4 30%ptr_struct_stride_4 = OpTypePointer StorageBuffer %struct_stride_4 31 32%float_array_32_stride_8 = OpTypeArray %float %uint_32 33%ptr_float_array_32_stride_8 = OpTypePointer StorageBuffer %float_array_32_stride_8 34%struct_stride_8 = OpTypeStruct %float_array_32_stride_8 35%ptr_struct_stride_8 = OpTypePointer StorageBuffer %struct_stride_8 36 37%in_var = OpVariable %ptr_struct_stride_4 StorageBuffer 38%out_var = OpVariable %ptr_struct_stride_8 StorageBuffer 39 40%func_ty = OpTypeFunction %void 41%main = OpFunction %void None %func_ty 42%1 = OpLabel 43%in_gep = OpAccessChain %ptr_float_array_32_stride_4 %in_var %uint_0 44%in_array = OpLoad %float_array_32_stride_4 %in_gep 45%copy = OpCopyLogical %float_array_32_stride_8 %in_array 46%out_gep = OpAccessChain %ptr_float_array_32_stride_8 %out_var %uint_0 47OpStore %out_gep %copy 48OpReturn 49OpFunctionEnd 50 51[test] 52ssbo 0:0 subdata float 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 53ssbo 0:1 subdata float 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 55compute entrypoint main 56compute 1 1 1 57 58probe ssbo float 0:1 0 == 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 59