git: openjdk/jfx-sandbox: direct3d12: 8356859: Rewrite Descriptor management to create-once-and-copy scheme
duke
duke at openjdk.org
Tue Jun 17 13:11:09 UTC 2025
Changeset: 04ff0c3d
Branch: direct3d12
Author: Lukasz Kostyra <lukasz.kostyra at oracle.com>
Date: 2025-06-17 13:04:31 +0000
URL: https://git.openjdk.org/jfx-sandbox/commit/04ff0c3dd3940e5d783d53fadbeacd5d41ec20e5
8356859: Rewrite Descriptor management to create-once-and-copy scheme
This change adds DescriptorAllocator which manages descriptor allocation
and multiple Heaps. This allows to allocate as many descriptors as the
system requires.
With the Allocator it is now possible to pre-allocate the most commonly
used SRV Descriptor for all Textures and use CopyDescriptorsSimple()
instead of creating a new one mid-frame, which should lower the CPU load
during rendering.
! 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/D3D12NativeDevice.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeRenderTarget.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeSwapChain.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeTexture.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeTexture.hpp
+ modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12DescriptorAllocator.cpp
+ modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12DescriptorAllocator.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12DescriptorData.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12DescriptorHeap.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12DescriptorHeap.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12ResourceDisposer.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12ResourceDisposer.hpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingDescriptorHeap.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12SamplerStorage.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12SamplerStorage.hpp
More information about the openjfx-changes
mailing list