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