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

Andreas Müller schnitzeltony at gmail.com
Wed Aug 29 17:22:21 UTC 2018


On Wed, Aug 29, 2018 at 4:16 PM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> 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
LOL: V1 I tried 'Applied [4]'

and received patch failure message with the following hint:

| Valid status     Pending, Accepted, Backport, Denied, Inappropriate
[reason], Submitted [where]

My favourite would have been

| Accepted[4]

to state out clearly that '[4]' is oe-specific and not part of the
original patch. If I read the hint correctly that would have caused
another patch failure. So I chose Submitted.

So Accepted without []?

Sorry to ask such kind of questions...

Andreas



More information about the Openembedded-core mailing list