#include "source/opcode.h"
#include "source/val/instruction.h"
#include "source/val/validate.h"
#include "source/val/validation_state.h"
#include <limits>
namespace spvtools {
namespace val {
static const uint32_t KRayParamInvalidId = …;
spv_result_t ValidateHitObjectPointer(ValidationState_t& _,
const Instruction* inst,
uint32_t hit_object_index) { … }
spv_result_t ValidateHitObjectInstructionCommonParameters(
ValidationState_t& _, const Instruction* inst,
uint32_t acceleration_struct_index, uint32_t instance_id_index,
uint32_t primtive_id_index, uint32_t geometry_index,
uint32_t ray_flags_index, uint32_t cull_mask_index, uint32_t hit_kind_index,
uint32_t sbt_index, uint32_t sbt_offset_index, uint32_t sbt_stride_index,
uint32_t sbt_record_offset_index, uint32_t sbt_record_stride_index,
uint32_t miss_index, uint32_t ray_origin_index, uint32_t ray_tmin_index,
uint32_t ray_direction_index, uint32_t ray_tmax_index,
uint32_t payload_index, uint32_t hit_object_attr_index) { … }
spv_result_t RayReorderNVPass(ValidationState_t& _, const Instruction* inst) { … }
}
}