diff --git a/src/config.js b/src/config.js index 6f4a74a5..bf82e5ff 100644 --- a/src/config.js +++ b/src/config.js @@ -21,6 +21,16 @@ module.exports = { 'MetricsClearLogsOnClonedInstall', ], + gpuRelatedFeatures: [ + 'DefaultANGLEVulkan', + 'DefaultPassthroughCommandDecoder', + 'EnableDrDcVulkan', + 'Vulkan', + 'VulkanFromANGLE', + 'VulkanV2', + 'VulkanVMALargeHeapBlockSizeExperiment', + ], + // Add your slack ID to get notifications about new kill switches. // To retrive it use Slack profile => Copy Member ID. killSwitchNotificationIds: [ @@ -32,4 +42,7 @@ module.exports = { 'U02DG0ATML3', // @matuchin 'UE87NRK2A', // @iefremov ], + gpuRelatedNotificationIds: [ + 'U0D73ULKD', // @serg + ], }; diff --git a/src/core/summary.ts b/src/core/summary.ts index 051be4d4..e403c260 100644 --- a/src/core/summary.ts +++ b/src/core/summary.ts @@ -275,6 +275,7 @@ export function summaryToJson( const output = new MrkdwnMessage(); let hasKillSwitchImportantUpdate = false; let hasBadStudies = false; + let gpuRelatedFeaturesDetected = false; // From the highest to the lowest priority: const priorityList = Object.values(StudyPriority) @@ -292,6 +293,12 @@ export function summaryToJson( ); itemList.sort((a, b) => a.action - b.action); for (const e of itemList) { + for (const f of e.affectedFeatures) { + if (config.gpuRelatedFeatures.includes(f)) { + gpuRelatedFeaturesDetected = true; + break; + } + } hasKillSwitchImportantUpdate ||= e.isKillSwitchImportantUpdate(); hasBadStudies ||= e.hasBadStudies; const block = new TextBlock(e.actionToText()); @@ -328,6 +335,15 @@ export function summaryToJson( } if (output.toString() === '') return undefined; + if (gpuRelatedFeaturesDetected) { + output.addBlockToTop( + new TextBlock( + 'GPU related changes detected, cc ' + + config.gpuRelatedNotificationIds.map((i) => `<@${i}>`).join(), + ), + ); + } + if (hasKillSwitchImportantUpdate) { output.addBlockToTop( new TextBlock(