[OpenJDK 2D-Dev] RFR: 8264475: CopyArea ignores clip state in metal rendering pipeline [v3]
Jayathirth D V
jdv at openjdk.java.net
Thu Apr 1 14:15:39 UTC 2021
On Thu, 1 Apr 2021 06:58:27 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> Jayathirth D V has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Comment update
>
> src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLBlitLoops.m line 826:
>
>> 824: id<MTLRenderCommandEncoder> interEncoder =
>> 825: [mtlc.encoderManager getTextureEncoder:interTexture
>> 826: isSrcOpaque:dstOps->isOpaque
>
> Should it not be srcOps->isOpaque?
Both source and destination are same in copyArea. So isOpaque property will be same.
But we use 32 bit non-opaque intermediate texture, so for intermediate texture we should pass JNI_FALSE for isOpaque property.
> src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLBlitLoops.m line 854:
>
>> 852: atIndex:MeshVertexBuffer];
>> 853: [finalEncoder setFragmentTexture:interTexture atIndex: 0];
>> 854: [finalEncoder drawPrimitives:MTLPrimitiveTypeTriangle vertexStart:0
>
> Can't we reuse drawTex2Tex() for this snippet?
Thanks for the suggestion Prasanta, yes we should refactor code to use drawTex2Tex. I have updated the PR.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3283
More information about the 2d-dev
mailing list