git: openjdk/jfx-sandbox: direct3d12: 8342686: JavaFX D3D12: Add support for big texture updates

duke duke at openjdk.org
Mon Nov 11 13:46:15 UTC 2024


Changeset: 4208f52e
Branch: direct3d12
Author:    Lukasz Kostyra <lukasz.kostyra at oracle.com>
Date:      2024-11-11 14:29:55 +0000
URL:       https://git.openjdk.org/jfx-sandbox/commit/4208f52e6241291ff8dd25f03a2fb0e45b120a30

8342686: JavaFX D3D12: Add support for big texture updates

Texture updates are now delegated to a separate buffer when the
estimated texture size is too large. This removes the limit on texture
upload sizes that was previously in place due to RingBuffer's static
size.

NativeBuffer's D3D12Resource is now added to ResourceDisposer upon
destruction to prevent free-while-in-use situations. ResourceDisposer
will also ignore any MarkDisposed() calls in which D3D12ResourcePtr
provided is null - this is to prevent problems when NativeBuffer or
NativeTexture are created but not Init()-ed and are later destroyed.

Verified with HelloImage and HelloImageClipboard demos now working
correctly and displaying big images. Ensemble8 also works fine.

! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeBuffer.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/D3D12NativeDevice.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12ResourceDisposer.cpp
! modules/javafx.graphics/src/main/native-prism-d3d12/Internal/D3D12RingContainer.hpp



More information about the openjfx-changes mailing list