mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-15 16:44:36 +02:00
8260931: Implement JEP 382: New macOS Rendering Pipeline
Co-authored-by: Jayathirth D V <jdv@openjdk.org> Co-authored-by: Alexey Ushakov <avu@openjdk.org> Co-authored-by: Artem Bochkarev <abochkarev@openjdk.org> Co-authored-by: Prasanta Sadhukhan <psadhukhan@openjdk.org> Co-authored-by: Denis Konoplev <dkonoplev@openjdk.org> Co-authored-by: Phil Race <prr@openjdk.org> Co-authored-by: Kevin Rushforth <kcr@openjdk.org> Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org> Co-authored-by: Ajit Ghaisas <aghaisas@openjdk.org> Reviewed-by: ihse, avu, kcr, gziemski, prr, kizune, jdv, psadhukhan, serb
This commit is contained in:
parent
0638303316
commit
8afec70c28
87 changed files with 17610 additions and 39 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -27,6 +27,8 @@ package sun.java2d;
|
|||
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.awt.CGraphicsDevice;
|
||||
import sun.java2d.metal.MTLVolatileSurfaceManager;
|
||||
import sun.java2d.opengl.CGLVolatileSurfaceManager;
|
||||
|
||||
/**
|
||||
|
@ -42,13 +44,14 @@ public class MacosxSurfaceManagerFactory extends SurfaceManagerFactory {
|
|||
* as a way for the caller to pass pipeline-specific context data to
|
||||
* the VolatileSurfaceManager (such as a backbuffer handle, for example).
|
||||
*
|
||||
* For Mac OS X, this method returns either an CGL-specific
|
||||
* For Mac OS X, this method returns either an CGL/MTL-specific
|
||||
* VolatileSurfaceManager based on the GraphicsConfiguration
|
||||
* under which the SunVolatileImage was created.
|
||||
*/
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg,
|
||||
Object context)
|
||||
{
|
||||
return new CGLVolatileSurfaceManager(vImg, context);
|
||||
return CGraphicsDevice.usingMetalPipeline() ? new MTLVolatileSurfaceManager(vImg, context) :
|
||||
new CGLVolatileSurfaceManager(vImg, context);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue