RFR: 8318985: [macos] Incorrect 3D lighting on macOS 14 and later

Kevin Rushforth kcr at openjdk.org
Wed Apr 23 13:35:49 UTC 2025


On Wed, 23 Apr 2025 12:13:52 GMT, Jayathirth D V <jdv at openjdk.org> wrote:

> When no specular color is set while rendering 3D primitives, 0.0 specular power value is used by default in our shaders.
> When same specular power value is used in pow() function in shader it results in undefined behaviour as mentioned at : https://registry.khronos.org/OpenGL-Refpages/es3.0/html/pow.xhtml
> 
> By default specular power value should be 32, so now the specular_none.frag file is updated to use this default value to make sure we don't see 3D lighting issues on some platforms. This change is tested with Ensemble8 and fx83dfeatures and i don't see any regressions.
> 
> Also one of our system test _PointLightIlluminationTest_ used to fail because of this issue. It passes now with this update and it is re-enabled.

LGTM. On my macOS 14.x M1 system, the re-enabled test fails without the fix and passes with the fix. It looks visually correct now.

I didn't test it on Linux, so I'll rely on others to do that.

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

Marked as reviewed by kcr (Lead).

PR Review: https://git.openjdk.org/jfx/pull/1791#pullrequestreview-2787346146


More information about the openjfx-dev mailing list