Currently going
%13 = OpTypeInt 32 0
%4 = OpConstant %13 0
OpDecorateId %7 OffsetIdEXT %4
%20 = OpTypeImage %13 1D 0 0 0 1 Unknown
%7 = OpTypeRuntimeArray %20
does not report an error even though the spec says
https://godbolt.org/z/h3EnKsTxe
OpCapability Shader
OpCapability UntypedPointersKHR
OpCapability DescriptorHeapEXT
OpCapability Sampled1D
OpExtension "SPV_KHR_untyped_pointers"
OpExtension "SPV_EXT_descriptor_heap"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %1 "main" %2 %3
OpExecutionMode %1 LocalSize 1 1 1
OpDecorate %4 SpecId 0
OpDecorate %5 SpecId 1
OpDecorate %6 SpecId 2
OpDecorate %2 BuiltIn ResourceHeapEXT
OpDecorate %3 BuiltIn SamplerHeapEXT
OpDecorateId %7 OffsetIdEXT %4
OpDecorateId %8 OffsetIdEXT %5
OpDecorateId %9 OffsetIdEXT %6
OpMemberDecorate %10 0 Offset 0
%11 = OpTypeVoid
%12 = OpTypeFunction %11
%13 = OpTypeInt 32 0
%14 = OpTypeVector %13 4
%15 = OpTypeFloat 32
%16 = OpConstant %13 0
%17 = OpConstant %13 1
%18 = OpConstant %15 0
%19 = OpConstant %15 1
%4 = OpSpecConstant %13 0
%5 = OpSpecConstant %13 0
%6 = OpSpecConstant %13 0
%20 = OpTypeImage %13 1D 0 0 0 1 Unknown
%21 = OpTypeBufferEXT StorageBuffer
%22 = OpTypeSampler
%23 = OpTypeSampledImage %20
%7 = OpTypeRuntimeArray %20
%8 = OpTypeRuntimeArray %21
%9 = OpTypeRuntimeArray %22
%10 = OpTypeStruct %13
%24 = OpTypeUntypedPointerKHR UniformConstant
%25 = OpTypeUntypedPointerKHR StorageBuffer
%2 = OpUntypedVariableKHR %24 UniformConstant
%3 = OpUntypedVariableKHR %24 UniformConstant
%1 = OpFunction %11 None %12
%26 = OpLabel
%27 = OpUntypedAccessChainKHR %24 %7 %2 %16
%28 = OpLoad %20 %27
%29 = OpUntypedAccessChainKHR %24 %9 %3 %16
%30 = OpLoad %22 %29
%31 = OpSampledImage %23 %28 %30
%32 = OpImageSampleExplicitLod %14 %31 %19 Lod %18
%33 = OpCompositeExtract %13 %32 0
%34 = OpUntypedAccessChainKHR %24 %8 %2 %16
%35 = OpBufferPointerEXT %25 %34
OpStore %35 %33
OpReturn
OpFunctionEnd
Currently going
does not report an error even though the spec says
https://godbolt.org/z/h3EnKsTxe