JBR-9609 JBR Metal compilation error on Intel MacBooks

Wrapped MTLDrawable.drawableID usages in getDrawableId to check macOS version
This commit is contained in:
bourgesl
2025-11-10 16:48:57 +01:00
committed by jbrbot
parent 6eff797dbc
commit ecd99e1765

View File

@@ -112,6 +112,13 @@ BOOL MTLLayer_isExtraRedrawEnabled() {
NSLock* _lock;
}
+ (NSUInteger) getDrawableId:(id<MTLDrawable>)mtlDrawable {
if (@available(macOS 10.15.4, *)) {
return [mtlDrawable drawableID];
}
return -1;
}
- (id) initWithJavaLayer:(jobject)layer usePerfCounters:(jboolean)perfCountersEnabled
{
AWT_ASSERT_APPKIT_THREAD;
@@ -246,12 +253,12 @@ BOOL MTLLayer_isExtraRedrawEnabled() {
#if TRACE_DISPLAY_ON
self.avgNextDrawableTime = nextDrawableLatency * a + self.avgNextDrawableTime * (1.0 - a);
J2dRlsTraceLn(J2D_TRACE_VERBOSE,
"[%.6lf] MTLLayer_blitTexture: drawable(%d) presented"
" - nextDrawableLatency = %.3lf ms - average = %.3lf ms",
CACurrentMediaTime(), mtlDrawable.drawableID,
1000.0 * nextDrawableLatency, 1000.0 * self.avgNextDrawableTime
);
J2dRlsTraceLn(J2D_TRACE_VERBOSE,
"[%.6lf] MTLLayer_blitTexture: drawable(%d) presented"
" - nextDrawableLatency = %.3lf ms - average = %.3lf ms",
CACurrentMediaTime(), [MTLLayer getDrawableId:mtlDrawable],
1000.0 * nextDrawableLatency, 1000.0 * self.avgNextDrawableTime
);
#endif
}
// Keep Fence from now:
@@ -284,7 +291,7 @@ BOOL MTLLayer_isExtraRedrawEnabled() {
J2dRlsTraceLn(J2D_TRACE_VERBOSE,
"[%.6lf] MTLLayer_blitTexture_PresentedHandler: drawable(%d) presented"
" - presentedHandlerLatency = %.3lf ms frameInterval = %.3lf ms",
CACurrentMediaTime(), drawable.drawableID,
CACurrentMediaTime(), [MTLLayer getDrawableId:drawable],
1000.0 * presentedHandlerLatency, 1000.0 * frameInterval
);
self.lastPresentedTime = presentedTime;
@@ -299,7 +306,8 @@ BOOL MTLLayer_isExtraRedrawEnabled() {
J2dRlsTraceLn(J2D_TRACE_VERBOSE,
"[%.6lf] MTLLayer_blitTexture_PresentedHandler: drawable(%d) skipped"
" - presentedHandlerLatency = %.3lf ms",
CACurrentMediaTime(), drawable.drawableID, 1000.0 * presentedHandlerLatency
CACurrentMediaTime(), [MTLLayer getDrawableId:drawable],
1000.0 * presentedHandlerLatency
);
}
}
@@ -309,7 +317,7 @@ BOOL MTLLayer_isExtraRedrawEnabled() {
// Present drawable:
NSUInteger drawableId = -1;
if (TRACE_DISPLAY) {
drawableId = mtlDrawable.drawableID;
drawableId = [MTLLayer getDrawableId:mtlDrawable];
J2dRlsTraceLn(J2D_TRACE_INFO,
"[%.6lf] MTLLayer.blitTexture: layer[%p] present drawable(%d)",
CACurrentMediaTime(), self, drawableId);