[OE-core] [PATCH v2] libsdl2: Fix left rotated display for RaspPi/VC4/GLES2

Richard Purdie richard.purdie at linuxfoundation.org
Wed Aug 29 14:16:36 UTC 2018


On Wed, 2018-08-29 at 00:19 +0200, Andreas Müller wrote:
> The patch should increase performance for libsdl2 on GLES2 too.
> 
> Signed-off-by: Andreas Müller <schnitzeltony at gmail.com>
> ---
>  ...01-GLES2-Get-sin-cos-out-of-vertex-shader.patch | 141
> +++++++++++++++++++++
>  meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb     |   1 +
>  2 files changed, 142 insertions(+)
>  create mode 100644 meta/recipes-graphics/libsdl2/libsdl2/0001-GLES2-
> Get-sin-cos-out-of-vertex-shader.patch
> 
> diff --git a/meta/recipes-graphics/libsdl2/libsdl2/0001-GLES2-Get-
> sin-cos-out-of-vertex-shader.patch b/meta/recipes-
> graphics/libsdl2/libsdl2/0001-GLES2-Get-sin-cos-out-of-vertex-
> shader.patch
> new file mode 100644
> index 0000000000..621b7ea1a0
> --- /dev/null
> +++ b/meta/recipes-graphics/libsdl2/libsdl2/0001-GLES2-Get-sin-cos-
> out-of-vertex-shader.patch
> @@ -0,0 +1,141 @@
> +From c215ba1d52a3d4ef03af3ab1a5baa1863f812aed Mon Sep 17 00:00:00
> 2001
> +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony at gmail.com>
> +Date: Fri, 24 Aug 2018 23:10:25 +0200
> +Subject: [PATCH] GLES2: Get sin/cos out of vertex shader
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +The only place angle is activated and causes effect is RenderCopyEx.
> All other
> +methods which use vertex shader, leave angle disabled and cause
> useless sin/cos
> +calculation in shader.
> +
> +To get around shader's interface is changed to a vector that
> contains results
> +of sin and cos. To behave properly when disabled, cos value is set
> with offset
> +-1.0 making 0.0 default when deactivated.
> +
> +As nice side effect it simplifies GLES2_UpdateVertexBuffer: All
> attributes are
> +vectors now.
> +
> +Additional background:
> +
> +* On RaspberryPi it gives a performace win for operations. Tested
> with
> +  [1] numbers go down for 5-10% (not easy to estimate due to huge
> variation).
> +* SDL_RenderCopyEx was tested with [2]
> +* It works around left rotated display caused by low accuracy sin
> implemetation
> +  in RaspberryPi/VC4 [3]
> +
> +Upstream-Status: Submitted [4]

If I'm reading the logs correctly, this was actually merged upstream so
the status would become Accepted or Backport?

> +[1] https://github.com/schnitzeltony/sdl2box
> +[2] https://github.com/schnitzeltony/sdl2rendercopyex
> +[3] https://github.com/anholt/mesa/issues/110
> +[4] https://hg.libsdl.org/SDL/rev/e5a666405750

Cheers,

Richard



More information about the Openembedded-core mailing list