Skip to content
This repository was archived by the owner on Aug 27, 2022. It is now read-only.
/ lanai Public archive

Commit 38e78cd

Browse files
committed
8254881: Commit commandbuffer after draw happens through JNI
1 parent febb027 commit 38e78cd

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLMaskFill.m

+10
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,16 @@
139139
MTLMaskFill_MaskFill(mtlc, dstOps,
140140
x, y, w, h,
141141
maskoff, maskscan, masklen, mask);
142+
if (mtlc != NULL) {
143+
RESET_PREVIOUS_OP();
144+
[mtlc.encoderManager endEncoder];
145+
MTLCommandBufferWrapper * cbwrapper = [mtlc pullCommandBufferWrapper];
146+
id<MTLCommandBuffer> commandbuf = [cbwrapper getCommandBuffer];
147+
[commandbuf addCompletedHandler:^(id <MTLCommandBuffer> commandbuf) {
148+
[cbwrapper release];
149+
}];
150+
[commandbuf commit];
151+
}
142152
143153
if (mask != NULL) {
144154
(*env)->ReleasePrimitiveArrayCritical(env, maskArray, mask, JNI_ABORT);

src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderer.m

+10
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,16 @@ void MTLRenderer_DrawPoly(MTLContext *mtlc, BMTLSDOps * dstOps,
303303
nPoints, isClosed,
304304
transX, transY,
305305
xPoints, yPoints);
306+
if (mtlc != NULL) {
307+
RESET_PREVIOUS_OP();
308+
[mtlc.encoderManager endEncoder];
309+
MTLCommandBufferWrapper * cbwrapper = [mtlc pullCommandBufferWrapper];
310+
id<MTLCommandBuffer> commandbuf = [cbwrapper getCommandBuffer];
311+
[commandbuf addCompletedHandler:^(id <MTLCommandBuffer> commandbuf) {
312+
[cbwrapper release];
313+
}];
314+
[commandbuf commit];
315+
}
306316

307317
(*env)->ReleasePrimitiveArrayCritical(env, ypointsArray, yPoints,
308318
JNI_ABORT);

src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTextRenderer.m

+10
Original file line numberDiff line numberDiff line change
@@ -899,6 +899,16 @@ void MTLTR_FreeGlyphCaches() {
899899
glyphListOrigX, glyphListOrigY,
900900
images, NULL);
901901
}
902+
if (mtlc != NULL) {
903+
RESET_PREVIOUS_OP();
904+
[mtlc.encoderManager endEncoder];
905+
MTLCommandBufferWrapper * cbwrapper = [mtlc pullCommandBufferWrapper];
906+
id<MTLCommandBuffer> commandbuf = [cbwrapper getCommandBuffer];
907+
[commandbuf addCompletedHandler:^(id <MTLCommandBuffer> commandbuf) {
908+
[cbwrapper release];
909+
}];
910+
[commandbuf commit];
911+
}
902912
903913
(*env)->ReleasePrimitiveArrayCritical(env, imgArray,
904914
images, JNI_ABORT);

0 commit comments

Comments
 (0)