STM32H747I-DISCO tearing in double buffering
Hello all,
I have been trying to get the discovery board working in video mode with double buffering example working but have had no luck. I tried three different projects, the really old one from some release from two years ago, the 1.11.0 release, and the 1.11.1 release (a patch to the 1.11.0 release which seem to have added additional files relating to the display, i.e., nt35510.c, though I don't understand how this works since there's also the OTM8009A which I've copied from the previous release 1.11.1). None of these projects seem to give the expected behavior and frustratingly still results in tearing.

This is captured on my phone, what's shown below is played back at 960 FPS (I think, might be half of that). It seems to update the screen very quickly, faster than what my camera can capture, but bafflingly, does it in two diagonal halves.
If I understand the project correctly, once the buffer is prepared, the LTDC hardware is pointed to the address of the new buffer by a single change in pointer, and the LTDC runs continuously by scanning the buffer repeatedly and outputing the highspeed DSI data as it does not have a separate buffer. This change in pointer should be extremely fast.
What's also odd to me is that the buffers are initialized to an unexpected size and not 800*480*4 (resolution of the screen and 32 bits per ARGB8888 pixel).

Could someone please give some ideas of what's going on? Is this a driver issue? I also had no idea how to patch the 1.11.1 patch to CubeMX and had to manually patch it (generate new project using 1.11.0 and then add in the files to a project that's manually extracted from the 1.11.1 patch)
The demo seems to have no similar tearing problems so the hardware should be capable of generating a tearing free viewing experience.
(keywords for future people experiencing similar issues: LTDC, DSI, DISCO, NT35510, OMT8009A)
