git: openjdk/jfx-sandbox: direct3d12: D3D12NativeShader: Remove Root Constant binding type

duke duke at openjdk.org
Tue Mar 4 14:01:37 UTC 2025


Changeset: 30b016b7
Branch: direct3d12
Author:    Lukasz Kostyra <lukasz.kostyra at oracle.com>
Date:      2025-03-04 14:54:28 +0000
URL:       https://git.openjdk.org/jfx-sandbox/commit/30b016b7c2408d290a7c80cbf19abe8e1790500a

D3D12NativeShader: Remove Root Constant binding type

This is simplifying Shader resource binding for Prism/Decora shaders in
D3D12.

Originally code was meant to try and push as many Shader constants as
"Root Constants" as possible. This, however, has proven to be a bit
faulty and may not always present performance gains - initialization
code gets more complex for little to no gain on some systems (ex.
integrated Intel). Removing Root Constant resource binding type makes
NativeShader code simpler and easier to maintain with essentially no
tradeoffs.

This also fixes problems in some shaders with constants not being
properly bound, which results in visual bugs (ex. Ensemble8 Media
examples incorrectly rendering video frames).

! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12Common.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeShader.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeShader.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12InternalShader.cpp



More information about the openjfx-changes mailing list