Issue:
As described in the bug, a crash occurs on macOS VM created using Parallels.
The crash occurs when trying to create a 
[MTLArgumentEncoder](https://github.com/openjdk/jfx/blob/5ac1620ac0ba20170ae9758e20893feba5ebc58b/modules/javafx.graphics/src/main/native-prism-mtl/MetalShader.m#L76C49-L76C82),
 which is required for creating Shaders(Both Prism and Decora)
This crash is not observed on macOS VM created using Apple Virtualization 
Framework.

Fix:
Support for MTLArgumentEncoder is mandatory for Prism Metal Rendering pipeline. 
Without support for MTLArgumentEncoder the Shaders cannot be created.
In this scenario Prism should gracefully fallback to Software rendering.
Added a check to verify if the minimum 
[MTLGPUFamilyMac2](https://developer.apple.com/documentation/metal/mtlgpufamily/mac2?language=objc)
 GPU family is supported by the platform. If not supported then Metal Pipeline 
cannot be used, and rendering falls back to software pipeline.

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

Commit messages:
 - check mtl lib support

Changes: https://git.openjdk.org/jfx/pull/2061/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2061&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8375466
  Stats: 25 lines in 2 files changed: 25 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jfx/pull/2061.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2061/head:pull/2061

PR: https://git.openjdk.org/jfx/pull/2061

Reply via email to