On 9/8/21 2:44 AM, Simon Ser wrote:
stride ????
I think what's clear is:
- Per-plane property
- In bytes
- Offset between two consecutive rows
How that applies to weird YUV formats is the tricky question…
Btw. there was a fun argument whether the same modifier value could mean different things on different devices. There were also arguments that a certain modifier could reference additional implicit memory on the device - memory that can only be accessed by very specific devices.
I think AMLOGIC_FBC_LAYOUT_SCATTER was one of those.
A recent exmaple of this is [1].
What was the resolution to that argument? It took some fiddling to get the NV format modifiers to be robust enough that they actually do differentiate "identical" layouts that actually mismatch between devices (E.g., some of our SoC GPUs interpret layouts differently than our discrete GPUs, so that's reflected in the format modifier-building macro and hence applications can properly deduce that they can *not* share images directly between these devices, but can share between two similar discrete GPUs), so I hope the modifier definition allows that. Cross-device sharing using tiled formats in machines with multiple similar NV GPUs was an important use case for modifiers on our side.
Thanks, -James