[OpenJDK 2D-Dev] RFR: 8263583: Emoji rendering on macOS

Dmitry Batrak dbatrak at openjdk.java.net
Tue Mar 16 08:53:15 UTC 2021


On Tue, 16 Mar 2021 05:10:05 GMT, Dmitry Batrak <dbatrak at openjdk.org> wrote:

>> Initial testing it looks OK with OpenGL but it renders as garbage with the metal pipeline.
>> I'd guess metal isn't expecting 4bpp and the stride is wrong.
>> I see updates in OGLTextRenderer so something similar likely needed for metal.
>> Since metal is now integrated this should be fixed before this change can be pushed.
>
>> Initial testing it looks OK with OpenGL but it renders as garbage with the metal pipeline.
>> I'd guess metal isn't expecting 4bpp and the stride is wrong.
>> I see updates in OGLTextRenderer so something similar likely needed for metal.
>> Since metal is now integrated this should be fixed before this change can be pushed.
> 
> I'm going to add Metal implementation soon.

> If it is a complete "General" loop which supports all possible combination of incoming src/comp/dst/transform/etc I suggest to confirm that in the test.

@mrserb This code is currently only used by GlyphListLoopPipe-based text renderers (SolidTextRenderer, AATextRenderer, LCDTextRenderer), so it won't be invoked for arbitrary composites and paint types. But different destination types (image formats) and transforms are supported.

What kind of test are you having in mind? I can extend the added MacEmoji.java test, that will check that 'something' is painted to different types of BufferedImage-s and/or with transforms applied. Or you want me to add a manual test case?

-------------

PR: https://git.openjdk.java.net/jdk/pull/3007


More information about the 2d-dev mailing list