[PATCH v2 xserver] glamor: Two pass won't work on memory pixmaps

Eric Anholt eric at anholt.net
Tue Jan 24 23:24:19 UTC 2017


Olivier Fourdan <ofourdan at redhat.com> writes:

> When selecting "CA_TWO_PASS" in glamor_composite_clipped_region() when
> the hardware does not support "GL_ARB_blend_func_extended", we call
> glamor_composite_choose_shader() twice in a row, which in turn calls
> glamor_pixmap_ensure_fbo().
>
> On memory pixmaps, the first call will set the FBO and the second one
> will fail an assertion in glamor_upload_picture_to_texture() because
> the FBO is already set.
>
> Bail out earlier when the mask pixmap is in memory and the hardware
> capabilities would require to use two pass, so that the assertion is not
> failed and the rendering is correct.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99346
> Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
> ---
>  v2: Bail out only on the specific case which would lead to the assertion
>      failure otherwise

Tested, reviewed and pushed.  Thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20170124/496bd807/attachment.sig>


More information about the xorg-devel mailing list