11:07Ermine: I didn't quite get it what "Scanout buffer". As far as I understand, it means framebuffer which device will send to the screen. But this definition means there can be at most one scanout buffer per display, and that seems wrong
11:10Ermine: (sorry if my understanding is really wild)
11:45K900: In what context?
13:10Ermine: Oh, there are different meainings...
13:11K900: In general, there is no fixed "scanout buffer" on modern GPUs
13:12K900: The display hardware just reads from somewhere in VRAM
13:13K900: But also this just feels like a very XY question
13:14Ermine: I'm not trying to solve anything now, just clarifying terminology
13:17K900: Well, did I answer your question then?
13:20MrCooper: Ermine: "scanout buffer" is generally used to refer to a buffer which is currently being scanned out by a display plane
13:20MrCooper: or which is intended to be scanned out
13:22javierm: Ermine: I guess is in the context of simpledrm? (since you asked about simpledrm before)
13:24Ermine: javierm: no, it's unrelated
13:30Ermine: K900: sorry, but not quite
13:30Ermine: MrCooper: thank you!
13:31K900: The real answer is "it's complicated" because GPUs do all kinds of compositing and postprocessing in hardware
13:31K900: So there may not even be a Scanout Buffer containing exactly what the display sees
13:48Ermine: got it
13:52Ermine: Actually there are slides on this topic which describes those... My bad
13:53K900: Just keep in mind that whatever slides you find will probably be describing specific hardwre
13:53K900: s/hardwre/hardware/
13:53K900: Even if they don't say exactly what hardware they're describing
13:55MrCooper: K900: scanout buffer is a generic concept, not a HW-specific one
13:56K900: Yes, but slides describing a specific scanout pipeline will be pretty specific to the hardware
13:57Ermine: "framebuffers -> plane -> CRTC -> encoder -> connector -> display" seems generic
13:57K900: At that level of abstraction, more or less, yes
13:57K900: But the exact operations supported in the pipeline will differ a lot
13:58K900: And some steps may be skipped especially on mobile
13:59Ermine: but it seems like the abstraction DRM maintains
14:00K900: Yes, but not all hardware will have support for planes
14:02K900: And some hardware will actually have the CRTC and encoder as one thing
21:40Ermine: https://docs.kernel.org/gpu/drm-internals.html#memory-manager-initialization --- seems like some invalid link resulted in "See ? for details."
21:43Ermine: Ah, it is just plain "?" in the doc source