RFR: 8271024: Implement macOS Metal Rendering Pipeline [v6]

Ambarish Rapte arapte at openjdk.org
Tue Jul 15 05:45:47 UTC 2025


On Tue, 8 Jul 2025 11:49:28 GMT, Lukasz Kostyra <lkostyra at openjdk.org> wrote:

>> Ambarish Rapte has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   add @Override
>
> modules/javafx.graphics/src/main/native-prism-mtl/MetalShader.m line 167:
> 
>> 165:         pipeState = [[context getPipelineManager] getPipeStateWithFragFunc:fragmentFunction
>> 166:                                                              compositeMode:compositeMode];
>> 167:         [psDict setObject:pipeState forKey:keyCompMode];
> 
> I am not 100% sure why there is a need to duplicate PipelineState dictionaries here and to create a Shader-specific cache of States. If you need to get a PipelineState, why not always directly call on `MetalPipelineManager`?

In MetalPipelineManager, we store phong and clear pipeline states and rest all are stored in mtl shader.
The differentiation was needed as clear pipeline state and phong pipeline state are created and used differently in 3D and 2D rendering. so, we have stored them in separate dictionaries.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1824#discussion_r2206444922


More information about the openjfx-dev mailing list