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

Reply via email to