Thanks for checking.

It is very possible the D3D12 runtime did not like something, could be related 
to your specific hardware. D3D12 by now has many extensions which differ 
depending on hardware and can lift certain restrictions - we already internally 
had a case where one GPU had some restriction that was not enforced on another 
GPU and we had to accommodate that.

The first step would be to try running D3D12 with “-Dprism.verbose=true 
-Dprism.debug=true”. These should print additional logs that might have some 
extra information.

If there’s nothing useful there, next step would be to build JavaFX with 
-PCONF=DebugNative - this will compile shaders in Debug, add assertions and 
debug logs to the backend - and then run your app with D3D12 debug layers and 
GPU debugging enabled by adding “-Dprsim.d3d12.debugLayers=true 
-Dprism.d3d12.gpuDebug=true”. Those will slow down the app significantly, but 
will also tell D3D12 to run additional API use and GPU use checks.

If the problem happens during a render loop and debug layers catch it, there is 
a chance it will cascade into other errors and spam the console output - you 
can tell D3D12 debug layers to trigger an assertion on first encountered error 
with “-Dprism.d3d12.breakOnError=true”.

I am running out of time today to check this myself, but if you find something 
let me know - I’ll try to reproduce the problem myself and we’ll see where we 
go from there.

Good luck!
- Lukasz

From: Christopher Schnick <[email protected]>
Sent: Thursday, 13 November 2025 16:11
To: Lukasz Kostyra <[email protected]>
Cc: [email protected]
Subject: [External] : Re: JavaFX Direct3D 12 - Second EA release


I just tried to run a project with provided jmods and at some point, certain 
nodes are just not rendered anymore and the window contents vanish. But they 
render for a short period of time.

There is no exception thrown as far as I can see, so not sure what you need for 
debugging.

For testing, this is the built application with the d3d12 jmods that you can 
use to attempt to reproduce the problem: 
https://we.tl/t-DJuX0BeqXm<https://urldefense.com/v3/__https:/we.tl/t-DJuX0BeqXm__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn7hHbsl_$>
 . It is built from these sources: 
https://github.com/xpipe-io/kickstartfx<https://urldefense.com/v3/__https:/github.com/xpipe-io/kickstartfx__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn9_QfENu$>
On 13/11/2025 14:40, Lukasz Kostyra wrote:
Hello openjfx-dev,

The second Early Access(EA) build of JavaFX with the Windows Direct3D 12 
rendering pipeline is now available at: 
https://jdk.java.net/javafxdirect3d12/<https://urldefense.com/v3/__https:/jdk.java.net/javafxdirect3d12/__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xnw7Bj6i8$>

Please test this bundle and share your feedback by:
- emailing [email protected]<mailto:[email protected]> or
- reporting issues via JBS[https://bugs.openjdk.org/] or at 
https://bugreport.java.com<https://urldefense.com/v3/__https:/bugreport.java.com__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn-g1RFIV$>

This is the second EA release. The backend is feature-complete and went through 
a first optimization pass, but it still requires some more testing on more 
hardware variants before we can consider it complete. As such, with this 
release we also would like to call for help with performance testing the 
backend (more details on that will be sent in a separate email thread).

Known issues and pending tasks are captured on JBS and can be accessed using 
the filter provided on the Direct3D 12 EA page 
[https://jdk.java.net/javafxdirect3d12/<https://urldefense.com/v3/__https:/jdk.java.net/javafxdirect3d12/__;!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xnw7Bj6i8$>].
 Before reporting a new bug, please review the existing issues to avoid 
duplicates.

Important Notes:
1. This is a Windows-specific feature, so only a Windows-specific bundle is 
provided.
2. The default rendering pipeline is set to d3d12. Use "-Dprism.order=d3d" or 
"-Dprism.order=sw" to select one of the other pipelines for comparison testing.
3. It is recommended to use JDK 25 or later.
4. At this stage D3D12 backend is feature-complete and went through the first 
phase of optimization. It is worth noting that, while generally we noticed 
performance improvements, it might not be on par with D3D backend on every 
machine combo  - we already noted performance being worse on recent NVidia 
discrete GPUs [https://bugs.openjdk.org/browse/JDK-8370486] and are looking for 
solutions.
5. Issue behavior may vary across different hardware, so please provide 
detailed information, such as the output of "java -Dprism.verbose=true" or used 
hardware, when reporting or discussing issues.
6. Refer: Run HelloWorld using JavaFX SDK 
[https://openjfx.io/openjfx-docs/#install-javafx<https://urldefense.com/v3/__https:/openjfx.io/openjfx-docs/*install-javafx__;Iw!!ACWV5N9M2RV99hQ!K0ztYeDtYFyIwxlmMB-9MDuvY7Xyd60-LuJK99hex3mclCWl29MJfnxkz2mmECxINzNr5bAdKvQ64O9Xn8uMZKUY$>]

We look forward to your feedback.

Regards,
Lukasz


Confidential- Oracle Internal

Reply via email to