TODO - Make a common util if someone else needs it too outside this file
| 29 | |
| 30 | // TODO - Make a common util if someone else needs it too outside this file |
| 31 | const char* ExecutionModelToString(spv::ExecutionModel value) { |
| 32 | switch (value) { |
| 33 | case spv::ExecutionModel::Vertex: |
| 34 | return "Vertex"; |
| 35 | case spv::ExecutionModel::TessellationControl: |
| 36 | return "TessellationControl"; |
| 37 | case spv::ExecutionModel::TessellationEvaluation: |
| 38 | return "TessellationEvaluation"; |
| 39 | case spv::ExecutionModel::Geometry: |
| 40 | return "Geometry"; |
| 41 | case spv::ExecutionModel::Fragment: |
| 42 | return "Fragment"; |
| 43 | case spv::ExecutionModel::GLCompute: |
| 44 | return "GLCompute"; |
| 45 | case spv::ExecutionModel::Kernel: |
| 46 | return "Kernel"; |
| 47 | case spv::ExecutionModel::TaskNV: |
| 48 | return "TaskNV"; |
| 49 | case spv::ExecutionModel::MeshNV: |
| 50 | return "MeshNV"; |
| 51 | case spv::ExecutionModel::RayGenerationKHR: |
| 52 | return "RayGenerationKHR"; |
| 53 | case spv::ExecutionModel::IntersectionKHR: |
| 54 | return "IntersectionKHR"; |
| 55 | case spv::ExecutionModel::AnyHitKHR: |
| 56 | return "AnyHitKHR"; |
| 57 | case spv::ExecutionModel::ClosestHitKHR: |
| 58 | return "ClosestHitKHR"; |
| 59 | case spv::ExecutionModel::MissKHR: |
| 60 | return "MissKHR"; |
| 61 | case spv::ExecutionModel::CallableKHR: |
| 62 | return "CallableKHR"; |
| 63 | case spv::ExecutionModel::TaskEXT: |
| 64 | return "TaskEXT"; |
| 65 | case spv::ExecutionModel::MeshEXT: |
| 66 | return "MeshEXT"; |
| 67 | default: |
| 68 | return "Unknown"; |
| 69 | } |
| 70 | } |
| 71 | |
| 72 | spv_result_t ValidateEntryPoint(ValidationState_t& _, const Instruction* inst) { |
| 73 | const auto entry_point_id = inst->GetOperandAs<uint32_t>(1); |
no outgoing calls
no test coverage detected