On Tue, 23 Apr 2024 10:33:58 GMT, Lukasz Kostyra <[email protected]> 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