On Tue, 23 Apr 2024 10:33:58 GMT, Lukasz Kostyra <lkost...@openjdk.org> wrote:
> JFX minimum requirements guarantee 9Ex availability, so old non-Ex paths are > no longer needed. > > In multiple parts (ex. Mesh, Graphics, etc.) where the Device is acquired I > changed the type to explicitly use `IDirect3DDevice9Ex`. Technically it > doesn't matter much (`IDirect3DDevice9Ex` inherits `IDirect3DDevice` - it was > leveraged to transparently use the Ex device in the backend) but now we don't > have the non-Ex device, so that keeps it a bit more consistent and clear IMO. > > Verified by running tests on Windows 11, did not notice any regressions. > Unfortunately I have no way to test this on older systems. modules/javafx.graphics/src/main/java/com/sun/prism/d3d/D3DRTTexture.java line 175: > 173: @Override > 174: public boolean isVolatile() { > 175: return false; Quick note - this was checking on native side if we have non-Ex device and returning `true` if we did, `false` if D3D9 was initialized with Ex. So far I only kept these changes within D3D backend. However, I checked the rest of the code and it seems that only D3D9 non-Ex ever returned anything else than `false`. Right now all the backends (d3d, egl, sw) return `false` in this method, which technically leaves a bit of dead code inside common part of Prism. Should we consider removing this method completely? ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1445#discussion_r1576033831