@@ -350,8 +350,12 @@ ffGPUDetectWsl2
350350 .PrivateDriverDataSize = sizeof (nodePerfData ),
351351 });
352352 if (NT_SUCCESS (status )) {
353- gpu -> frequency = (uint32_t ) (nodePerfData .MaxFrequency / 1000 / 1000 );
354- FF_DEBUG ("Adapter #%u max graphics frequency: %u MHz" , i , gpu -> frequency );
353+ if (nodePerfData .MaxFrequency != 0 ) {
354+ gpu -> frequency = (uint32_t ) (nodePerfData .MaxFrequency / 1000 / 1000 );
355+ FF_DEBUG ("Adapter #%u max graphics frequency: %u MHz" , i , gpu -> frequency );
356+ } else {
357+ FF_DEBUG ("Adapter #%u does not report max graphics frequency" , i );
358+ }
355359 break ;
356360 } else {
357361 FF_DEBUG ("Failed to query node performance data for adapter #%u node #%u: %s" ,
@@ -373,8 +377,12 @@ ffGPUDetectWsl2
373377 .PrivateDriverDataSize = sizeof (adapterPerfData ),
374378 });
375379 if (NT_SUCCESS (status )) {
376- gpu -> temperature = adapterPerfData .Temperature / 10.0 ;
377- FF_DEBUG ("Adapter #%u temperature: %.1f°C" , i , gpu -> temperature );
380+ if (adapterPerfData .Temperature != 0 ) {
381+ gpu -> temperature = adapterPerfData .Temperature / 10.0 ;
382+ FF_DEBUG ("Adapter #%u temperature: %.1f°C" , i , gpu -> temperature );
383+ } else {
384+ FF_DEBUG ("Adapter #%u does not report temperature data" , i );
385+ }
378386 } else {
379387 FF_DEBUG ("Failed to query temperature for adapter #%u: %s" , i , ffDebugNtStatus (status ));
380388 }
0 commit comments