> Did anyone else notice how many related client objects we have now?...
>
> MirSurface
> MirBufferStream
> MirPresentationChain
> MirRenderSurface
>
> Surely someone who understands what these all are could try and reduce the
> number? (and shorten their names)
As Chris mentioned, they have different purposes, so they have different names.
As talked about before, the names might be off, but they're hard to move.
MirSurface -> the window, contains input, graphics, etc
MirRenderSurface-> the graphics content
MirPresentationChain -> a buffer-based submission
MirBufferStream -> the legacy type, with swap-based submissions
Now, I think that MirRenderSurface and MirPresentationChain are pretty darn close as far as what they are, and possibly could be consolidated. This gives small benefit in my estimation though, and makes the MirBufferStream usage stranger.
MirBufferStream is largely a helper object provided for legacy/convenience reasons. It is built internally on MirPresentationChain+MirBuffers these days.
> Did anyone else notice how many related client objects we have now?... Chain
>
> MirSurface
> MirBufferStream
> MirPresentation
> MirRenderSurface
>
> Surely someone who understands what these all are could try and reduce the
> number? (and shorten their names)
As Chris mentioned, they have different purposes, so they have different names.
As talked about before, the names might be off, but they're hard to move.
MirSurface -> the window, contains input, graphics, etc Chain -> a buffer-based submission
MirRenderSurface-> the graphics content
MirPresentation
MirBufferStream -> the legacy type, with swap-based submissions
Now, I think that MirRenderSurface and MirPresentation Chain are pretty darn close as far as what they are, and possibly could be consolidated. This gives small benefit in my estimation though, and makes the MirBufferStream usage stranger.
MirBufferStream is largely a helper object provided for legacy/convenience reasons. It is built internally on MirPresentation Chain+MirBuffer s these days.