git: openjdk/jfx-sandbox: direct3d12: 8356860: Use common Graphics Root Signature in NativeShader

duke duke at openjdk.org
Fri Jul 11 15:52:36 UTC 2025


Changeset: e8caaf1f
Branch: direct3d12
Author:    Lukasz Kostyra <lukasz.kostyra at oracle.com>
Date:      2025-07-10 14:17:03 +0000
URL:       https://git.openjdk.org/jfx-sandbox/commit/e8caaf1fb85c964051e1e293844e520285a87e67

8356860: Use common Graphics Root Signature in NativeShader

- NativeShader code got vastly simplified because its code creating Root
  Signatures was removed and common Graphics RS was used instead
  - No JFX Prism/Decora Shader used more than 4 textures, which is the
    same as common Graphics RS was already set to process. This greatly
    simplified the transition to common RS.
  - ShaderSlots were renamed to better reflect which Root Signature
    indexes are used.
  - ShaderCommon.hlsl is now added as an include directory when building
    JSL-created Prism/Decora shaders.
- Adjustments to backend to accommodate common Graphics RS
- Minor adjustments to fix some older missed mistakes
  - NativeTexture's SRV is now created only for non-depth Textures and
    its ViewDimension is adjusted for MSAA Textures
  - RingContainer no-checkpoints assertion has been removed - when
    loading larger textures it triggered. Warning log remains to
    potentially detect those situations when performance matters more.

! build.gradle
! buildSrc/src/main/groovy/com/sun/javafx/gradle/CompileHLSL6Task.groovy
! modules/javafx.graphics/src/jslc/java/com/sun/scenario/effect/compiler/backend/hw/HLSL6Backend.java
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12Common.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeDevice.cpp
! 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/D3D12NativeTexture.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12BlitPixelShader.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12InternalShader.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12PSOManager.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RenderingContext.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingContainer.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/hlsl6/D3D12ShaderSlots.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/hlsl6/Internal_D3D12ShaderResourceDataHeader.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/hlsl6/ShaderCommon.hlsl



More information about the openjfx-changes mailing list