| 64 | } |
| 65 | |
| 66 | bool IsNotMemberDecoration(spv::Decoration dec) { |
| 67 | switch (dec) { |
| 68 | case spv::Decoration::SpecId: |
| 69 | case spv::Decoration::Block: |
| 70 | case spv::Decoration::BufferBlock: |
| 71 | case spv::Decoration::ArrayStride: |
| 72 | case spv::Decoration::ArrayStrideIdEXT: |
| 73 | case spv::Decoration::GLSLShared: |
| 74 | case spv::Decoration::GLSLPacked: |
| 75 | case spv::Decoration::CPacked: |
| 76 | // TODO: https://github.com/KhronosGroup/glslang/issues/703: |
| 77 | // glslang applies Restrict to structure members. |
| 78 | // case spv::Decoration::Restrict: |
| 79 | case spv::Decoration::Aliased: |
| 80 | case spv::Decoration::Constant: |
| 81 | case spv::Decoration::Uniform: |
| 82 | case spv::Decoration::UniformId: |
| 83 | case spv::Decoration::SaturatedConversion: |
| 84 | case spv::Decoration::Index: |
| 85 | case spv::Decoration::Binding: |
| 86 | case spv::Decoration::DescriptorSet: |
| 87 | case spv::Decoration::FuncParamAttr: |
| 88 | case spv::Decoration::FPRoundingMode: |
| 89 | case spv::Decoration::FPFastMathMode: |
| 90 | case spv::Decoration::LinkageAttributes: |
| 91 | case spv::Decoration::NoContraction: |
| 92 | case spv::Decoration::InputAttachmentIndex: |
| 93 | case spv::Decoration::Alignment: |
| 94 | case spv::Decoration::MaxByteOffset: |
| 95 | case spv::Decoration::AlignmentId: |
| 96 | case spv::Decoration::MaxByteOffsetId: |
| 97 | case spv::Decoration::NoSignedWrap: |
| 98 | case spv::Decoration::NoUnsignedWrap: |
| 99 | case spv::Decoration::NonUniform: |
| 100 | case spv::Decoration::RestrictPointer: |
| 101 | case spv::Decoration::AliasedPointer: |
| 102 | case spv::Decoration::CounterBuffer: |
| 103 | return true; |
| 104 | default: |
| 105 | break; |
| 106 | } |
| 107 | return false; |
| 108 | } |
| 109 | |
| 110 | spv_result_t ValidateDecorationTarget(ValidationState_t& _, spv::Decoration dec, |
| 111 | const Instruction* inst, |
no outgoing calls
no test coverage detected