[Mesa-dev] OpenGL ES token pasting support.

Matt Turner mattst88 at gmail.com
Tue Mar 31 20:40:33 PDT 2015


On Tue, Mar 31, 2015 at 8:41 AM, Ryan Houdek <sonicadvance1 at gmail.com> wrote:
> I'm proposing changing from explicitly disallowing token pasting in OpenGL
> ES to allowing it in a similar fashion to desktop OpenGL.
> I'm proposing this for multiple reasons:
>     - The Dolphin emulator uses it, and has been broken with Mesa's OpenGL
> ES for a number of months.
>     - A number of proprietary vendors support it even though ESSL3/3.1 spec
> explicitly disallows it
>
> The vendors that I know of that support token pasting under OpenGL ES:
>     - Qualcomm Adreno
>     - ARM Mali
>     - Nvidia Tegra (OpenGL ES)
>
> The vendors that I haven't tested against:
>     - IMGTec PowerVR
>     - Vivante
>     - Android Intel (Uses something other than Mesa apparently?)
>     - iOSs (They have a complete in-house shader compiler)
>
> So I think Mesa should allow token pasting even though the spec says not to.
> Mainly because I want to get Dolphin working under OpenGL ES with Mesa
> again.

I'm pretty sure I added the code to disallow token pasting in ES
(commit 5e918a38) simply because there was a conformance test from
Khronos.

I'd be fine with removing it... if there's not a conformance test that
we have to pass. Three vendors allowing token pasting is pretty good
evidence that there's no test. Thanks for testing other
implementations.

I've always thought the arbitrary differences like this between
Desktop GL and ES were really stupid.

I'm not super excited about figuring out how to run the conformance
suite again. Maybe I can ask our QA to run it with a patch to remove
the disallow code.


More information about the mesa-dev mailing list