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