detached 40705c4

fix(color): log the surface identity and the 3D LUT actually used

commit
40705c4713c353135f4d506119b740e00199d261
author
brice · · 2026-10-23 05:36 UTC
parent
1ec6f71
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
2 files · +3 -3
M internal/adapters/drm/scanout.go +1 -1
@@ -269,7 +269,7 @@ func (o *Output) scanoutFrame(scene ports.Scene, surfaces map[ports.WindowID]por
269269 // Entering scanout: how the buffer will be shown on the plane.
270270 o.renderLog.Info().Str("connector", o.conn.name).Uint32("format", c.DMABuf.Format).Uint64("modifier", c.DMABuf.Modifier).
271271 Bool("opaque", c.Opaque).Uint8("tf", c.Color.TF).Uint8("primaries", c.Color.Primaries).
272- Bool("hdr_on", o.hdr.on).Bool("pipeline_matched", o.primary.pipeline != nil).Bool("sdr_to_pq", mode == colorSDRToPQ).Bool("lut3d_identity", o.lut3dBlob != 0).
272+ Bool("hdr_on", o.hdr.on).Bool("pipeline_matched", o.primary.pipeline != nil).Bool("sdr_to_pq", mode == colorSDRToPQ).Bool("lut3d_identity", mode == colorSDRToPQ && o.lut3dBlob != 0 && o.primary.pipeline != nil && o.primary.pipeline.lut3d.op != 0).
273273 Msg("scanout colour")
274274 }
275275 o.setScanoutReason(reason)
@@ -269,7 +269,7 @@ func (o *Output) scanoutFrame(scene ports.Scene, surfaces map[ports.WindowID]por
269 // Entering scanout: how the buffer will be shown on the plane.269 // Entering scanout: how the buffer will be shown on the plane.
270 o.renderLog.Info().Str("connector", o.conn.name).Uint32("format", c.DMABuf.Format).Uint64("modifier", c.DMABuf.Modifier).270 o.renderLog.Info().Str("connector", o.conn.name).Uint32("format", c.DMABuf.Format).Uint64("modifier", c.DMABuf.Modifier).
271 Bool("opaque", c.Opaque).Uint8("tf", c.Color.TF).Uint8("primaries", c.Color.Primaries).271 Bool("opaque", c.Opaque).Uint8("tf", c.Color.TF).Uint8("primaries", c.Color.Primaries).
272- Bool("hdr_on", o.hdr.on).Bool("pipeline_matched", o.primary.pipeline != nil).Bool("sdr_to_pq", mode == colorSDRToPQ).Bool("lut3d_identity", o.lut3dBlob != 0).272+ Bool("hdr_on", o.hdr.on).Bool("pipeline_matched", o.primary.pipeline != nil).Bool("sdr_to_pq", mode == colorSDRToPQ).Bool("lut3d_identity", mode == colorSDRToPQ && o.lut3dBlob != 0 && o.primary.pipeline != nil && o.primary.pipeline.lut3d.op != 0).
273 Msg("scanout colour")273 Msg("scanout colour")
274 }274 }
275 o.setScanoutReason(reason)275 o.setScanoutReason(reason)
M internal/adapters/wayland/colormanagement.go +2 -2
@@ -196,7 +196,7 @@ func (h *colorSurface) SetImageDescription(r *cm.WpColorManagementSurfaceV1, des
196196 return
197197 }
198198 h.surf.next.color = d.SurfaceColor
199- h.surf.server.log.Info().Uint64("id", uint64(h.surf.windowID())).Uint32("tf", d.TF).Uint32("primaries", d.Primaries).
199+ h.surf.server.log.Info().Uint64("surface", h.surf.identity).Uint64("id", uint64(h.surf.windowID())).Uint32("tf", d.TF).Uint32("primaries", d.Primaries).
200200 Uint32("max_cll", d.MaxCLL).Uint32("max_fall", d.MaxFALL).Uint32("intent", intent).Msg("surface color description set")
201201 }
202202 func (h *colorSurface) UnsetImageDescription(r *cm.WpColorManagementSurfaceV1) {
@@ -205,7 +205,7 @@ func (h *colorSurface) UnsetImageDescription(r *cm.WpColorManagementSurfaceV1) {
205205 return
206206 }
207207 h.surf.next.color = SurfaceColor{}
208- h.surf.server.log.Info().Uint64("id", uint64(h.surf.windowID())).Msg("surface color description unset")
208+ h.surf.server.log.Info().Uint64("surface", h.surf.identity).Uint64("id", uint64(h.surf.windowID())).Msg("surface color description unset")
209209 }
210210
211211 type colorFeedback struct {
@@ -196,7 +196,7 @@ func (h *colorSurface) SetImageDescription(r *cm.WpColorManagementSurfaceV1, des
196 return196 return
197 }197 }
198 h.surf.next.color = d.SurfaceColor198 h.surf.next.color = d.SurfaceColor
199- h.surf.server.log.Info().Uint64("id", uint64(h.surf.windowID())).Uint32("tf", d.TF).Uint32("primaries", d.Primaries).199+ h.surf.server.log.Info().Uint64("surface", h.surf.identity).Uint64("id", uint64(h.surf.windowID())).Uint32("tf", d.TF).Uint32("primaries", d.Primaries).
200 Uint32("max_cll", d.MaxCLL).Uint32("max_fall", d.MaxFALL).Uint32("intent", intent).Msg("surface color description set")200 Uint32("max_cll", d.MaxCLL).Uint32("max_fall", d.MaxFALL).Uint32("intent", intent).Msg("surface color description set")
201 }201 }
202 func (h *colorSurface) UnsetImageDescription(r *cm.WpColorManagementSurfaceV1) {202 func (h *colorSurface) UnsetImageDescription(r *cm.WpColorManagementSurfaceV1) {
@@ -205,7 +205,7 @@ func (h *colorSurface) UnsetImageDescription(r *cm.WpColorManagementSurfaceV1) {
205 return205 return
206 }206 }
207 h.surf.next.color = SurfaceColor{}207 h.surf.next.color = SurfaceColor{}
208- h.surf.server.log.Info().Uint64("id", uint64(h.surf.windowID())).Msg("surface color description unset")208+ h.surf.server.log.Info().Uint64("surface", h.surf.identity).Uint64("id", uint64(h.surf.windowID())).Msg("surface color description unset")
209 }209 }
210 210
211 type colorFeedback struct {211 type colorFeedback struct {

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 23

Tags 10

↑↓ moveenter openesc close