RFR: 8320563: Remove D3D9 code paths in favor of D3D9Ex
Nir Lisker
nlisker at openjdk.org
Thu Apr 25 15:29:39 UTC 2024
On Tue, 23 Apr 2024 10:33:58 GMT, Lukasz Kostyra <lkostyra at 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.
Tested the functionality with the 3DLighting app, things look the same as before the patch. Left a minor comment.
modules/javafx.graphics/src/main/native-prism-d3d/D3DPipeline.cc line 237:
> 235: }
> 236:
> 237: int getMaxSampleSupport(IDirect3D9Ex *d3d9, UINT adapter) {
Minor: In some cases you also change the name of the variable to add the "Ex" suffix., like in
D3DContext::D3DContext(IDirect3D9Ex *pd3dEx, UINT adapter)
^
Here and In `PiplineManager.h` it's left as `IDirect3D9Ex * pd3d9;` without "Ex".
I don't mind it either way (I would probably not bother changing them myself), but perhaps we should remain consistent.
-------------
Marked as reviewed by nlisker (Reviewer).
PR Review: https://git.openjdk.org/jfx/pull/1445#pullrequestreview-2022879147
PR Review Comment: https://git.openjdk.org/jfx/pull/1445#discussion_r1579699815
More information about the openjfx-dev
mailing list