| 1380 | } |
| 1381 | |
| 1382 | void parseGPUModelLine(char* pCurrentLine, const char* pLineEnd) |
| 1383 | { |
| 1384 | char vendorIdStr[MAX_GPU_VENDOR_STRING_LENGTH] = {}; |
| 1385 | char modelIdStr[MAX_GPU_VENDOR_STRING_LENGTH] = {}; |
| 1386 | char presetStr[MAX_GPU_VENDOR_STRING_LENGTH] = {}; |
| 1387 | char vendorNameStr[MAX_GPU_VENDOR_STRING_LENGTH] = {}; |
| 1388 | char modelNameStr[MAX_GPU_VENDOR_STRING_LENGTH] = {}; |
| 1389 | char targetNameStr[MAX_GPU_VENDOR_STRING_LENGTH] = {}; |
| 1390 | char* tokens[] = { vendorIdStr, modelIdStr, presetStr, vendorNameStr, modelNameStr, targetNameStr }; |
| 1391 | tokenizeLine(pCurrentLine, pLineEnd, ";", MAX_GPU_VENDOR_STRING_LENGTH, TF_ARRAY_COUNT(tokens), tokens); |
| 1392 | GPUModelDefinition model = {}; |
| 1393 | model.mVendorId = (uint32_t)strtoul(vendorIdStr + 2, NULL, 16); |
| 1394 | model.mDeviceId = (uint32_t)strtoul(modelIdStr + 2, NULL, 16); |
| 1395 | model.mPreset = stringToPresetLevel(presetStr); |
| 1396 | model.mTarget = gDefaultTarget; |
| 1397 | if (modelNameStr[0] != '\0') |
| 1398 | { |
| 1399 | strncpy(model.mModelName, modelNameStr, TF_ARRAY_COUNT(modelNameStr)); |
| 1400 | } |
| 1401 | if (targetNameStr[0] != '\0') |
| 1402 | { |
| 1403 | model.mTarget = stringToTarget(targetNameStr); |
| 1404 | } |
| 1405 | if (model.mVendorId && model.mDeviceId) |
| 1406 | { |
| 1407 | arrpush(gGraphicsConfigRules.mGPUModels, model); |
| 1408 | } |
| 1409 | } |
| 1410 | |
| 1411 | void parseGPUSelectionLine(char* currentLine, uint32_t preferedGpuId) |
| 1412 | { |
no test coverage detected