[Mesa-dev] [PATCH 00/10] dri3: Swapbuffer update v2
Michel Dänzer
michel at daenzer.net
Tue Aug 15 07:34:02 UTC 2017
On 11/08/17 11:14 PM, Thomas Hellstrom wrote:
> Implement back-to-fake-front flips,
> Fix EGL_BUFFER_PRESERVED path.
> Implement dri3 support for GLX_SWAP_EXCHANGE_OML and GLX_SWAP_COPY_OML.
>
> The back-to-fake-front flips will save a full buffer copy in the case of a
> fake front being enabled and GLX_SWAP_UNDEFINED_OML.
>
> Support for EGL_BUFFER_PRESERVED and GLX_SWAP_X_OML are mostly useful for
> things like glretrace if traces are capured with applications relying on a
> specific swapbuffer behavior.
>
> The EGL_BUFFER_PRESERVED path previously made sure the present was done as
> a copy, but there was nothing making sure that after the present,
> the same back buffer was chosen.
> This has now been changed so that if the previous back buffer is
> idle, we reuse it. Otherwise we grab a new and copy the contents and
> buffer age from the previous back buffer. Server side flips are allowed.
>
> GLX_SWAP_COPY_OML will behave like EGL_BUFFER_PRESERVED.
>
> GLX_SWAP_EXCHANGE_OML will behave similarly, except that we try to reuse the
> previous fake front as the new back buffer if it's idle. If not, we grab
> a new back buffer and copy the contents and buffer age from the old fake front.
>
> v2:
> - Split the original patch,
> - Make sure we have a context for blitImage even if we don't have a
> current context.
> - Make sure the delayed backbuffer allocation is performed before
> glXSwapBuffers, glXCopyBuffers and querying buffer age.
>
> Testing done:
> piglit tests/quick without regressions on svga.
> A modified piglit glx-swap-exchange posted for review on the piglit list.
> That test required modifying the dri2 state tracke to advertise unconditional
> support for GLX_SWAP_EXCHANGE_OML
> A piglit glx-swap-copy test derived from the glx-swap-exchange test.
> Not posted yet.
>
> Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
Patches 3 & 4 should probably be squashed into patch 2 in order to avoid
leaking the cached blit context.
Patches 1, 5, 7-10 are
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list