re(ui): the game does query the display gamma -- measured, with its control
Last iteration's corrected experiment, run. Boot with --log_mask=12 --log_level=3 (Kernel logging on, Cpu/Gpu off), which changes nothing about the output and so cannot perturb the capture harness the way the gamma-cvar experiment would have. VdGetCurrentDisplayGamma is called once, at video init: d> VdGetSystemCommandBuffer(701CF830, 701CF804) d> VdGetCurrentDisplayGamma(701CE1F8(00000000), 701CE1F0(0)) d> VdSetDisplayMode(40000000) d> VdGetCurrentDisplayInformation(701CF110) The control is in the same log: 359 VdRetrainEDRAM and 358 VdGetSystemCommandBuffer lines, so an absent call would have been visible. Per the export's own comment the returned type is "used in D3D SetGammaRamp/SetPWLGamma" -- the game asks the question a ramp-builder asks, at the moment one would ask it. Still open, and stated: whether it then WRITES the ramp, and whether the measured gamma 1.34-1.49 is that ramp. The write is a GPU register operation (DC_LUT), invisible to kernel logging; a GPU trace records gamma ramps as a command type (TraceWriter::WriteGammaRamp), which is where to look next. Worth its own METHOD line: this had been parked behind "needs the emulator to reach a menu" for several iterations, and it needed the emulator only to BOOT -- video init happens in the first seconds. A blocker that stops one experiment does not stop every experiment in the same area.
This commit is contained in:
9
docs/re/data/gamma-call-evidence.txt
Normal file
9
docs/re/data/gamma-call-evidence.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
# canary --log_mask=12 --log_level=3 (Kernel logging ON), 2026-08-29
|
||||
# control: the same log carries 359 VdRetrainEDRAM and 358 VdGetSystemCommandBuffer lines,
|
||||
# so a missing call would have been visible.
|
||||
|
||||
F 820006F4 8284E27C 1B9 ( 441) VdGetCurrentDisplayGamma
|
||||
F 8200070C 8284E2BC 1BA ( 442) VdGetCurrentDisplayInformation
|
||||
F 82000710 8284E2CC 1D3 ( 467) VdSetDisplayMode
|
||||
d> F8000008 VdGetSystemCommandBuffer(701CF830, 701CF804)
|
||||
d> F8000008 VdGetCurrentDisplayGamma(701CE1F8(00000000), 701CE1F0(0))
|
||||
Reference in New Issue
Block a user