git: openjdk/jfx-sandbox: direct3d12: 2 new changesets
duke
duke at openjdk.org
Fri Sep 5 13:17:58 UTC 2025
Changeset: 21f62711
Branch: direct3d12
Author: Lukasz Kostyra <lukasz.kostyra at oracle.com>
Date: 2025-09-05 13:46:36 +0000
URL: https://git.openjdk.org/jfx-sandbox/commit/21f62711914dbda427b09c81c637fa6bdf1709b7
RingContainer: Assume default size to be 3 times flush threshold
This change swaps the size and flushThreshold initialization parameters
of RingContainer and derived classes, assuming the size by default is 0.
With size 0 RingContainer calculates the size to be 3 times the flush
threshold which enables triple-buffering of mid-frame data. The only
exception is the Sampler Heap which has a hard limit of 2048 slots.
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeDevice.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12ResourceManager.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingBuffer.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingBuffer.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingContainer.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingContainer.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingDescriptorHeap.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingDescriptorHeap.hpp
Changeset: 4f3a1c1f
Branch: direct3d12
Author: Lukasz Kostyra <lukasz.kostyra at oracle.com>
Date: 2025-09-05 14:15:01 +0000
URL: https://git.openjdk.org/jfx-sandbox/commit/4f3a1c1f0572ab2e57f05a9c5f5bb419cfbadf66
Make Ring Container resources configurable
This adds three properties managing three mid-frame containers. All of
them prefix with usual "prism.d3d12":
- .mainRingBufferThreshold - determines the size of Main Ring Buffer's
flush threshold
- .constantRingBufferThreshold - determines the size of Constant Ring
Buffer's flush threshold
- srvRingHeapThreshold - determines the size of CBV/SRV/UAV Ring
Descriptor Heap's flush threshold
All three containers default to total size of 3 times the threshold.
This allows for changing the size of these containers without
recompiling the whole backend, which can be useful in optimizing the
backend on different hardware.
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeDevice.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeSwapChain.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12Config.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12Config.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12Debug.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12Logger.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12Profiler.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RenderingContext.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RenderingParameter.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12ResourceManager.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingContainer.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingContainer.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingDescriptorHeap.cpp
More information about the openjfx-changes
mailing list