Hello NVIDIA Reflex team,
I am seeking normative API clarification while implementing an NVAPI-compatible Reflex pacing path in vkd3d-proton. This concerns marker and frame-ID contract semantics, rather than latency debugging or game/platform support.
Reviewed NVIDIA guidance expects Reflex markers to continue while Low Latency is Off and exposes Off/On mode selection. However, I have not found a normative rule covering activation between marker calls.
The observed sequence is:
SIMULATION_START(X)completes while Low Latency is Off.- Activation occurs.
- The caller later submits
RENDERSUBMIT_START(X)carrying the same external Reflex ID.
Does the API define those calls as associated?
The current implementation returns from the inactive SIMULATION_START before creating an authoritative SimulationLedger mapping. The later active RENDERSUBMIT_START carrying that external ID therefore finds no active-epoch authoritative mapping.
The render-start encounters MAPPING_ABSENT, producing INVALID_RENDER_START; that failure won internal vkd3d accounting epoch 5’s first successful false→true pacing-bypass transition. The bypass is sticky within that active epoch and may be reset by activateEpoch() for a later epoch.
This explains why the contract distinction matters, but it does not establish that either the caller or runtime is wrong.
Depending on the applicable contract:
- Must the caller issue
SIMULATION_STARTagain after activation? - Must the runtime preserve or associate the pre-activation marker?
- Is this transition undefined or unsupported?
- Or does another marker-order or frame-ID lifetime rule govern the case?
Also, is equality of the external Reflex frame ID authoritative frame identity across this Off→On transition?
We need a normative rule precise enough to serve as an implementation invariant and regression-test oracle. In particular, we do not want to infer association merely from equal external IDs or implement retention/replay behavior without contractual authority.
Thank you.