#include "source/opcode.h"
#include "source/spirv_target_env.h"
#include "source/val/instruction.h"
#include "source/val/validate.h"
#include "source/val/validation_state.h"
namespace spvtools {
namespace val {
namespace {
bool DecorationTakesIdParameters(spv::Decoration type) { … }
bool IsMemberDecorationOnly(spv::Decoration dec) { … }
bool IsNotMemberDecoration(spv::Decoration dec) { … }
spv_result_t ValidateDecorationTarget(ValidationState_t& _, spv::Decoration dec,
const Instruction* inst,
const Instruction* target) { … }
spv_result_t ValidateDecorate(ValidationState_t& _, const Instruction* inst) { … }
spv_result_t ValidateDecorateId(ValidationState_t& _, const Instruction* inst) { … }
spv_result_t ValidateMemberDecorate(ValidationState_t& _,
const Instruction* inst) { … }
spv_result_t ValidateDecorationGroup(ValidationState_t& _,
const Instruction* inst) { … }
spv_result_t ValidateGroupDecorate(ValidationState_t& _,
const Instruction* inst) { … }
spv_result_t ValidateGroupMemberDecorate(ValidationState_t& _,
const Instruction* inst) { … }
spv_result_t RegisterDecorations(ValidationState_t& _,
const Instruction* inst) { … }
}
spv_result_t AnnotationPass(ValidationState_t& _, const Instruction* inst) { … }
}
}