RFR: 8092272: [D3D 3D] Need a robust 3D states management for texture [v2]

Nir Lisker nlisker at openjdk.org
Fri Nov 10 23:39:21 UTC 2023


> Moves the filter setting of the samplers from the device parameters configuration to the use-site, allowing for dynamic changes in the sampler. This PR does internal plumbing work only to bring it close to the ES2 pipeline. A followup PR will create the public API.
> 
> Summary of the changes:
> * Created a new (internal for now) `TextureData` object that is intended to contain all the data of texture (map) of `PhongMaterial`, such as filters, addressing, wrapping mode, mipmaps etc. **This PR deals only with filters** as a starting point, more settings can be added later.
> * Creates an update mechanism from the Java side material to the native D3D layer. The public API `PhoneMaterial` is *not* changed yet. The peer `NGPhongMaterial` is configured to receive update from the public `PhongMaterial` when the public API is created via new `ObjectProperty<TextureData>` properties.
> * Small refactoring in the D3D layer with a new map types enum to control the texture settings more easily.
> 
> The JBS issue lists some regressions in a comment, but I couldn't reproduce them. It looks like the sampler settings needed to be added anywhere, and that was the easiest to do at the time. Now they were just moved.

Nir Lisker has updated the pull request incrementally with one additional commit since the last revision:

  Addressed review comments

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/1281/files
  - new: https://git.openjdk.org/jfx/pull/1281/files/34e1d1ab..bd3c9204

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1281&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1281&range=00-01

  Stats: 37 lines in 4 files changed: 3 ins; 5 del; 29 mod
  Patch: https://git.openjdk.org/jfx/pull/1281.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1281/head:pull/1281

PR: https://git.openjdk.org/jfx/pull/1281


More information about the openjfx-dev mailing list