Browse Source

CAMetalLayer should not be opaque (#14761)

pull/14833/head
Max Katz 2 years ago
committed by GitHub
parent
commit
83c11750a8
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 3
      native/Avalonia.Native/src/OSX/metal.mm
  2. 1
      src/iOS/Avalonia.iOS/AvaloniaView.cs

3
native/Avalonia.Native/src/OSX/metal.mm

@ -112,6 +112,7 @@ public:
- (MetalRenderTarget *)initWithDevice:(IAvnMetalDevice *)device {
_device = dynamic_cast<AvnMetalDevice*>(device);
_layer = [CAMetalLayer new];
_layer.opaque = false;
_layer.device = _device->device;
_target.setNoAddRef(new AvnMetalRenderTarget(_layer, _device));
return self;
@ -158,4 +159,4 @@ static AvnMetalDisplay* _display = new AvnMetalDisplay();
extern IAvnMetalDisplay* GetMetalDisplay()
{
return _display;
}
}

1
src/iOS/Avalonia.iOS/AvaloniaView.cs

@ -98,6 +98,7 @@ namespace Avalonia.iOS
#endif
if (l is CAMetalLayer metalLayer)
{
metalLayer.Opaque = false;
_topLevelImpl.Surfaces = new[] { new Metal.MetalPlatformSurface(metalLayer, this) };
}
}

Loading…
Cancel
Save