On Tue, 16 Dec 2025 11:49:31 GMT, Jayathirth D V <[email protected]> wrote:

>> Currently we don't set any texture filtering & addressing modes for 3D 
>> textures in Metal pipeline.
>> Default 3D texture filtering is "nearest" for Metal textures, but we use 
>> "linear" filtering by default for 3D textures in case of OpenGL.
>> Default addressing mode is "clamp_to_edge" in Metal textures, but we use 
>> "repeat" addressing mode for 3D textures in OpenGL.
>> 
>> Metal should use same default filtering & addressing modes for 3D textures 
>> as in OpenGL pipeline.
>> Under this issue we are trying only to match defaults of Metal to OpenGL 
>> pipeline.
>> 
>> We don't update the filters/addressing modes for 3D textures once created.
>> We have open enhancements like https://bugs.openjdk.org/browse/JDK-8324594 
>> where we might provide API's to set sampler states for 3D textures in future.
>> 
>> Functional and performance testing is green with this update.
>
> Jayathirth D V has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   create sampler states only once

Leaving a few queries regarding the changes.
I expect there should not be any behavior changes, correct ?

modules/javafx.graphics/src/main/native-prism-mtl/MetalContext.m line 1156:

> 1154:  * Class:     com_sun_prism_mtl_MTLContext
> 1155:  * Method:    nSetDeviceParametersFor3D
> 1156:  * Signature: (J)J

minor :  `(J)J`  should be changed to  `(J)V`

modules/javafx.graphics/src/main/native-prism-mtl/MetalMeshView.m line 244:

> 242:                              atIndex:3];
> 243:     [phongEncoder setFragmentSamplerState:[material 
> getSamplerState:SELFILLUMINATION]
> 244:                                   atIndex:0];

1. All `setFragmentSamplerState` are setting at index 0, should it not be 
0,1,2,3?
2. Does this not require any changes to `PhongPS.metal`,  The shader functions 
in `PhongPS.metal` do not have a `sampler` parameter.
3. Currently the `PhongPS.metal` file creates two samplers in shader file 
itself and uses those for sampling. May be that should be modified to use these 
samplers that are set using `setFragmentSamplerState`

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

Changes requested by arapte (Reviewer).

PR Review: https://git.openjdk.org/jfx/pull/2005#pullrequestreview-3586288154
PR Review Comment: https://git.openjdk.org/jfx/pull/2005#discussion_r2625834766
PR Review Comment: https://git.openjdk.org/jfx/pull/2005#discussion_r2625892527

Reply via email to