JDK-8350479 : SW pipeline should use default pipeline in Glass
  • Type: Bug
  • Component: javafx
  • Sub-Component: window-toolkit
  • Affected Version: jfx26
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: os_x
  • CPU: generic
  • Submitted: 2025-02-21
  • Updated: 2025-10-28
  • Resolved: 2025-08-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
jfx26 b05Fixed
Related Reports
Blocks :  
Relates :  
Description
Glass is refactored to work properly with MTL, ES2 and SW pipeline under https://bugs.openjdk.org/browse/JDK-8325379 but for final blitting in GLass SW pipeline is continuing to use ES2 pipeline. Currently ES2 is default pipeline so this if okay, but when MTL will be default pipeline SW should select MTL pipeline for final blit.

Update Glass code so that for final blit in SW pipeline we use properly Hardware which which is present in PrismSettings.tryOrder.
Comments
Changeset: f8f466f9 Branch: master Author: Jayathirth D V <jdv@openjdk.org> Date: 2025-08-19 03:56:00 +0000 URL: https://git.openjdk.org/jfx/commit/f8f466f9038b02b1e100cccf25a9ba58e7a06157
19-08-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jfx/pull/1868 Date: 2025-08-13 10:21:56 +0000
13-08-2025

Tried different things(In common GraphicsPipeline class and PrismSettings) then concluded that when SW Pipeline is getting created we should set and pass a flag in device details to use OpenGL/MTL pipeline in Glass. Attached the patch for the same. Currently this flag(useMTLInGlass) is set to false so that OpenGL pipeline will be used. When we make metal as default pipeline we need to enable this flag. Patch is tested when useMTLInGlass is set to true/false and then using -Dprism.order=es2/mtl/sw and it picks proper path. Once Metal code is pushed into mainline we can remove verbose things in patch and raise PR.
09-07-2025

If i force GlassViewMTL to be used in when software pipeline is used in prism i can see that final blit works properly using Metal. We need to add appropriate condition in GlassView3D.m class to pick default hardware pipeline for final blit. Also this bug is not specific to metal so we should remove javafx-metal label.
23-06-2025