MCPcopy Create free account
hub / github.com/KhronosGroup/SPIRV-Tools / main

Function main

tools/val/val.cpp:133–286  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

131}
132
133int main(int argc, char** argv) {
134 const char* inFile = nullptr;
135 spv_target_env target_env = SPV_ENV_UNIVERSAL_1_6;
136 spvtools::ValidatorOptions options;
137 bool continue_processing = true;
138 int return_code = 0;
139
140 for (int argi = 1; continue_processing && argi < argc; ++argi) {
141 const char* cur_arg = argv[argi];
142 if ('-' == cur_arg[0]) {
143 if (0 == strncmp(cur_arg, "--max-", 6)) {
144 if (argi + 1 < argc) {
145 spv_validator_limit limit_type;
146 if (spvParseUniversalLimitsOptions(cur_arg, &limit_type)) {
147 uint32_t limit = 0;
148 if (sscanf(argv[++argi], "%u", &limit)) {
149 options.SetUniversalLimit(limit_type, limit);
150 } else {
151 fprintf(stderr, "error: missing argument to %s\n", cur_arg);
152 continue_processing = false;
153 return_code = 1;
154 }
155 } else {
156 fprintf(stderr, "error: unrecognized option: %s\n", cur_arg);
157 continue_processing = false;
158 return_code = 1;
159 }
160 } else {
161 fprintf(stderr, "error: Missing argument to %s\n", cur_arg);
162 continue_processing = false;
163 return_code = 1;
164 }
165 } else if (0 == strcmp(cur_arg, "--version")) {
166 printf("%s\n", spvSoftwareVersionDetailsString());
167 printf(
168 "Targets:\n %s\n %s\n %s\n %s\n %s\n %s\n %s\n %s\n %s\n "
169 "%s\n %s\n %s\n %s %s\n",
170 spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_0),
171 spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_1),
172 spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_2),
173 spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_3),
174 spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_4),
175 spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_5),
176 spvTargetEnvDescription(SPV_ENV_UNIVERSAL_1_6),
177 spvTargetEnvDescription(SPV_ENV_OPENCL_2_2),
178 spvTargetEnvDescription(SPV_ENV_VULKAN_1_0),
179 spvTargetEnvDescription(SPV_ENV_VULKAN_1_1),
180 spvTargetEnvDescription(SPV_ENV_VULKAN_1_1_SPIRV_1_4),
181 spvTargetEnvDescription(SPV_ENV_VULKAN_1_2),
182 spvTargetEnvDescription(SPV_ENV_VULKAN_1_3),
183 spvTargetEnvDescription(SPV_ENV_VULKAN_1_4));
184 continue_processing = false;
185 return_code = 0;
186 } else if (0 == strcmp(cur_arg, "--help") || 0 == strcmp(cur_arg, "-h")) {
187 print_usage(argv[0]);
188 continue_processing = false;
189 return_code = 0;
190 } else if (0 == strcmp(cur_arg, "--target-env")) {

Callers

nothing calls this directly

Calls 9

spvTargetEnvDescriptionFunction · 0.85
spvParseTargetEnvFunction · 0.85
process_single_fileFunction · 0.85
c_strMethod · 0.80
print_usageFunction · 0.70
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected