Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
094b0d0
WIP changes
markgalvan-intel Nov 13, 2025
a35dbc4
WIP changes
markgalvan-intel Nov 13, 2025
db5d2d6
WIP changes
markgalvan-intel Nov 13, 2025
5c84a37
Added in swapchain tests
markgalvan-intel Nov 14, 2025
7090565
Clean up of interfaces for unified metrics
markgalvan-intel Nov 17, 2025
bb8ed47
Updated WIP implementation
markgalvan-intel Nov 24, 2025
512e716
Added in additional QPC converter class and functions.
markgalvan-intel Nov 24, 2025
e019428
Continued drafting changes for unified metric calculations
markgalvan-intel Nov 26, 2025
e07a32d
Removed extraneous BuildFrame call and properly placed ULTs in correc…
markgalvan-intel Nov 26, 2025
5fe152b
Adding in support for msInPresentApi and ULTs
markgalvan-intel Dec 1, 2025
ebeaffa
Added base display metrics and ULTs
markgalvan-intel Dec 1, 2025
d83a3e9
Adding FlipDelay support and ULTs. Still WIP.
markgalvan-intel Dec 2, 2025
e87bac2
Fixed flip delay issue and updated nv collapsed present tests
markgalvan-intel Dec 2, 2025
0f72206
Adding in display latency and ready time latency with ULTs
markgalvan-intel Dec 3, 2025
c1ca940
add shmring template container
planetchili Nov 20, 2025
8f49109
first draft of required data structures & interfaces
planetchili Nov 26, 2025
8c99c80
introspection populators use new caps set
planetchili Nov 26, 2025
b8af905
integration of new shm systems into ipc + service changes and min middle
planetchili Dec 3, 2025
2ba9c14
Fixed incorrect display latency and readytime tests
markgalvan-intel Dec 3, 2025
8fc3edf
Frame based CPU and GPU ULTs added
markgalvan-intel Dec 3, 2025
3a71563
ipm running again
planetchili Dec 4, 2025
5975f77
Added implementation of frame based CPU and GPU metrics. WIP
markgalvan-intel Dec 4, 2025
841270a
populating cpu rings
planetchili Dec 5, 2025
81ad283
populating system (cpu) statics
planetchili Dec 5, 2025
f58c3ee
Added in AnimationError and Animation Time code and tests. WIP
markgalvan-intel Dec 5, 2025
4aabe23
fix test child cli args
planetchili Dec 6, 2025
2030d82
fixing bug in secure subdir and basic action connect test
planetchili Dec 8, 2025
31ce7ab
interim test basics
planetchili Dec 8, 2025
cf80d50
fixes to cpu vendor detection and static cpu ipc test
planetchili Dec 8, 2025
7c2647f
Fixing Animation Error and Time tests. Still WIP.
markgalvan-intel Dec 8, 2025
e90db92
polled cpu telemetry test
planetchili Dec 8, 2025
47dd9bb
basic ipc component tests
planetchili Dec 8, 2025
4dd37a3
more ipc test cases
planetchili Dec 9, 2025
aa8d323
hist shm newest
planetchili Dec 9, 2025
48b5eee
fixing old history structure and better sys telemetry tests
planetchili Dec 9, 2025
56c898f
populate and test gpu polled telemetry
planetchili Dec 9, 2025
125160f
Animation Error and TIme fixes. All ULTs passing.
markgalvan-intel Dec 9, 2025
ca5ce7a
Adding in initial input latency metrics
markgalvan-intel Dec 9, 2025
150b64c
gpu static populated
planetchili Dec 10, 2025
3814d37
testing ring creation, population, introspection
planetchili Dec 10, 2025
90504c2
ring utilization test for cpu
planetchili Dec 10, 2025
b8b36e7
Adding in Input Latency Tests
markgalvan-intel Dec 10, 2025
53c9782
Update for Input latency calculations and ULTs. All test passing
markgalvan-intel Dec 11, 2025
720da27
PCLatency changes in place
markgalvan-intel Dec 11, 2025
1d43bb6
First PCLatency test added. Passing.
markgalvan-intel Dec 11, 2025
3f75b1b
tracking and untracking frame data stores
planetchili Dec 12, 2025
7e9ef90
improve tracking and implement frame data statics
planetchili Dec 12, 2025
7cb7fb6
frame populating and reading
planetchili Dec 12, 2025
d775dd2
Adding in new PC Latency tests.
markgalvan-intel Dec 12, 2025
195ff36
Fixed PC Latency ULTs. All tests passing.
markgalvan-intel Dec 12, 2025
a4d399e
Added in instrumented metric support. No tests yet.
markgalvan-intel Dec 12, 2025
a8bc872
fix etw startup and verbose modules via cli
planetchili Dec 15, 2025
27e2fda
fix race condition on presentmon session
planetchili Dec 15, 2025
9ea3d70
getting frames from playback session
planetchili Dec 15, 2025
eae1960
Added support for MsBetweenSimulationStarts. Added instrumented ULTs
markgalvan-intel Dec 15, 2025
8dd6667
Added additional instrumented app provider tests and fixes.
markgalvan-intel Dec 15, 2025
6ab3c6d
populate statics for playback targets
planetchili Dec 16, 2025
48ba2cf
backpressure
planetchili Dec 16, 2025
9375eb6
Init changes and flip delay metric update
markgalvan-intel Dec 16, 2025
084d643
backpressure and timeout change, add legacy streamer test
planetchili Dec 16, 2025
8be48d5
write test results (frame timestamps)
planetchili Dec 17, 2025
de32265
proper start qpc calculation
planetchili Dec 17, 2025
9dfdefd
more frame output
planetchili Dec 17, 2025
82fe038
Initial updates to use a unified swap chain
markgalvan-intel Dec 17, 2025
6c1a41c
Additional incremental changes for unified swap chain
markgalvan-intel Dec 17, 2025
6c34cce
add 3dm test in interim
planetchili Dec 18, 2025
72b9b85
WIP changes for updating to updated unified swap chain
markgalvan-intel Dec 18, 2025
179d6b1
Continued changes for unified swap chain
markgalvan-intel Dec 18, 2025
e0d4376
tracking metric usage
planetchili Dec 19, 2025
c56912f
changing system metrics to special device 65536
planetchili Dec 22, 2025
63a7b00
support system device in ipm client
planetchili Dec 22, 2025
376d096
fixing permissions on gpu segment store
planetchili Dec 22, 2025
a0ac0d9
dedicated sys device and activation for gpu tele
planetchili Dec 22, 2025
1eaa1a6
allowing dynamic frame queries to have sys and gpu devices
planetchili Dec 22, 2025
bbd4657
fixing svc race condition, test for new telemetry activation
planetchili Dec 23, 2025
b941669
fixing usage event system to notify all
planetchili Dec 23, 2025
bcfe112
updating system ring util test and fixture test
planetchili Dec 23, 2025
0061cf5
Unified SwapChain in place. WIP ETL's passing
markgalvan-intel Dec 23, 2025
7535b4a
enable logging for interim tests
planetchili Dec 23, 2025
72f9b0b
add startQpc, some reorg of the frame data store statics/bookkeeping
planetchili Dec 24, 2025
b0f1189
noreport gpu test and improved test log stability with flush
planetchili Dec 24, 2025
faef109
size calculation and control for IPC data store segments
planetchili Dec 29, 2025
7a0395e
improve cohesion of ring population
planetchili Dec 29, 2025
dc17c0e
better logging of sizing
planetchili Dec 29, 2025
e25c488
wrapping tests for ipc w/o middleware
planetchili Dec 29, 2025
13e5d89
wrapping tests w/ middleware realtime and playback
planetchili Dec 29, 2025
dd6361b
static constexpr enum bridge in Meta.h
planetchili Dec 29, 2025
b0b2ada
Various fixes for ETL ULT test failures.
markgalvan-intel Dec 29, 2025
ca0c0c0
Additional tests added based on ULT ETL failures
markgalvan-intel Dec 29, 2025
d8bfd75
Fixing bogus animation error of tests
markgalvan-intel Dec 29, 2025
2502db0
testing activation isolation
planetchili Dec 30, 2025
a0e6a97
define system device id ipc
planetchili Dec 30, 2025
e0deb73
Adding in version 1 metrics to calculator
markgalvan-intel Dec 30, 2025
a794f35
Added special V1 processing into unified metrics calculator.
markgalvan-intel Dec 31, 2025
6f84449
NV V2 collapsed present handling
markgalvan-intel Dec 31, 2025
3335ae6
Updating NV collapsed present support to include V1 metrics.
markgalvan-intel Dec 31, 2025
1701cb8
Adding in unified swap chain ULTs
markgalvan-intel Dec 31, 2025
392f8e0
Removed unused pending presents
markgalvan-intel Jan 2, 2026
89bd4ec
Updated swap chain test; removed unnecessary getters and setters
markgalvan-intel Jan 2, 2026
51c5ea6
metric usage verbose logging
planetchili Jan 4, 2026
a32b816
frame lifecycle logging
planetchili Jan 4, 2026
515ad69
Initial cleanup for updating metrics returns.
markgalvan-intel Jan 5, 2026
6698ef6
More cleanup of arguments on various function calls.
markgalvan-intel Jan 5, 2026
41d8774
log caps
planetchili Jan 5, 2026
ee39f13
Breakout of metrics calculator functions
markgalvan-intel Jan 5, 2026
5e5190d
Merge branch 'feature/metrics-unification' into feature/new-mid
planetchili Jan 8, 2026
4a1268d
Merge branch 'feature/shm2' into feature/new-mid
planetchili Jan 8, 2026
f58fbe1
add FixedVector container
planetchili Jan 13, 2026
d50e836
test fixed vector
planetchili Jan 13, 2026
16de155
switch FrameData over to FixedVector
planetchili Jan 13, 2026
c4e5a01
use util FrameData in DataStores
planetchili Jan 13, 2026
e6b6c0c
paced frame event tests
planetchili Jan 14, 2026
1ffe5c8
draft of frame event query (non-building)
planetchili Jan 15, 2026
a51ca28
metric frame source drafted
planetchili Jan 15, 2026
7caf1fd
frame event query back in global namespace
planetchili Jan 15, 2026
cf5293f
new frame query integrated and building
planetchili Jan 15, 2026
bee6fa5
disallow multiple fq
planetchili Jan 15, 2026
cd420c7
integration test for fq+adding in placeholders for missing FrameMetrics
planetchili Jan 16, 2026
8447beb
better status codes for frame query errors
planetchili Jan 16, 2026
27f46f8
improve introspection injection in fq
planetchili Jan 16, 2026
a5869ca
validate device id in fq reg
planetchili Jan 16, 2026
0c2634c
PM_DATA_TYPE alignment helper using static tmp bridge
planetchili Jan 16, 2026
7682592
folding in helper functions
planetchili Jan 16, 2026
6ac2b22
qpc converter improvement
planetchili Jan 16, 2026
40fa50f
Adding in additional metrics to calculator
markgalvan-intel Jan 16, 2026
9db1478
Added support for presentStart* and cpuStart metrics
markgalvan-intel Jan 16, 2026
bb9053f
cleanup some unnecessary branches and validations
planetchili Jan 18, 2026
d5ccf2d
cleanup/fix qpc behavior
planetchili Jan 18, 2026
9f7c26a
failing on multiple frame query registration causes problems for ipm …
planetchili Jan 19, 2026
ca5c877
getting frame capture working again in ipm ui
planetchili Jan 19, 2026
6af2936
fixing history ring access and nearest sampling
planetchili Jan 20, 2026
0e50525
better logging for history ring
planetchili Jan 20, 2026
e36b397
diable multiple frame query registration negative test
planetchili Jan 20, 2026
e8cf536
api endpoint for tracking playback
planetchili Jan 20, 2026
610e0da
frame metric source latching qpc start time properly
planetchili Jan 20, 2026
3188960
calculate derived gpu telemetry
planetchili Jan 20, 2026
0b476de
fixed queries have backpressure/playback options
planetchili Jan 21, 2026
6a2879b
remove quota status
planetchili Jan 21, 2026
1ff7b4e
static query and tests
planetchili Jan 21, 2026
46f54d6
filling static metrics in frame query, and tests
planetchili Jan 21, 2026
581a381
adding PM_METRIC_PROCESS_ID
planetchili Jan 21, 2026
a0aff0a
removing manual fill from raw frame data writer
planetchili Jan 21, 2026
d227a34
noexcept for move ops
planetchili Jan 22, 2026
4112025
generalize history ring for frame data usage
planetchili Jan 22, 2026
a976eac
1st draft of dynamic stat
planetchili Jan 22, 2026
8778e2d
2nd draft templated dynamic stat
planetchili Jan 22, 2026
3bc49ea
1st draft dynamic metric
planetchili Jan 23, 2026
956295c
move framemetric member mapping to central location
planetchili Jan 23, 2026
5f0d5c5
add count for PM_METRIC
planetchili Jan 23, 2026
0061a8e
RingMetricBinding poll
planetchili Jan 23, 2026
f0cd100
dynamic metric factory
planetchili Jan 25, 2026
42c9530
working RingMetricBind, but vector<bool> specialization is problematic
planetchili Jan 26, 2026
856dbd9
boost::container::vector<bool> doesn't suffer like std::vector<bool>
planetchili Jan 26, 2026
27e68e7
dynamic query skeleton
planetchili Jan 26, 2026
f47bb87
factoring out validation
planetchili Jan 26, 2026
cde964e
dynamic query draft complete
planetchili Jan 26, 2026
a9a1846
frame source locator function
planetchili Jan 26, 2026
23d637d
2nd draft dynamic query w/ frame source complete
planetchili Jan 27, 2026
3938a0a
remove legacy code from middleware
planetchili Jan 27, 2026
799d5b8
dynamic queries running
planetchili Jan 28, 2026
f85c63f
preventing result carryover in stats between polls
planetchili Jan 28, 2026
f9eba92
filling static metrics into dynamic queries
planetchili Jan 28, 2026
5129327
fixing static into dynamic query filling when data type mismatches
planetchili Jan 28, 2026
d72bd89
implement multi swap + fix percentile stats
planetchili Jan 28, 2026
4cae43e
validate pid input to poll dynamic
planetchili Jan 28, 2026
0faee89
Adding in missed dynamic metrics to unified metrics calc.
markgalvan-intel Jan 28, 2026
9259b93
Merge branch 'feature/new-mid-xt' into feature/new-mid
planetchili Jan 29, 2026
c176457
test completeness of PM_METRIC to FrameMetrics mapping
planetchili Jan 29, 2026
12589d4
add missing metrics to mc struct map
planetchili Jan 29, 2026
4a01f9c
dynamic-only metrics still need frame data type to be non-void
planetchili Jan 29, 2026
5af4cd4
increase data types handled in dynamic queries and fix metric defs
planetchili Jan 29, 2026
95fad60
add session start qpc and internalize metric count w/ _
planetchili Jan 29, 2026
f42391d
ability to inject window base timestamp
planetchili Jan 29, 2026
5c8485d
poll window control + timer upgrades
planetchili Jan 30, 2026
ffc2308
use lerp for percentile stats
planetchili Feb 3, 2026
51c9b07
fix fps to reciprocate after (calculate in middleware)
planetchili Feb 3, 2026
43defb4
abs handling for animation error in dyn queries
planetchili Feb 4, 2026
a1bf836
injected timestamp for paced polled automated tests
planetchili Feb 4, 2026
df785ce
restore disp fps max for paced polled tests
planetchili Feb 4, 2026
84f9164
raw stat => near point (removes lag)
planetchili Feb 4, 2026
ebf4925
enable swap addr for dynamic queries
planetchili Feb 4, 2026
ebe4f9f
nullopt=>NaN for optional FrameMetrics members; fix duplicate in IPM fq
planetchili Feb 5, 2026
fffd87a
csv capture shouldn't omit columns even when metric unavailable
planetchili Feb 5, 2026
1d1e31e
update paced polled golds and relax p00 thresholds
planetchili Feb 5, 2026
de63bd4
add frame flush to Capi/wrapper
planetchili Feb 5, 2026
ca712e6
de-virtualize middleware
planetchili Feb 5, 2026
d426289
clean out unused source / includes
planetchili Feb 5, 2026
93dfccc
unify error handling in middleware
planetchili Feb 5, 2026
ea92851
middleware rename refactor align with api names
planetchili Feb 5, 2026
fdd237b
rip out streamer+associated projects and replace pid state tracking
planetchili Feb 6, 2026
5e7c68f
remove legacy telemetry history
planetchili Feb 7, 2026
fadc8eb
remove legacy support cli/paths and add metric usage updates from mid
planetchili Feb 7, 2026
5dbe16b
remove SelectAdapter; adapter idx => id everywhere; poll active gpus
planetchili Feb 7, 2026
1c3de5d
delete defunct cli projects
planetchili Feb 7, 2026
94cc414
UI/capture switchover to no-active-adapter paradigm
planetchili Feb 9, 2026
b7a89f1
cli support for array/device in capture
planetchili Feb 9, 2026
f4f9743
sample to test untargeted dynamic query & wrapper support
planetchili Feb 9, 2026
1b643cb
small fix for intel adapter luid
planetchili Feb 9, 2026
55e9a79
fixing presets
planetchili Feb 9, 2026
b46c001
fix capture for array metrics
planetchili Feb 9, 2026
516447c
allow dup metrics different devices
planetchili Feb 9, 2026
00578a0
adding diagnostics / remove defunct project
planetchili Feb 9, 2026
9ffe0f8
report diag at top level api catch
planetchili Feb 9, 2026
956c568
stack trace for errors off by default in Release config
planetchili Feb 9, 2026
4dda445
swap chain and session start should not be available for overlay
planetchili Feb 9, 2026
79bf1a4
Merge branch 'main' into feature/new-mid
planetchili Feb 10, 2026
f81e84e
fix backmerge from main
planetchili Feb 10, 2026
475fc6a
log intel luid verbose
planetchili Feb 10, 2026
f890475
make service backpressure etl tests compatible with new mid changes
planetchili Feb 11, 2026
4d63f15
improve shmring resiliency to race conditions
planetchili Feb 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Ignore Visual Studio temporary files, build results, and
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# Build results
Expand All @@ -22,6 +22,7 @@ PresentMon/nul

# Visual Studio 2015 cache/options directory
.vs/
AGENTS.md

# Visual C++ cache files
ipch/
Expand Down Expand Up @@ -68,4 +69,4 @@ PresentMon/ddETWExternalEventsTEMP.BIN
# Local runsettings files (user-specific test configurations)
*.local.runsettings

Directory.Build.props
Directory.Build.props
4 changes: 2 additions & 2 deletions IntelPresentMon/AppCef/ipm-ui-vue/presets/preset-0.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"metricId": 3,
"arrayIndex": 0,
"deviceId": 0,
"statId": 7,
"statId": 0,
"desiredUnitId": 0
},
"lineColor": {
Expand Down Expand Up @@ -217,4 +217,4 @@
"textSize": 11
}
]
}
}
6 changes: 3 additions & 3 deletions IntelPresentMon/AppCef/ipm-ui-vue/presets/preset-1.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"metricId": 3,
"arrayIndex": 0,
"deviceId": 0,
"statId": 7,
"statId": 0,
"desiredUnitId": 0
},
"lineColor": {
Expand Down Expand Up @@ -658,7 +658,7 @@
"metricId": 48,
"arrayIndex": 0,
"deviceId": 0,
"statId": 1,
"statId": 0,
"desiredUnitId": 0
},
"lineColor": {
Expand Down Expand Up @@ -733,4 +733,4 @@
"textSize": 11
}
]
}
}
4 changes: 2 additions & 2 deletions IntelPresentMon/AppCef/ipm-ui-vue/presets/preset-2.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"metricId": 3,
"arrayIndex": 0,
"deviceId": 0,
"statId": 7,
"statId": 0,
"desiredUnitId": 0
},
"lineColor": {
Expand Down Expand Up @@ -398,4 +398,4 @@
"textSize": 11
}
]
}
}
12 changes: 7 additions & 5 deletions IntelPresentMon/AppCef/ipm-ui-vue/src/core/api.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2022 Intel Corporation
// Copyright (C) 2022 Intel Corporation
// SPDX-License-Identifier: MIT
import { type Metric } from '@/core/metric'
import { type Stat } from './stat'
Expand Down Expand Up @@ -54,11 +54,13 @@ export class Api {
static async loadEnvVars(): Promise<EnvVars> {
return await this.invokeEndpointFuture('loadEnvVars', {});
}
static async introspect(): Promise<{metrics: Metric[], stats: Stat[], units: Unit[]}> {
static async introspect(): Promise<{metrics: Metric[], stats: Stat[], units: Unit[], systemDeviceId: number, defaultAdapterId: number}> {
const introData = await this.invokeEndpointFuture('Introspect', {});
if (!Array.isArray(introData.metrics) || !Array.isArray(introData.stats) || !Array.isArray(introData.units)) {
if (!Array.isArray(introData.metrics) || !Array.isArray(introData.stats) ||
!Array.isArray(introData.units) || typeof introData.systemDeviceId !== 'number' ||
typeof introData.defaultAdapterId !== 'number') {
console.log("error intro call");
throw new Error('Bad (non-array) member type returned from introspect');
throw new Error('Bad member type returned from introspect');
}
return introData;
}
Expand Down Expand Up @@ -152,4 +154,4 @@ export class Api {
static registerStalePidHandler(callback: () => void) {
this.core.registerSignalHandler('stalePid', callback);
}
}
}
4 changes: 2 additions & 2 deletions IntelPresentMon/AppCef/ipm-ui-vue/src/core/metric.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2022 Intel Corporation
// Copyright (C) 2022 Intel Corporation
// SPDX-License-Identifier: MIT
export interface Metric {
id: number,
Expand All @@ -12,4 +12,4 @@ export interface Metric {
// not used yet in frontend -> backend fills in selected adapter id IF metric is not universal
availableDeviceIds: number[],
numeric: boolean,
}
}
12 changes: 9 additions & 3 deletions IntelPresentMon/AppCef/ipm-ui-vue/src/stores/introspection.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ref, computed } from 'vue';
import { ref, computed } from 'vue';
import { defineStore } from 'pinia';
import { Api } from '@/core/api';
import type { Metric } from '@/core/metric';
Expand All @@ -11,6 +11,8 @@ export const useIntrospectionStore = defineStore('introspection', () => {
const metrics = ref<Metric[]>([]);
const stats = ref<Stat[]>([]);
const units = ref<Unit[]>([]);
const systemDeviceId = ref<number>(0);
const defaultAdapterId = ref<number>(0);

// === Computed ===
const metricOptions = computed<MetricOption[]>(() => {
Expand All @@ -25,11 +27,13 @@ export const useIntrospectionStore = defineStore('introspection', () => {

// === Actions ===
async function load() {
if (metrics.value.length === 0) {
if (metrics.value.length === 0 || systemDeviceId.value === 0 || defaultAdapterId.value === 0) {
const intro = await Api.introspect();
metrics.value = intro.metrics;
stats.value = intro.stats;
units.value = intro.units;
systemDeviceId.value = intro.systemDeviceId;
defaultAdapterId.value = intro.defaultAdapterId;
}
}

Expand All @@ -38,7 +42,9 @@ export const useIntrospectionStore = defineStore('introspection', () => {
metrics,
stats,
units,
systemDeviceId,
defaultAdapterId,
metricOptions,
load
};
});
});
26 changes: 17 additions & 9 deletions IntelPresentMon/AppCef/ipm-ui-vue/src/stores/preferences.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2022 Intel Corporation
// Copyright (C) 2022 Intel Corporation
// SPDX-License-Identifier: MIT
import { ref, computed } from 'vue';
import { defineStore } from 'pinia';
Expand Down Expand Up @@ -114,8 +114,11 @@ export const usePreferencesStore = defineStore('preferences', () => {
}

async function pushSpecification() {
await intro.load();
// we need to get a non-proxy object for the call
const widgets = deepToRaw(loadout.widgets);
const systemDeviceId = intro.systemDeviceId;
const defaultAdapterId = intro.defaultAdapterId;
for (const widget of widgets) {
// Filter out the widgetMetrics that do not meet the condition, modify those that do
widget.metrics = widget.metrics.filter(widgetMetric => {
Expand All @@ -128,13 +131,18 @@ export const usePreferencesStore = defineStore('preferences', () => {
widgetMetric.metric.deviceId = 0; // establish universal device id
// Check whether metric is a gpu metric, then we need non-universal device id
if (!metric.availableDeviceIds.includes(0)) {
// if no specific adapter id set, assume adapter id = 1 is active
const adapterId = preferences.value.adapterId !== null ? preferences.value.adapterId : 1;
// Set adapter id for this query element to the active one if available
if (metric.availableDeviceIds.includes(adapterId)) {
widgetMetric.metric.deviceId = adapterId;
} else { // if active adapter id is not available drop this widgetMetric
return false;
// if this is a system metric, deviceId needs to be set to fixed id
if (metric.availableDeviceIds.includes(systemDeviceId)) {
widgetMetric.metric.deviceId = systemDeviceId;
}
else {
const adapterId = preferences.value.adapterId !== null ? preferences.value.adapterId : defaultAdapterId;
// Set adapter id for this query element to the active one if available
if (adapterId !== 0 && metric.availableDeviceIds.includes(adapterId)) {
widgetMetric.metric.deviceId = adapterId;
} else { // if active adapter id is not available drop this widgetMetric
return false;
}
}
}
// Fill out the unit
Expand Down Expand Up @@ -178,4 +186,4 @@ export const usePreferencesStore = defineStore('preferences', () => {
initPreferences,
resetPreferences
};
});
});
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "IpcInvocationManager.h"
#include "IpcInvocationManager.h"
#include "../../../KernelProcess/kact/AllActions.h"
namespace p2c::client::util::kact {
template<class A>
Expand All @@ -9,7 +9,6 @@ namespace p2c::client::util::kact {
IpcActionRegistrator<kproc::kact::EnumerateAdapters> reg_ibind_EnumerateAdapters_;
IpcActionRegistrator<kproc::kact::Introspect> reg_ibind_Introspect_;
IpcActionRegistrator<kproc::kact::PushSpecification> reg_ibind_PushSpecification_;
IpcActionRegistrator<kproc::kact::SetAdapter> reg_ibind_SetAdapter_;
IpcActionRegistrator<kproc::kact::SetCapture> reg_ibind_SetCapture_;
IpcActionRegistrator<kproc::kact::BindHotkey> reg_ibind_BindHotkey_;
IpcActionRegistrator<kproc::kact::ClearHotkey> reg_ibind_ClearHotkey_;
Expand Down
2 changes: 1 addition & 1 deletion IntelPresentMon/AppCef/source/winmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
}

// name this process / thread
log::IdentificationTable::AddThisProcess(opt.cefType.AsOptional().value_or("main-client"));
log::IdentificationTable::AddThisProcess("cef-" + opt.cefType.AsOptional().value_or("mclient"));
log::IdentificationTable::AddThisThread("main");

// initialize the logging system
Expand Down
Loading