On Fri, 25 Jul 2025 11:44:02 GMT, Lukasz Kostyra <lkost...@openjdk.org> wrote:

>> Ambarish Rapte has updated the pull request with a new target base due to a 
>> merge or a rebase. The incremental webrev excludes the unrelated changes 
>> brought in by the merge/rebase. The pull request contains 12 additional 
>> commits since the last revision:
>> 
>>  - Merge branch 'master' into impl-metal
>>  - add comment for ES2SwapChain.getFboID
>>  - remove MTLLog
>>  - andy review comments 1
>>  - changes for running apps in eclipse
>>  - review-update: jni method refactoring
>>  - add @Override
>>  - minor cleanup changes in glass
>>  - Use appropriate layer for setting opacity
>>  - Glass changes after Metal PR inputs
>>  - ... and 2 more: https://git.openjdk.org/jfx/compare/df483ca3...1a9a0a41
>
> build.gradle line 2680:
> 
>> 2678:     // Prism JSL
>> 2679:     outPkg = IS_WINDOWS ? "com/sun/prism/d3d/hlsl" : (IS_MAC ? 
>> "com/sun/prism/mtl/msl" : "")
>> 2680:     addJSL(project, "Prism", outPkg, null) { sourceDir, destinationDir 
>> ->
> 
> I'm not quite sure if this is the best way to do it when counting in other 
> platforms. While this used to work well on Windows with ES2 and D3D being the 
> only backends, and it works well on Mac with ES2-MTL transition, it would 
> unfortunately fall apart when mixing in D3D12.
> 
> On D3D12 branch JSLC generates two types of shaders at once - HLSL and HLSL6. 
> With this change, on Windows both shaders would end up in 
> `com/sun/prism/d3d/hlsl` when they should be separated. I think we should 
> look through this and unify the way `addJSL` is called so that it functions 
> better for multiple shader types. This would also be helpful when eventually 
> merging direct3d12 to this code.
> 
> I think a better approach (you can source this from `direct3d12` branch 
> [right here - added L1710 and 
> L2808](https://github.com/openjdk/jfx-sandbox/commit/380fc8ea06a0a3187460013b254f93df4d683b32))
>  would be to have a generic package prefix `com/sun/prism` here and add 
> shader-specific suffixes inside `addJSL` compile targets. Those targets would 
> also be enabled-disabled based on current build platform (ex. HLSL/HLSL6 are 
> both enabled by IS_WINDOWS property, whereas MSL would be enabled by IS_MAC 
> property).
> 
> Let me know what you think of this approach and would it work with your 
> backend.

This seems better.
Thanks for the link to changes, it works well with metal and d3d(9).

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

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

Reply via email to