mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2026-01-10 02:21:42 +01:00
Compare commits
9 Commits
batrdmi/tr
...
jb21.0.8-b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04ae9f156e | ||
|
|
6893d02f69 | ||
|
|
7bed1e34cb | ||
|
|
c9feb0aad9 | ||
|
|
a6d91ed520 | ||
|
|
00dbe10037 | ||
|
|
b5d65d6901 | ||
|
|
8a5f4e6476 | ||
|
|
c403c79a09 |
@@ -41,7 +41,8 @@ public abstract class CGraphicsConfig extends GraphicsConfiguration
|
||||
|
||||
private final CGraphicsDevice device;
|
||||
private ColorModel colorModel;
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache = new SurfaceManager.ProxyCache();
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache =
|
||||
new SurfaceManager.ProxyCache();
|
||||
|
||||
protected CGraphicsConfig(CGraphicsDevice device) {
|
||||
this.device = device;
|
||||
|
||||
@@ -42,9 +42,7 @@ import java.util.ListIterator;
|
||||
import java.util.Map;
|
||||
|
||||
import sun.java2d.MacOSFlags;
|
||||
import sun.java2d.MacosxSurfaceManagerFactory;
|
||||
import sun.java2d.SunGraphicsEnvironment;
|
||||
import sun.java2d.SurfaceManagerFactory;
|
||||
import sun.java2d.metal.MTLGraphicsConfig;
|
||||
import sun.util.logging.PlatformLogger;
|
||||
|
||||
@@ -112,9 +110,6 @@ public final class CGraphicsEnvironment extends SunGraphicsEnvironment {
|
||||
metalPipelineEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Install the correct surface manager factory.
|
||||
SurfaceManagerFactory.setInstance(new MacosxSurfaceManagerFactory());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2022, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.java2d;
|
||||
|
||||
import java.awt.GraphicsConfiguration;
|
||||
import java.awt.Image;
|
||||
|
||||
import sun.awt.CGraphicsEnvironment;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.TextureWrapperSurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.metal.MTLGraphicsConfig;
|
||||
import sun.java2d.metal.MTLSurfaceData;
|
||||
import sun.java2d.metal.MTLVolatileSurfaceManager;
|
||||
import sun.java2d.opengl.CGLVolatileSurfaceManager;
|
||||
|
||||
/**
|
||||
* This is a factory class with static methods for creating a
|
||||
* platform-specific instance of a particular SurfaceManager. Each platform
|
||||
* (Windows, Unix, etc.) has its own specialized SurfaceManagerFactory.
|
||||
*/
|
||||
public class MacosxSurfaceManagerFactory extends SurfaceManagerFactory {
|
||||
|
||||
/**
|
||||
* Creates a new instance of a VolatileSurfaceManager given any
|
||||
* arbitrary SunVolatileImage. An optional context Object can be supplied
|
||||
* 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/MTL-specific
|
||||
* VolatileSurfaceManager based on the GraphicsConfiguration
|
||||
* under which the SunVolatileImage was created.
|
||||
*/
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg,
|
||||
Object context)
|
||||
{
|
||||
return CGraphicsEnvironment.usingMetalPipeline() ? new MTLVolatileSurfaceManager(vImg, context) :
|
||||
new CGLVolatileSurfaceManager(vImg, context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SurfaceManager createTextureWrapperSurfaceManager(GraphicsConfiguration gc, Image image, long texture) {
|
||||
SurfaceData sd;
|
||||
if (gc instanceof MTLGraphicsConfig) {
|
||||
sd = MTLSurfaceData.createData((MTLGraphicsConfig) gc, image, texture);
|
||||
} else {
|
||||
throw new UnsupportedOperationException("Unsupported GraphicsConfiguration");
|
||||
}
|
||||
return new TextureWrapperSurfaceManager(sd);
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,9 @@ import sun.awt.CGraphicsDevice;
|
||||
import sun.awt.CGraphicsEnvironment;
|
||||
import sun.awt.image.OffScreenImage;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.TextureWrapperSurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.Disposer;
|
||||
import sun.java2d.DisposerRecord;
|
||||
import sun.java2d.Surface;
|
||||
@@ -46,6 +49,7 @@ import java.awt.BufferCapabilities;
|
||||
import java.awt.Component;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.GraphicsConfiguration;
|
||||
import java.awt.Image;
|
||||
import java.awt.ImageCapabilities;
|
||||
import java.awt.Rectangle;
|
||||
@@ -67,7 +71,7 @@ import static sun.java2d.pipe.hw.ContextCapabilities.*;
|
||||
import static sun.java2d.metal.MTLContext.MTLContextCaps.CAPS_EXT_BIOP_SHADER;
|
||||
|
||||
public final class MTLGraphicsConfig extends CGraphicsConfig
|
||||
implements AccelGraphicsConfig
|
||||
implements AccelGraphicsConfig, SurfaceManager.Factory, SurfaceManager.TextureWrapperFactory
|
||||
{
|
||||
private static boolean mtlAvailable;
|
||||
private static ImageCapabilities imageCaps = new MTLImageCaps();
|
||||
@@ -380,4 +384,17 @@ public final class MTLGraphicsConfig extends CGraphicsConfig
|
||||
return Math.max(maxTextureSize / getDevice().getScaleFactor(),
|
||||
getBounds().height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new MTLVolatileSurfaceManager(image, context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SurfaceManager createTextureWrapperSurfaceManager(
|
||||
GraphicsConfiguration gc, Image image, long texture) {
|
||||
SurfaceData sd = MTLSurfaceData.createData(this, image, texture);
|
||||
return new TextureWrapperSurfaceManager(sd);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,8 @@ import sun.awt.CGraphicsConfig;
|
||||
import sun.awt.CGraphicsDevice;
|
||||
import sun.awt.image.OffScreenImage;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.Disposer;
|
||||
import sun.java2d.DisposerRecord;
|
||||
import sun.java2d.Surface;
|
||||
@@ -414,4 +416,10 @@ public final class CGLGraphicsConfig extends CGraphicsConfig
|
||||
return Math.max(maxTextureSize / getDevice().getScaleFactor(),
|
||||
getBounds().height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new CGLVolatileSurfaceManager(image, context);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@ package com.jetbrains.desktop.image;
|
||||
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.java2d.SurfaceData;
|
||||
import sun.java2d.SurfaceManagerFactory;
|
||||
|
||||
import java.awt.AlphaComposite;
|
||||
import java.awt.GraphicsConfiguration;
|
||||
@@ -71,7 +70,10 @@ public class TextureWrapperImage extends Image {
|
||||
public TextureWrapperImage(GraphicsConfiguration gc, long texture)
|
||||
throws UnsupportedOperationException, IllegalArgumentException {
|
||||
this.gc = gc;
|
||||
SurfaceManager surfaceManager = SurfaceManagerFactory.getInstance().createTextureWrapperSurfaceManager(gc, this, texture);
|
||||
SurfaceManager surfaceManager;
|
||||
if (gc instanceof SurfaceManager.TextureWrapperFactory factory) {
|
||||
surfaceManager = factory.createTextureWrapperSurfaceManager(gc, this, texture);
|
||||
} else throw new UnsupportedOperationException();
|
||||
sd = surfaceManager.getPrimarySurfaceData();
|
||||
SurfaceManager.setManager(this, surfaceManager);
|
||||
}
|
||||
|
||||
@@ -4547,6 +4547,11 @@ public class Window extends Container implements Accessible {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addWindowListener(Window w, WindowListener listener) {
|
||||
w.addWindowListener(listener);
|
||||
}
|
||||
|
||||
private static void dumpCounter(final String counterName, final double valPerSecond) {
|
||||
if (USE_COUNTERS) {
|
||||
doLog(String.format("%s per second: %.2f", counterName, valPerSecond),
|
||||
|
||||
@@ -689,6 +689,27 @@ public class BasicTreeUI extends TreeUI
|
||||
return bounds;
|
||||
}
|
||||
|
||||
/**
|
||||
* A potentially faster version of {@link #getPathBounds(JTree, TreePath)}
|
||||
* which calculates only {@code y} and {@code height}
|
||||
* of the bounding {@code Rectangle}
|
||||
*/
|
||||
private Rectangle getVerticalPathBounds(TreePath path) {
|
||||
if (tree == null || treeState == null) {
|
||||
return null;
|
||||
}
|
||||
int rowHeight = treeState.getRowHeight();
|
||||
if (rowHeight <= 0) {
|
||||
return getPathBounds(tree, path);
|
||||
}
|
||||
int row = treeState.getRowForPath(path);
|
||||
if (row < 0) {
|
||||
return null;
|
||||
}
|
||||
return new Rectangle(0, tree.getInsets().top + row * rowHeight,
|
||||
0, rowHeight);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the path for passed in row. If row is not visible
|
||||
* null is returned.
|
||||
@@ -4319,17 +4340,21 @@ public class BasicTreeUI extends TreeUI
|
||||
updateSize();
|
||||
}
|
||||
else if (treeState.isExpanded(parentPath)) {
|
||||
// Changed nodes are visible
|
||||
// Find the minimum index, we only need paint from there
|
||||
// down.
|
||||
int minIndex = indices[0];
|
||||
for (int i = indices.length - 1; i > 0; i--) {
|
||||
minIndex = Math.min(indices[i], minIndex);
|
||||
TreePath minPath = null;
|
||||
Rectangle minBounds = null;
|
||||
if (tree.isShowing()) {
|
||||
// Changed nodes are visible
|
||||
// Find the minimum index, we only need paint from there
|
||||
// down.
|
||||
int minIndex = indices[0];
|
||||
for (int i = indices.length - 1; i > 0; i--) {
|
||||
minIndex = Math.min(indices[i], minIndex);
|
||||
}
|
||||
Object minChild = treeModel.getChild(
|
||||
parentPath.getLastPathComponent(), minIndex);
|
||||
minPath = parentPath.pathByAddingChild(minChild);
|
||||
minBounds = getVerticalPathBounds(minPath);
|
||||
}
|
||||
Object minChild = treeModel.getChild(
|
||||
parentPath.getLastPathComponent(), minIndex);
|
||||
TreePath minPath = parentPath.pathByAddingChild(minChild);
|
||||
Rectangle minBounds = getPathBounds(tree, minPath);
|
||||
|
||||
// Forward to the treestate
|
||||
treeState.treeNodesChanged(e);
|
||||
@@ -4337,20 +4362,19 @@ public class BasicTreeUI extends TreeUI
|
||||
// Mark preferred size as bogus.
|
||||
updateSize0();
|
||||
|
||||
// And repaint
|
||||
Rectangle newMinBounds = getPathBounds(tree, minPath);
|
||||
if (minBounds == null || newMinBounds == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (indices.length == 1 &&
|
||||
newMinBounds.height == minBounds.height) {
|
||||
tree.repaint(0, minBounds.y, tree.getWidth(),
|
||||
minBounds.height);
|
||||
}
|
||||
else {
|
||||
tree.repaint(0, minBounds.y, tree.getWidth(),
|
||||
tree.getHeight() - minBounds.y);
|
||||
if (minBounds != null) {
|
||||
// And repaint
|
||||
Rectangle newMinBounds = getVerticalPathBounds(minPath);
|
||||
if (newMinBounds != null) {
|
||||
if (indices.length == 1 &&
|
||||
newMinBounds.height == minBounds.height) {
|
||||
tree.repaint(0, minBounds.y, tree.getWidth(),
|
||||
minBounds.height);
|
||||
} else {
|
||||
tree.repaint(0, minBounds.y, tree.getWidth(),
|
||||
tree.getHeight() - minBounds.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -37,6 +37,7 @@ import java.awt.event.InputEvent;
|
||||
import java.awt.event.InvocationEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.WindowListener;
|
||||
import java.awt.geom.Point2D;
|
||||
import java.awt.image.BufferStrategy;
|
||||
import java.awt.peer.ComponentPeer;
|
||||
@@ -357,6 +358,8 @@ public final class AWTAccessor {
|
||||
double getCounterPerSecond(Window w, String counterName);
|
||||
|
||||
void dumpStats(Window w, boolean reset, StringBuilder sb);
|
||||
|
||||
void addWindowListener(Window w, WindowListener listener);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -37,7 +37,6 @@ import java.awt.image.BufferedImage;
|
||||
import java.awt.image.ImageObserver;
|
||||
import java.awt.image.VolatileImage;
|
||||
import sun.java2d.SunGraphics2D;
|
||||
import sun.java2d.SurfaceManagerFactory;
|
||||
import sun.java2d.DestSurfaceProvider;
|
||||
import sun.java2d.Surface;
|
||||
import sun.java2d.pipe.Region;
|
||||
@@ -158,29 +157,19 @@ public class SunVolatileImage extends VolatileImage
|
||||
return forcedAccelSurfaceType;
|
||||
}
|
||||
|
||||
protected VolatileSurfaceManager createSurfaceManager(Object context,
|
||||
ImageCapabilities caps)
|
||||
{
|
||||
/**
|
||||
* Platform-specific SurfaceManagerFactories will return a
|
||||
* manager suited to acceleration on each platform. But if
|
||||
* the user is asking for a VolatileImage from a BufferedImageGC,
|
||||
* then we need to return the appropriate unaccelerated manager.
|
||||
* Note: this could change in the future; if some platform would
|
||||
* like to accelerate BIGC volatile images, then this special-casing
|
||||
* of the BIGC graphicsConfig should live in platform-specific
|
||||
* code instead.
|
||||
* We do the same for a Printer Device, and if user requested an
|
||||
* unaccelerated VolatileImage by passing the capabilities object.
|
||||
*/
|
||||
if (graphicsConfig instanceof BufferedImageGraphicsConfig ||
|
||||
graphicsConfig instanceof sun.print.PrinterGraphicsConfig ||
|
||||
(caps != null && !caps.isAccelerated()))
|
||||
{
|
||||
private VolatileSurfaceManager createSurfaceManager(
|
||||
Object context, ImageCapabilities caps) {
|
||||
// GraphicsConfig may provide some specific surface manager
|
||||
// implementation.
|
||||
// In case it doesn't, or we were specifically requested to use
|
||||
// an unaccelerated surface, fall back to the buffered image
|
||||
// surface manager.
|
||||
if ((caps == null || caps.isAccelerated()) &&
|
||||
graphicsConfig instanceof SurfaceManager.Factory factory) {
|
||||
return factory.createVolatileManager(this, context);
|
||||
} else {
|
||||
return new BufImgVolatileSurfaceManager(this, context);
|
||||
}
|
||||
SurfaceManagerFactory smf = SurfaceManagerFactory.getInstance();
|
||||
return smf.createVolatileManager(this, context);
|
||||
}
|
||||
|
||||
private Color getForeground() {
|
||||
|
||||
@@ -184,6 +184,31 @@ public abstract class SurfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* See TextureWrapperImage.
|
||||
*/
|
||||
public interface TextureWrapperFactory {
|
||||
SurfaceManager createTextureWrapperSurfaceManager(
|
||||
GraphicsConfiguration gc, Image image, long texture);
|
||||
}
|
||||
|
||||
/**
|
||||
* An interface for GraphicsConfiguration objects to implement if
|
||||
* they create their own VolatileSurfaceManager implementations.
|
||||
*/
|
||||
public interface Factory {
|
||||
|
||||
/**
|
||||
* Creates a new instance of a VolatileSurfaceManager given a
|
||||
* compatible SunVolatileImage.
|
||||
* An optional context Object can be supplied as a way for the caller
|
||||
* to pass pipeline-specific context data to the VolatileSurfaceManager
|
||||
* (such as a backbuffer handle, for example).
|
||||
*/
|
||||
VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context);
|
||||
}
|
||||
|
||||
/**
|
||||
* An interface for GraphicsConfiguration objects to implement if
|
||||
* their surfaces accelerate images using SurfaceDataProxy objects.
|
||||
@@ -202,7 +227,8 @@ public abstract class SurfaceManager {
|
||||
}
|
||||
|
||||
public static class ProxyCache {
|
||||
private final Map<SurfaceManager, SurfaceDataProxy> map = Collections.synchronizedMap(new WeakHashMap<>());
|
||||
private final Map<SurfaceManager, SurfaceDataProxy> map =
|
||||
Collections.synchronizedMap(new WeakHashMap<>());
|
||||
|
||||
/**
|
||||
* Return a cached SurfaceDataProxy object for a given SurfaceManager.
|
||||
@@ -253,7 +279,8 @@ public abstract class SurfaceManager {
|
||||
|
||||
void flush(boolean deaccelerate) {
|
||||
synchronized (weakCache) {
|
||||
Iterator<WeakReference<SurfaceDataProxy>> i = weakCache.values().iterator();
|
||||
Iterator<WeakReference<SurfaceDataProxy>> i =
|
||||
weakCache.values().iterator();
|
||||
while (i.hasNext()) {
|
||||
SurfaceDataProxy sdp = i.next().get();
|
||||
if (sdp == null || sdp.flush(deaccelerate)) {
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2008, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.java2d;
|
||||
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
|
||||
import java.awt.GraphicsConfiguration;
|
||||
import java.awt.Image;
|
||||
|
||||
/**
|
||||
* This factory creates platform specific VolatileSurfaceManager
|
||||
* implementations.
|
||||
*
|
||||
* There are two platform specific SurfaceManagerFactories in OpenJDK,
|
||||
* UnixSurfaceManagerFactory and WindowsSurfaceManagerFactory.
|
||||
* The actually used SurfaceManagerFactory is set by the respective platform
|
||||
* GraphicsEnvironment implementations in the static initializer.
|
||||
*/
|
||||
public abstract class SurfaceManagerFactory {
|
||||
|
||||
/**
|
||||
* The single shared instance.
|
||||
*/
|
||||
private static SurfaceManagerFactory instance;
|
||||
|
||||
/**
|
||||
* Returns the surface manager factory instance. This returns a factory
|
||||
* that has been set by {@link #setInstance(SurfaceManagerFactory)}.
|
||||
*
|
||||
* @return the surface manager factory
|
||||
*/
|
||||
public static synchronized SurfaceManagerFactory getInstance() {
|
||||
|
||||
if (instance == null) {
|
||||
throw new IllegalStateException("No SurfaceManagerFactory set.");
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the surface manager factory. This may only be called once, and it
|
||||
* may not be set back to {@code null} when the factory is already
|
||||
* instantiated.
|
||||
*
|
||||
* @param factory the factory to set
|
||||
*/
|
||||
public static synchronized void setInstance(SurfaceManagerFactory factory) {
|
||||
|
||||
if (factory == null) {
|
||||
// We don't want to allow setting this to null at any time.
|
||||
throw new IllegalArgumentException("factory must be non-null");
|
||||
}
|
||||
|
||||
if (instance != null) {
|
||||
// We don't want to re-set the instance at any time.
|
||||
throw new IllegalStateException("The surface manager factory is already initialized");
|
||||
}
|
||||
|
||||
instance = factory;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new instance of a VolatileSurfaceManager given any
|
||||
* arbitrary SunVolatileImage. An optional context Object can be supplied
|
||||
* as a way for the caller to pass pipeline-specific context data to
|
||||
* the VolatileSurfaceManager (such as a backbuffer handle, for example).
|
||||
*/
|
||||
public abstract VolatileSurfaceManager
|
||||
createVolatileManager(SunVolatileImage image, Object context);
|
||||
|
||||
public abstract SurfaceManager createTextureWrapperSurfaceManager(GraphicsConfiguration gc, Image image, long texture);
|
||||
}
|
||||
@@ -35,7 +35,7 @@ import sun.java2d.pipe.hw.AccelGraphicsConfig;
|
||||
* methods directly from OGLSurfaceData.
|
||||
*/
|
||||
interface OGLGraphicsConfig extends
|
||||
AccelGraphicsConfig, SurfaceManager.ProxiedGraphicsConfig
|
||||
AccelGraphicsConfig, SurfaceManager.ProxiedGraphicsConfig, SurfaceManager.Factory
|
||||
{
|
||||
OGLContext getContext();
|
||||
long getNativeConfigInfo();
|
||||
|
||||
@@ -33,7 +33,6 @@ import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.Surface;
|
||||
import sun.java2d.SurfaceManagerFactory;
|
||||
import sun.java2d.pipe.BufferedContext;
|
||||
import sun.java2d.pipe.hw.AccelGraphicsConfig;
|
||||
import sun.java2d.pipe.hw.AccelTypedVolatileImage;
|
||||
@@ -54,8 +53,9 @@ import static sun.java2d.pipe.hw.AccelSurface.TEXTURE;
|
||||
* for most of the methods, including base methods of GraphicsConfiguration class.
|
||||
*/
|
||||
public interface VKGraphicsConfig extends AccelGraphicsConfig,
|
||||
SurfaceManager.ProxiedGraphicsConfig {
|
||||
SurfaceManager.ProxiedGraphicsConfig, SurfaceManager.Factory {
|
||||
|
||||
@Override
|
||||
default VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new VKVolatileSurfaceManager(image, context);
|
||||
|
||||
@@ -174,7 +174,8 @@ void VKBlitLoops_Blit(JNIEnv *env,
|
||||
|
||||
VKDevice* device = context->surface->device;
|
||||
BlitSrcType type = decodeSrcType(device, srctype);
|
||||
VKTexturePoolHandle* imageHandle = VKTexturePool_GetTexture(device->texturePool, sw, sh, type.format);
|
||||
VKTexturePoolHandle* imageHandle =
|
||||
VKTexturePool_GetTexture(VKRenderer_GetTexturePool(device->renderer), sw, sh, type.format);
|
||||
VKImage* image = VKTexturePoolHandle_GetTexture(imageHandle);
|
||||
|
||||
VkDeviceSize dataSize = sh * sw * srcInfo.pixelStride;
|
||||
|
||||
@@ -272,7 +272,6 @@ void VKDevice_CheckAndAdd(VKEnv* vk, VkPhysicalDevice physicalDevice) {
|
||||
void VKDevice_Reset(VKDevice* device) {
|
||||
if (device == NULL) return;
|
||||
VKRenderer_Destroy(device->renderer);
|
||||
VKTexturePool_Dispose(device->texturePool);
|
||||
VKAllocator_Destroy(device->allocator);
|
||||
ARRAY_FREE(device->enabledExtensions);
|
||||
ARRAY_FREE(device->enabledLayers);
|
||||
@@ -392,11 +391,4 @@ Java_sun_java2d_vulkan_VKGPU_init(JNIEnv *env, jclass jClass, jlong jDevice) {
|
||||
JNU_ThrowByName(env, "java/lang/RuntimeException", "Vulkan: Cannot create renderer");
|
||||
return;
|
||||
}
|
||||
|
||||
device->texturePool = VKTexturePool_InitWithDevice(device);
|
||||
if (!device->texturePool) {
|
||||
VKDevice_Reset(device);
|
||||
JNU_ThrowByName(env, "java/lang/RuntimeException", "Vulkan: Cannot create texture pool");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,6 @@ struct VKDevice {
|
||||
|
||||
VKAllocator* allocator;
|
||||
VKRenderer* renderer;
|
||||
VKTexturePool* texturePool;
|
||||
|
||||
DEVICE_FUNCTION_TABLE(DECL_PFN)
|
||||
SWAPCHAIN_DEVICE_FUNCTION_TABLE(DECL_PFN)
|
||||
|
||||
@@ -94,6 +94,7 @@ typedef struct {
|
||||
struct VKRenderer {
|
||||
VKDevice* device;
|
||||
VKPipelineContext* pipelineContext;
|
||||
VKTexturePool* texturePool;
|
||||
|
||||
POOL(VkCommandBuffer, commandBufferPool);
|
||||
POOL(VkCommandBuffer, secondaryCommandBufferPool);
|
||||
@@ -193,6 +194,9 @@ VKRenderingContext *VKRenderer_GetContext() {
|
||||
return &context;
|
||||
}
|
||||
|
||||
VKTexturePool *VKRenderer_GetTexturePool(VKRenderer* renderer) {
|
||||
return renderer->texturePool;
|
||||
}
|
||||
/**
|
||||
* Helper function for POOL_TAKE macro.
|
||||
*/
|
||||
@@ -368,6 +372,12 @@ VKRenderer* VKRenderer_Create(VKDevice* device) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
renderer->texturePool = VKTexturePool_InitWithDevice(device);
|
||||
if (!renderer->texturePool) {
|
||||
VKRenderer_Destroy(renderer);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Create command pool
|
||||
// TODO we currently have single command pool with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT
|
||||
// we may need to consider having multiple pools to avoid resetting buffers one-by-one
|
||||
@@ -438,6 +448,9 @@ void VKRenderer_Destroy(VKRenderer* renderer) {
|
||||
device->vkDestroyDescriptorPool(device->handle, renderer->descriptorPools[i], NULL);
|
||||
}
|
||||
ARRAY_FREE(renderer->descriptorPools);
|
||||
|
||||
VKTexturePool_Dispose(renderer->texturePool);
|
||||
|
||||
for (uint32_t i = 0; i < ARRAY_SIZE(renderer->imageDescriptorPools); i++) {
|
||||
device->vkDestroyDescriptorPool(device->handle, renderer->imageDescriptorPools[i], NULL);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include "VKTypes.h"
|
||||
#include "VKPipelines.h"
|
||||
#include "VKTexturePool.h"
|
||||
|
||||
#define NO_CLIP ((VkRect2D) {{0, 0}, {0x7FFFFFFFU, 0x7FFFFFFFU}})
|
||||
|
||||
@@ -147,5 +148,6 @@ void VKRenderer_DrawImage(VKImage* image, VkFormat format,
|
||||
float dx1, float dy1, float dx2, float dy2);
|
||||
|
||||
VKRenderingContext* VKRenderer_GetContext();
|
||||
VKTexturePool* VKRenderer_GetTexturePool(VKRenderer* );
|
||||
|
||||
#endif //VKRenderer_h_Included
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2025, 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
|
||||
@@ -48,7 +48,7 @@
|
||||
// restore the area overwritten by the graphic with
|
||||
// what was there prior to rendering the graphic.
|
||||
|
||||
static const char szNetscape20ext[11] = "NETSCAPE2.0";
|
||||
static const char szNetscape20ext[] = "NETSCAPE2.0";
|
||||
|
||||
#define NSEXT_LOOP 0x01 // Loop Count field code
|
||||
|
||||
@@ -181,7 +181,7 @@ SplashDecodeGif(Splash * splash, GifFileType * gif)
|
||||
}
|
||||
case APPLICATION_EXT_FUNC_CODE:
|
||||
{
|
||||
if (size == sizeof(szNetscape20ext)
|
||||
if (size == strlen(szNetscape20ext)
|
||||
&& memcmp(pExtension, szNetscape20ext, size) == 0) {
|
||||
int iSubCode;
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ import java.awt.image.WritableRaster;
|
||||
import sun.awt.image.OffScreenImage;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.Disposer;
|
||||
import sun.java2d.DisposerRecord;
|
||||
import sun.java2d.SurfaceData;
|
||||
@@ -55,6 +56,7 @@ import sun.java2d.loops.RenderLoops;
|
||||
import sun.java2d.loops.SurfaceType;
|
||||
import sun.java2d.pipe.Region;
|
||||
import sun.java2d.x11.X11SurfaceData;
|
||||
import sun.java2d.x11.X11VolatileSurfaceManager;
|
||||
|
||||
/**
|
||||
* This is an implementation of a GraphicsConfiguration object for a
|
||||
@@ -64,7 +66,7 @@ import sun.java2d.x11.X11SurfaceData;
|
||||
* @see GraphicsDevice
|
||||
*/
|
||||
public class X11GraphicsConfig extends GraphicsConfiguration
|
||||
implements SurfaceManager.ProxiedGraphicsConfig
|
||||
implements SurfaceManager.ProxiedGraphicsConfig, SurfaceManager.Factory
|
||||
{
|
||||
private final X11GraphicsDevice device;
|
||||
protected int visual;
|
||||
@@ -500,4 +502,10 @@ public class X11GraphicsConfig extends GraphicsConfiguration
|
||||
}
|
||||
|
||||
private native boolean isTranslucencyCapable(long x11ConfigData);
|
||||
|
||||
@Override
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new X11VolatileSurfaceManager(image, context);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,8 @@ public final class X11GraphicsDevice extends GraphicsDevice
|
||||
* therefore methods, which is using this id should be ready to it.
|
||||
*/
|
||||
private volatile int screen;
|
||||
Map<SurfaceType, SurfaceManager.ProxyCache> x11ProxyCacheMap = Collections.synchronizedMap(new HashMap<>());
|
||||
Map<SurfaceType, SurfaceManager.ProxyCache> x11ProxyCacheMap =
|
||||
Collections.synchronizedMap(new HashMap<>());
|
||||
|
||||
private static AWTPermission fullScreenExclusivePermission;
|
||||
private static Boolean xrandrExtSupported;
|
||||
@@ -118,7 +119,8 @@ public final class X11GraphicsDevice extends GraphicsDevice
|
||||
}
|
||||
|
||||
public SurfaceManager.ProxyCache getProxyCacheFor(SurfaceType st) {
|
||||
return x11ProxyCacheMap.computeIfAbsent(st, unused -> new SurfaceManager.ProxyCache());
|
||||
return x11ProxyCacheMap.computeIfAbsent(st,
|
||||
unused -> new SurfaceManager.ProxyCache());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -42,8 +42,6 @@ import java.util.Map;
|
||||
|
||||
import sun.awt.X11.XToolkit;
|
||||
import sun.java2d.SunGraphicsEnvironment;
|
||||
import sun.java2d.SurfaceManagerFactory;
|
||||
import sun.java2d.UnixSurfaceManagerFactory;
|
||||
import sun.java2d.xr.XRSurfaceData;
|
||||
|
||||
/**
|
||||
@@ -136,10 +134,6 @@ public final class X11GraphicsEnvironment extends SunGraphicsEnvironment impleme
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
// Install the correct surface manager factory.
|
||||
SurfaceManagerFactory.setInstance(new UnixSurfaceManagerFactory());
|
||||
|
||||
}
|
||||
|
||||
private static boolean isVMWare() {
|
||||
|
||||
@@ -47,7 +47,7 @@ public class WLDataSource {
|
||||
|
||||
private static native void setDnDActionsImpl(long nativePtr, int actions);
|
||||
|
||||
private static native void setDnDIconImpl(long nativePtr, int width, int height, int offsetX, int offsetY, int[] pixels);
|
||||
private static native void setDnDIconImpl(long nativePtr, int scale, int width, int height, int offsetX, int offsetY, int[] pixels);
|
||||
|
||||
WLDataSource(WLDataDevice dataDevice, int protocol, Transferable data) {
|
||||
var wlDataTransferer = (WLDataTransferer) WLDataTransferer.getInstance();
|
||||
@@ -96,7 +96,7 @@ public class WLDataSource {
|
||||
setDnDActionsImpl(nativePtr, actions);
|
||||
}
|
||||
|
||||
public void setDnDIcon(Image image, int offsetX, int offsetY) {
|
||||
public void setDnDIcon(Image image, int scale, int offsetX, int offsetY) {
|
||||
if (nativePtr == 0) {
|
||||
throw new IllegalStateException("Native pointer is null");
|
||||
}
|
||||
@@ -118,7 +118,7 @@ public class WLDataSource {
|
||||
bufferedImage.getRGB(0, 0, width, height, pixels, 0, width);
|
||||
}
|
||||
|
||||
setDnDIconImpl(nativePtr, width, height, offsetX, offsetY, pixels);
|
||||
setDnDIconImpl(nativePtr, scale, width, height, offsetX, offsetY, pixels);
|
||||
}
|
||||
|
||||
public synchronized void destroy() {
|
||||
|
||||
@@ -92,21 +92,33 @@ public class WLDragSourceContextPeer extends SunDragSourceContextPeer {
|
||||
this.dataDevice = dataDevice;
|
||||
}
|
||||
|
||||
private long getComponentWlSurfacePtr() {
|
||||
private WLComponentPeer getPeer() {
|
||||
var comp = getComponent();
|
||||
while (comp != null) {
|
||||
var peer = AWTAccessor.getComponentAccessor().getPeer(comp);
|
||||
if (peer instanceof WLComponentPeer wlPeer) {
|
||||
return wlPeer.getSurface().getWlSurfacePtr();
|
||||
return wlPeer;
|
||||
}
|
||||
comp = comp.getParent();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
return 0;
|
||||
private WLMainSurface getSurface() {
|
||||
WLComponentPeer peer = getPeer();
|
||||
if (peer != null) {
|
||||
return peer.getSurface();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void startDrag(Transferable trans, long[] formats, Map<Long, DataFlavor> formatMap) {
|
||||
var mainSurface = getSurface();
|
||||
if (mainSurface == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// formats and formatMap are unused, because WLDataSource already references the same DataTransferer singleton
|
||||
var source = new WLDragSource(trans);
|
||||
|
||||
@@ -118,13 +130,14 @@ public class WLDragSourceContextPeer extends SunDragSourceContextPeer {
|
||||
var dragImage = getDragImage();
|
||||
if (dragImage != null) {
|
||||
var dragImageOffset = getDragImageOffset();
|
||||
source.setDnDIcon(dragImage, dragImageOffset.x, dragImageOffset.y);
|
||||
source.setDnDIcon(dragImage,
|
||||
mainSurface.getGraphicsDevice().getDisplayScale(),
|
||||
dragImageOffset.x, dragImageOffset.y);
|
||||
}
|
||||
|
||||
long eventSerial = WLToolkit.getInputState().pointerButtonSerial();
|
||||
|
||||
var wlSurface = getComponentWlSurfacePtr();
|
||||
dataDevice.startDrag(source, wlSurface, eventSerial);
|
||||
dataDevice.startDrag(source, mainSurface.getWlSurfacePtr(), eventSerial);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
package sun.awt.wl;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.peer.FramePeer;
|
||||
import sun.awt.AWTAccessor;
|
||||
@@ -42,6 +43,12 @@ public class WLFramePeer extends WLDecoratedPeer implements FramePeer {
|
||||
super(target, target.isUndecorated(),
|
||||
Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.ICONIFIED),
|
||||
Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH));
|
||||
AWTAccessor.getWindowAccessor().addWindowListener(target, new WindowAdapter() {
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e) {
|
||||
getFrame().removeNotify();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -36,8 +36,6 @@ import java.util.Optional;
|
||||
|
||||
import sun.awt.HiDPIInfoProvider;
|
||||
import sun.java2d.SunGraphicsEnvironment;
|
||||
import sun.java2d.SurfaceManagerFactory;
|
||||
import sun.java2d.UnixSurfaceManagerFactory;
|
||||
import sun.util.logging.PlatformLogger;
|
||||
import sun.util.logging.PlatformLogger.Level;
|
||||
|
||||
@@ -58,7 +56,6 @@ public class WLGraphicsEnvironment extends SunGraphicsEnvironment implements HiD
|
||||
|
||||
static {
|
||||
System.loadLibrary("awt");
|
||||
SurfaceManagerFactory.setInstance(new UnixSurfaceManagerFactory());
|
||||
|
||||
debugScaleEnabled = SunGraphicsEnvironment.isUIScaleEnabled() && SunGraphicsEnvironment.getDebugScale() >= 1;
|
||||
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2023, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
|
||||
package sun.java2d;
|
||||
|
||||
import java.awt.GraphicsConfiguration;
|
||||
import java.awt.Image;
|
||||
|
||||
import sun.awt.X11GraphicsConfig;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.opengl.GLXGraphicsConfig;
|
||||
import sun.java2d.opengl.GLXVolatileSurfaceManager;
|
||||
import sun.java2d.vulkan.VKOffscreenGraphicsConfig;
|
||||
import sun.java2d.vulkan.WLVKGraphicsConfig;
|
||||
import sun.java2d.vulkan.VKVolatileSurfaceManager;
|
||||
import sun.java2d.wl.WLVolatileSurfaceManager;
|
||||
import sun.java2d.x11.X11VolatileSurfaceManager;
|
||||
import sun.java2d.xr.*;
|
||||
|
||||
/**
|
||||
* The SurfaceManagerFactory that creates VolatileSurfaceManager
|
||||
* implementations for the Unix volatile images.
|
||||
*/
|
||||
public class UnixSurfaceManagerFactory extends SurfaceManagerFactory {
|
||||
|
||||
/**
|
||||
* Creates a new instance of a VolatileSurfaceManager given any
|
||||
* arbitrary SunVolatileImage. An optional context Object can be supplied
|
||||
* as a way for the caller to pass pipeline-specific context data to
|
||||
* the VolatileSurfaceManager (such as a backbuffer handle, for example).
|
||||
*
|
||||
* For Unix platforms, this method returns either an X11- or a GLX-
|
||||
* specific VolatileSurfaceManager based on the GraphicsConfiguration
|
||||
* under which the SunVolatileImage was created.
|
||||
*/
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg,
|
||||
Object context)
|
||||
{
|
||||
GraphicsConfiguration gc = vImg.getGraphicsConfig();
|
||||
|
||||
if (gc instanceof GLXGraphicsConfig) {
|
||||
return new GLXVolatileSurfaceManager(vImg, context);
|
||||
} else if(gc instanceof XRGraphicsConfig) {
|
||||
return new XRVolatileSurfaceManager(vImg, context);
|
||||
} else if (gc instanceof X11GraphicsConfig){
|
||||
return new X11VolatileSurfaceManager(vImg, context);
|
||||
} else if (gc instanceof WLVKGraphicsConfig) {
|
||||
return new VKVolatileSurfaceManager(vImg, context);
|
||||
} else if (gc instanceof VKOffscreenGraphicsConfig) {
|
||||
return new VKVolatileSurfaceManager(vImg, context);
|
||||
} else {
|
||||
return new WLVolatileSurfaceManager(vImg, context);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SurfaceManager createTextureWrapperSurfaceManager(GraphicsConfiguration gc, Image image, long texture) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,7 @@ import sun.awt.X11GraphicsEnvironment;
|
||||
import sun.awt.image.OffScreenImage;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.SunGraphics2D;
|
||||
import sun.java2d.Surface;
|
||||
import sun.java2d.SurfaceData;
|
||||
@@ -72,7 +73,8 @@ public final class GLXGraphicsConfig
|
||||
private long pConfigInfo;
|
||||
private ContextCapabilities oglCaps;
|
||||
private final OGLContext context;
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache = new SurfaceManager.ProxyCache();
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache =
|
||||
new SurfaceManager.ProxyCache();
|
||||
|
||||
private static native long getGLXConfigInfo(int screennum, int visualnum);
|
||||
private static native int getOGLCapabilities(long configInfo);
|
||||
@@ -413,4 +415,10 @@ public final class GLXGraphicsConfig
|
||||
public ContextCapabilities getContextCapabilities() {
|
||||
return oglCaps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new GLXVolatileSurfaceManager(image, context);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,11 +30,14 @@ import sun.awt.X11GraphicsConfig;
|
||||
import sun.awt.X11GraphicsDevice;
|
||||
import sun.awt.X11GraphicsEnvironment;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.SurfaceData;
|
||||
|
||||
public class XRGraphicsConfig extends X11GraphicsConfig implements
|
||||
SurfaceManager.ProxiedGraphicsConfig {
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache = new SurfaceManager.ProxyCache();
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache =
|
||||
new SurfaceManager.ProxyCache();
|
||||
|
||||
private XRGraphicsConfig(X11GraphicsDevice device, int visualnum,
|
||||
int depth, int colormap, boolean doubleBuffer) {
|
||||
@@ -59,4 +62,10 @@ public class XRGraphicsConfig extends X11GraphicsConfig implements
|
||||
public SurfaceManager.ProxyCache getSurfaceDataProxyCache() {
|
||||
return surfaceDataProxyCache;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new XRVolatileSurfaceManager(image, context);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1073,7 +1073,8 @@ Java_sun_awt_wl_WLDataSource_setDnDActionsImpl(JNIEnv *env,
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_sun_awt_wl_WLDataSource_setDnDIconImpl
|
||||
(JNIEnv * env, jclass clazz, jlong nativePtr, jint width, jint height, jint offsetX, jint offsetY, jintArray pixels)
|
||||
(JNIEnv * env, jclass clazz, jlong nativePtr, jint scale,
|
||||
jint width, jint height, jint offsetX, jint offsetY, jintArray pixels)
|
||||
{
|
||||
struct DataSource *source = jlong_to_ptr(nativePtr);
|
||||
|
||||
@@ -1126,6 +1127,10 @@ JNIEXPORT void JNICALL Java_sun_awt_wl_WLDataSource_setDnDIconImpl
|
||||
wl_surface_attach(source->dragIcon, source->dragIconBuffer, offsetX, offsetY);
|
||||
#endif
|
||||
|
||||
if (scale >= 1) {
|
||||
wl_surface_set_buffer_scale(source->dragIcon, scale);
|
||||
}
|
||||
|
||||
wl_surface_damage_buffer(source->dragIcon, 0, 0, width, height);
|
||||
|
||||
// NOTE: we still need to commit the surface, this is done immediately after start_drag
|
||||
|
||||
@@ -91,7 +91,8 @@ public class Win32GraphicsDevice extends GraphicsDevice implements
|
||||
private float scaleX;
|
||||
private float scaleY;
|
||||
|
||||
final SurfaceManager.ProxyCache surfaceDataProxyCache = new SurfaceManager.ProxyCache();
|
||||
final SurfaceManager.ProxyCache surfaceDataProxyCache =
|
||||
new SurfaceManager.ProxyCache();
|
||||
|
||||
static {
|
||||
|
||||
|
||||
@@ -36,8 +36,6 @@ import java.util.ListIterator;
|
||||
|
||||
import sun.awt.windows.WToolkit;
|
||||
import sun.java2d.SunGraphicsEnvironment;
|
||||
import sun.java2d.SurfaceManagerFactory;
|
||||
import sun.java2d.WindowsSurfaceManagerFactory;
|
||||
import sun.java2d.d3d.D3DGraphicsDevice;
|
||||
import sun.java2d.windows.WindowsFlags;
|
||||
|
||||
@@ -68,9 +66,6 @@ public final class Win32GraphicsEnvironment extends SunGraphicsEnvironment {
|
||||
WindowsFlags.initFlags();
|
||||
initDisplayWrapper();
|
||||
|
||||
// Install correct surface manager factory.
|
||||
SurfaceManagerFactory.setInstance(new WindowsSurfaceManagerFactory());
|
||||
|
||||
double sx = -1;
|
||||
double sy = -1;
|
||||
if (isUIScaleEnabled()) {
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2008, 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
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.java2d;
|
||||
|
||||
import java.awt.GraphicsConfiguration;
|
||||
import java.awt.Image;
|
||||
|
||||
import sun.awt.image.BufImgVolatileSurfaceManager;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.java2d.d3d.D3DGraphicsConfig;
|
||||
import sun.java2d.d3d.D3DVolatileSurfaceManager;
|
||||
import sun.java2d.opengl.WGLGraphicsConfig;
|
||||
import sun.java2d.opengl.WGLVolatileSurfaceManager;
|
||||
|
||||
/**
|
||||
* The SurfaceManagerFactory that creates VolatileSurfaceManager
|
||||
* implementations for the Windows volatile images.
|
||||
*/
|
||||
public class WindowsSurfaceManagerFactory extends SurfaceManagerFactory {
|
||||
|
||||
/**
|
||||
* Creates a new instance of a VolatileSurfaceManager given any
|
||||
* arbitrary SunVolatileImage. An optional context Object can be supplied
|
||||
* as a way for the caller to pass pipeline-specific context data to
|
||||
* the VolatileSurfaceManager (such as a backbuffer handle, for example).
|
||||
*
|
||||
* For Windows platforms, this method returns a Windows-specific
|
||||
* VolatileSurfaceManager.
|
||||
*/
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg,
|
||||
Object context)
|
||||
{
|
||||
GraphicsConfiguration gc = vImg.getGraphicsConfig();
|
||||
if (gc instanceof D3DGraphicsConfig) {
|
||||
return new D3DVolatileSurfaceManager(vImg, context);
|
||||
} else if (gc instanceof WGLGraphicsConfig) {
|
||||
return new WGLVolatileSurfaceManager(vImg, context);
|
||||
} else {
|
||||
return new BufImgVolatileSurfaceManager(vImg, context);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SurfaceManager createTextureWrapperSurfaceManager(GraphicsConfiguration gc, Image image, long texture) {
|
||||
throw new UnsupportedOperationException("Not supported");
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,7 @@ import java.awt.image.VolatileImage;
|
||||
import sun.awt.Win32GraphicsConfig;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.awt.windows.WComponentPeer;
|
||||
import sun.java2d.Surface;
|
||||
import sun.java2d.SurfaceData;
|
||||
@@ -51,7 +52,7 @@ import static sun.java2d.d3d.D3DContext.D3DContextCaps.*;
|
||||
|
||||
public final class D3DGraphicsConfig
|
||||
extends Win32GraphicsConfig
|
||||
implements AccelGraphicsConfig
|
||||
implements AccelGraphicsConfig, SurfaceManager.Factory
|
||||
{
|
||||
private static ImageCapabilities imageCaps = new D3DImageCaps();
|
||||
|
||||
@@ -307,4 +308,10 @@ public final class D3DGraphicsConfig
|
||||
public ContextCapabilities getContextCapabilities() {
|
||||
return device.getContextCapabilities();
|
||||
}
|
||||
|
||||
@Override
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new D3DVolatileSurfaceManager(image, context);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ import sun.awt.Win32GraphicsConfig;
|
||||
import sun.awt.Win32GraphicsDevice;
|
||||
import sun.awt.image.SunVolatileImage;
|
||||
import sun.awt.image.SurfaceManager;
|
||||
import sun.awt.image.VolatileSurfaceManager;
|
||||
import sun.awt.windows.WComponentPeer;
|
||||
import sun.java2d.Disposer;
|
||||
import sun.java2d.DisposerRecord;
|
||||
@@ -73,7 +74,8 @@ public final class WGLGraphicsConfig
|
||||
private ContextCapabilities oglCaps;
|
||||
private final OGLContext context;
|
||||
private Object disposerReferent = new Object();
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache = new SurfaceManager.ProxyCache();
|
||||
private final SurfaceManager.ProxyCache surfaceDataProxyCache =
|
||||
new SurfaceManager.ProxyCache();
|
||||
|
||||
public static native int getDefaultPixFmt(int screennum);
|
||||
private static native boolean initWGL();
|
||||
@@ -432,4 +434,10 @@ public final class WGLGraphicsConfig
|
||||
public ContextCapabilities getContextCapabilities() {
|
||||
return oglCaps;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VolatileSurfaceManager createVolatileManager(SunVolatileImage image,
|
||||
Object context) {
|
||||
return new WGLVolatileSurfaceManager(image, context);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -249,6 +249,8 @@ vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded005
|
||||
|
||||
vmTestbase/nsk/jdb/options/listconnectors/listconnectors001/listconnectors001.java initial_run windows-all
|
||||
|
||||
vmTestbase/nsk/jdi/Event/_itself_/event001/TestDescription.java JBR-8550 windows-all
|
||||
vmTestbase/nsk/jdi/Event/_itself_/event002/TestDescription.java JBR-8550 windows-all
|
||||
vmTestbase/nsk/jdi/LaunchingConnector/launch/launch001/TestDescription.java initial_run windows-all
|
||||
vmTestbase/nsk/jdi/LaunchingConnector/launch/launch003/TestDescription.java initial_run windows-all
|
||||
vmTestbase/nsk/jdi/LaunchingConnector/launchnosuspend/launchnosuspend001/TestDescription.java initial_run windows-all
|
||||
|
||||
72
test/jdk/jb/javax/swing/JTree/NodeUpdatePerformance.java
Normal file
72
test/jdk/jb/javax/swing/JTree/NodeUpdatePerformance.java
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright 2025 JetBrains s.r.o.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import javax.swing.tree.DefaultTreeModel;
|
||||
import javax.swing.tree.TreeCellRenderer;
|
||||
import javax.swing.tree.TreePath;
|
||||
import java.awt.*;
|
||||
import java.util.Objects;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @summary regression test for JBR-9365 Unnecessary operations on tree node update
|
||||
*/
|
||||
|
||||
public class NodeUpdatePerformance {
|
||||
private static int countBefore;
|
||||
private static int countAfter;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
SwingUtilities.invokeAndWait(() -> {
|
||||
DefaultMutableTreeNode root = new DefaultMutableTreeNode();
|
||||
DefaultMutableTreeNode child = new DefaultMutableTreeNode();
|
||||
root.add(child);
|
||||
DefaultTreeModel model = new DefaultTreeModel(root);
|
||||
JTree tree = new JTree(model);
|
||||
tree.setRowHeight(10);
|
||||
tree.setLargeModel(true);
|
||||
OurRenderer renderer = new OurRenderer();
|
||||
tree.setCellRenderer(renderer);
|
||||
|
||||
countBefore = renderer.invocationCount;
|
||||
model.valueForPathChanged(new TreePath(child.getPath()), "newValue");
|
||||
countAfter = renderer.invocationCount;
|
||||
});
|
||||
if (countBefore != countAfter) {
|
||||
throw new RuntimeException("Unexpected renderer access: countBefore=" + countBefore + ", countAfter=" + countAfter);
|
||||
}
|
||||
}
|
||||
|
||||
private static class OurRenderer extends JLabel implements TreeCellRenderer {
|
||||
private int invocationCount;
|
||||
|
||||
@Override
|
||||
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
|
||||
invocationCount++;
|
||||
setText(Objects.toString(value));
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ javax/swing/JFileChooser/8021253/bug8021253.java JBR-6510 macosx-all
|
||||
javax/swing/JList/4618767/JListSelectedElementTest.java JBR-6510 macosx-all
|
||||
javax/swing/JSplitPane/4164779/JSplitPaneKeyboardNavigationTest.java JBR-6510 macosx-all
|
||||
javax/swing/JSplitPane/4820080/JSplitPaneDragColorTest.java JBR-7247 macosx-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentGradient.java JBR-8217 macosx-15.6,macosx-15.6.1
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentGradient.java JBR-8217 macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
javax/swing/SwingGraphics/TranslateTest.java JBR-7510 macosx-aarch64
|
||||
|
||||
jb/java/awt/CustomTitleBar/FrameNativeControlsTest.java JBR-6998 macosx-all
|
||||
@@ -120,7 +120,6 @@ java/awt/Focus/6981400/Test1.java 8029675,JBR-6702 windows-all,macosx-all,linux-
|
||||
java/awt/Focus/8013611/JDK8013611.java JBR-7338,JBR-7506 linux-all,windows-all
|
||||
java/awt/Focus/8073453/SwingFocusTransitionTest.java JBR-7339 linux-all,windows-all
|
||||
java/awt/Focus/8282640/ScrollPaneFocusBugTest.java JBR-7340 linux-all
|
||||
java/awt/Focus/ActivateFocusTest.java JBR-7888 linux-all
|
||||
java/awt/Focus/ChoiceFocus/ChoiceFocus.java JBR-7341 linux-all
|
||||
java/awt/Focus/RollbackFocusFromAnotherWindowTest/RollbackFocusFromAnotherWindowTest.java JBR-8233 linux-x64
|
||||
java/awt/Graphics2D/TextPerf.java JBR-8541 linux-all,windows-all
|
||||
|
||||
@@ -27,7 +27,7 @@ java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedT
|
||||
java/awt/MenuShortcut/ActionCommandTest.java JBR-8822 windows-x64
|
||||
java/awt/Robot/Delay/InterruptOfDelay.java 8265986,JBR-8148 macosx-all,linux-x64
|
||||
java/awt/Robot/MouseLocationOnScreen/MouseLocationOnScreen.java JBR-5390,JBR-9209 macosx-all,linux-all,linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Robot/NonEmptyErrorStream.java JBR-5442 macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
java/awt/Robot/NonEmptyErrorStream.java JBR-5442 macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
java/awt/Robot/RobotMoveMultiscreen.java JBR-5442 linux-all
|
||||
java/awt/Robot/SpuriousMouseEvents/SpuriousMouseEvents.java JBR-6572 linux-all
|
||||
java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java JBR-7822 linux-x64
|
||||
@@ -37,8 +37,8 @@ java/awt/Window/WindowSizeDifferentScreens/WindowSizeDifferentScreens.java JBR-5
|
||||
|
||||
javax/swing/event/FocusEventCauseTest.java JBR-8811 windows-all
|
||||
javax/swing/JButton/bug4234034.java JBR-8997 windows-all
|
||||
javax/swing/JTextField/4532513/DefaultCaretRequestsFocusTest.java JBR-8330 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
javax/swing/JTextArea/4514331/TabShiftsFocusToNextComponent.java JBR-8329 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
javax/swing/JTextField/4532513/DefaultCaretRequestsFocusTest.java JBR-8330 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
javax/swing/JTextArea/4514331/TabShiftsFocusToNextComponent.java JBR-8329 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
javax/swing/JTextArea/8149849/DNDTextToScaledArea.java JBR-5442 linux-all
|
||||
javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java JBR-5442 linux-all
|
||||
javax/swing/system/6799345/TestShutdown.java JBR-6020 windows-all
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
java/awt/AlphaComposite/WindowAlphaCompositeTest.java JBR-6553 macosx-all
|
||||
java/awt/Button/DisabledButtonPress.java JBR-5799 windows-aarch64
|
||||
java/awt/Desktop/8064934/bug8064934.java JBR-5764,JBR-5799 windows-all
|
||||
java/awt/Debug/DumpOnKey/DumpOnKey.java JBR-5225,JBR-9350 windows-all,macosx-all
|
||||
java/awt/Debug/DumpOnKey/DumpOnKey.java JBR-5225 windows-all
|
||||
java/awt/event/HierarchyEvent/SpecTest.java JBR-7589 windows-all
|
||||
java/awt/event/KeyEvent/CorrectTime/CorrectTime.java JBR-6665 linux-all,windows-all
|
||||
java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java 8224055,JBR-5906 macosx-all,linux-all
|
||||
@@ -164,8 +164,8 @@ java/awt/Frame/HideMaximized/HideMaximized.java JBR-8310 linux-all
|
||||
java/awt/Frame/Iconify/IconifyTest.java JBR-8836 linux-all
|
||||
java/awt/Frame/InitialIconifiedTest.java 7144049,8203920 macosx-all,linux-all
|
||||
java/awt/Frame/MaximizeUndecoratedTest.java JBR-8064 linux-all
|
||||
java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java JBR-7509,JBR-8889 macosx-15.4.1,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-all
|
||||
java/awt/Frame/MaximizedToMaximized/MaximizedToMaximized.java JBR-7786,JBR-7947 linux-all,macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-26.0
|
||||
java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java JBR-7509,JBR-8889 macosx-15.4.1,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7,macosx-all
|
||||
java/awt/Frame/MaximizedToMaximized/MaximizedToMaximized.java JBR-7786,JBR-7947 linux-all,macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7,macosx-26.0
|
||||
java/awt/Frame/MaximizedToOppositeScreen/MaximizedToOppositeScreenBig.java JBR-5303 windows-all
|
||||
java/awt/Frame/MaximizedUndecorated/MaximizedUndecorated.java 8022302 generic-all
|
||||
java/awt/Frame/MinimizeUndecoratedTest.java 8330731 linux-all
|
||||
@@ -221,7 +221,7 @@ java/awt/grab/EmbeddedFrameTest1/EmbeddedFrameTest1.java 7080150,JBR-4880,825318
|
||||
java/awt/grab/GrabOnUnfocusableToplevel/GrabOnUnfocusableToplevel.java 8169109,JBR-4880 linux-all,windows-all
|
||||
java/awt/event/InputEvent/EventWhenTest/EventWhenTest.java 8168646 generic-all
|
||||
java/awt/MenuBar/8007006/bug8007006.java JBR-9213 macosx-26.0
|
||||
java/awt/MenuShortcut/FunctionKeyShortcut.java JBR-9207 linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/MenuShortcut/FunctionKeyShortcut.java JBR-9207 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java 8049405,8253184 generic-all
|
||||
java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java 8049405,8253184 generic-all
|
||||
java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java 8294264 windows-x64
|
||||
@@ -266,7 +266,7 @@ java/awt/Mixing/MixingInHwPanel.java 8253184 windows-all
|
||||
java/awt/Mixing/NonOpaqueInternalFrame.java 7124549 macosx-all
|
||||
java/awt/Mixing/ValidBounds.java 8253184,JBR-5845 windows-all,linux-all
|
||||
java/awt/Mixing/Validating.java JBR-5908 linux-all
|
||||
java/awt/Focus/ActivateFocusTest.java JBR-7888 linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Focus/ActivateFocusTest.java JBR-7888 linux-all
|
||||
java/awt/Focus/ActivateOnProperAppContextTest.java 8136516 macosx-all
|
||||
java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java 8252772,JBR-5799 linux-all,windows-all
|
||||
java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java 6829264 generic-all
|
||||
@@ -351,7 +351,7 @@ java/awt/Window/ShapedAndTranslucentWindows/ShapedTranslucentWindowClick.java 80
|
||||
java/awt/Window/ShapedAndTranslucentWindows/TranslucentChoice.java 8253184 windows-all
|
||||
java/awt/Window/ShapedAndTranslucentWindows/TranslucentWindowClick.java 8253184 windows-all
|
||||
java/awt/Window/setLocRelativeTo/SetLocationRelativeToTest.java 8253184 windows-all
|
||||
java/awt/Window/MultiWindowApp/ChildAlwaysOnTopTest.java JBR-7312,JBR-9192 macosx-all,linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Window/MultiWindowApp/ChildAlwaysOnTopTest.java JBR-7312,JBR-9192 macosx-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/Window/MultiWindowApp/MultiWindowAppTest.java 8253184,JBR-6463 windows-all,linux-all
|
||||
java/awt/Window/ShapedAndTranslucentWindows/FocusAWTTest.java 8222328 windows-all,linux-all,macosx-all
|
||||
java/awt/Window/ShapedAndTranslucentWindows/Shaped.java 8222328 windows-all,linux-all,macosx-all
|
||||
@@ -378,7 +378,7 @@ java/awt/image/multiresolution/MultiresolutionIconTest.java 8252812 windows-all,
|
||||
java/awt/image/multiresolution/MultiResolutionJOptionPaneIconTest.java 8253184 windows-all
|
||||
java/awt/print/Headless/HeadlessPrinterJob.java 8196088 windows-all
|
||||
sun/awt/datatransfer/SuplementaryCharactersTransferTest.java 8011371 generic-all
|
||||
sun/awt/font/TestArabicHebrew.java JBR-8826,JBR-9210 linux-6.15.8-100.fc41.x86_64
|
||||
sun/awt/font/TestArabicHebrew.java JBR-8826,JBR-9210 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
sun/awt/font/TestDevTransform.java 8347618,JBR-9122 linux-all,windows-all
|
||||
sun/awt/shell/ShellFolderMemoryLeak.java 8197794 windows-all
|
||||
sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java 8301177 generic-all
|
||||
@@ -391,7 +391,8 @@ sun/java2d/SunGraphics2D/DrawImageBilinear.java 8297175 linux-all
|
||||
|
||||
java/awt/Graphics/NativeWin32Clear.java JBR-8689 linux-aarch64
|
||||
java/awt/Graphics/XORPaint.java#id1 JBR-8642 macosx-aarch64
|
||||
java/awt/Graphics2D/CopyAreaOOB.java JBR-5354,JBR-9206 macosx-all,windows-all,linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Graphics/XORPaint.java#id2 JBR-9348 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/Graphics2D/CopyAreaOOB.java JBR-5354,JBR-9206 macosx-all,windows-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/Graphics2D/DrawString/DisposerTest.java JBR-5010 linux-aarch64
|
||||
java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java 8266283 generic-all
|
||||
sun/java2d/SunGraphics2D/PolyVertTest.java 6986565 generic-all
|
||||
@@ -583,7 +584,7 @@ java/awt/Modal/MultipleDialogs/MultipleDialogs5Test.java 8198665,8253184 macosx-
|
||||
java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java 8177326,8253184,JBR-6305 macosx-all,windows-all,linux-all
|
||||
java/awt/Mouse/EnterExitEvents/DragWindowTest.java 8253184,8298823 windows-all,macosx-all
|
||||
java/awt/Mouse/EnterExitEvents/ModalDialogEnterExitEventsTest.java 8253184,JBR-5811 windows-all,linux-all
|
||||
java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java 8005021,8253184,JBR-9208 macosx-all,windows-all,linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java 8005021,8253184,JBR-9208 macosx-all,windows-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java 8051455 macosx-all
|
||||
java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.java 8253184,JBR-5709 windows-all,linux-all
|
||||
java/awt/Mouse/MouseComboBoxTest/MouseComboBoxTest.java 8253184,JBR-6752 windows-all,linux-all
|
||||
@@ -719,9 +720,9 @@ java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersInKeyEvent.java 8157147 linu
|
||||
java/awt/Mouse/MouseWheelAbsXY/MouseWheelAbsXY.java 8253184,JBR-7076 windows-all,linux-all
|
||||
java/awt/xembed/server/RunTestXEmbed.java 7034201 linux-all
|
||||
java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsDocModalTest.java 8164473 linux-all
|
||||
java/awt/Frame/DecoratedFrameInsets/DecoratedFrameInsetsTest.java JBR-5205,JBR-9204 linux-5.4.0-1103-aws,linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Frame/DecoratedFrameInsets/DecoratedFrameInsetsTest.java JBR-5205,JBR-9204 linux-5.4.0-1103-aws,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/Frame/DisposeParentGC/DisposeParentGC.java 8079786 macosx-all
|
||||
java/awt/Frame/DynamicLayout/DynamicLayout.java JBR-9205 linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Frame/DynamicLayout/DynamicLayout.java JBR-9205 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
|
||||
java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java 7099223,8274106 macosx-all,linux-all,windows-all
|
||||
java/awt/GraphicsDevice/DisplayModes/ExtraAllocationTest.java JBR-6384 macosx-all
|
||||
@@ -745,7 +746,7 @@ java/awt/Paint/bug8024864.java JBR-6544 generic-all
|
||||
java/awt/Paint/ComponentIsNotDrawnAfterRemoveAddTest/ComponentIsNotDrawnAfterRemoveAddTest.java 8253184,JBR-6844 windows-all,linux-all
|
||||
java/awt/Paint/ListRepaint.java JBR-5060 linux-all
|
||||
java/awt/Paint/PaintNativeOnUpdate.java 8253184 windows-all
|
||||
java/awt/PopupMenu/PopupMenuLocation.java 8238720,JBR-7035,JBR-9251 windows-all,macosx-all,linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/PopupMenu/PopupMenuLocation.java 8238720,JBR-7035,JBR-9251 windows-all,macosx-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.java 8253184 windows-all
|
||||
java/awt/GridLayout/ChangeGridSize/ChangeGridSize.java 8238720,8324782 windows-all,macosx-all
|
||||
java/awt/GridLayout/ComponentPreferredSize/ComponentPreferredSize.java 8238720,8324782 windows-all,macosx-all
|
||||
@@ -764,7 +765,7 @@ java/awt/MenuBar/TestNoScreenMenuBar.java 8265987 macosx-all
|
||||
|
||||
java/awt/Dialog/DialogAboveFrame/DialogAboveFrameTest.java JBR-5210 windows-all
|
||||
java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java 8266243,JBR-6632 macosx-all,linux-all
|
||||
java/awt/Dialog/ModalDialogPermission/ModalDialogPermission.java JBR-5225,JBR-9350 windows-all,macosx-all
|
||||
java/awt/Dialog/ModalDialogPermission/ModalDialogPermission.java JBR-5225 windows-all
|
||||
java/awt/Dialog/SiblingChildOrder/SiblingChildOrderTest.java JBR-5082 linux-all
|
||||
java/awt/Window/GetScreenLocation/GetScreenLocationTest.java 8225787,8253184 linux-all,windows-all
|
||||
java/awt/dnd/DragSourceMotionListenerTest.java 8225131 windows-all
|
||||
@@ -874,16 +875,16 @@ javax/net/ssl/SSLSocket/Tls13PacketSize.java 8354235 windows-all
|
||||
|
||||
java/nio/channels/AsynchronousSocketChannel/StressLoopback.java JBR-8817 windows-aarch64
|
||||
|
||||
java/nio/channels/DatagramChannel/AdaptorMulticasting.java 8144003,JBR-8455,JBR-8456,8308807,JBR-9219 macosx-all,aix-ppc64,linux-6.15.8-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/AdaptorMulticasting.java 8144003,JBR-8455,JBR-8456,8308807,JBR-9219 macosx-all,aix-ppc64,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/BasicMulticastTests.java 8144003 macosx-all
|
||||
java/nio/channels/DatagramChannel/Loopback.java JBR-9219 linux-6.15.8-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/Loopback.java JBR-9219 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/ManySourcesAndTargets.java 8264385 macosx-aarch64
|
||||
java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java 8144003,JBR-9218 macosx-all,linux-6.15.8-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/Promiscuous.java 8144003,JBR-9218 macosx-all,linux-6.15.8-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/PromiscuousIPv6.java JBR-8828,JBR-9218 macosx-x64,linux-6.15.8-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java 8144003,JBR-9218 macosx-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/Promiscuous.java 8144003,JBR-9218 macosx-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/PromiscuousIPv6.java JBR-8828,JBR-9218 macosx-x64,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/nio/channels/DatagramChannel/Unref.java 8233437 generic-all
|
||||
|
||||
java/nio/channels/FileChannel/LargeGatheringWrite.java JBR-9316 linux-6.15.8-100.fc41.x86_64
|
||||
java/nio/channels/FileChannel/LargeGatheringWrite.java JBR-9316 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
|
||||
java/nio/channels/Selector/Wakeup.java 6963118 windows-all
|
||||
|
||||
@@ -1019,7 +1020,7 @@ javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing
|
||||
javax/swing/Box/TestBoxFiller.java JBR-5210 windows-all
|
||||
javax/swing/DataTransfer/bug4655513.java JBR-8849 windows-all
|
||||
javax/swing/DefaultButtonModel/DefaultButtonModelCrashTest.java JBR-5210,JBR-5799 windows-all
|
||||
javax/swing/GraphicsConfigNotifier/StalePreferredSize.java JBR-5210,JBR-9211 windows-all,macosx-26.0
|
||||
javax/swing/GraphicsConfigNotifier/StalePreferredSize.java JBR-5210 windows-all
|
||||
javax/swing/JButton/4368790/bug4368790.java JBR-5210 windows-all
|
||||
javax/swing/JButton/4659800/SpaceKeyActivatesButton.java JBR-4949 linux-all,windows-all
|
||||
javax/swing/JButton/8151303/PressedIconTest.java JBR-5210 windows-all
|
||||
@@ -1043,7 +1044,7 @@ javax/swing/JComboBox/TestComboBoxComponentRendering.java JBR-8270 linux-all
|
||||
javax/swing/JComponent/6683775/bug6683775.java 8172337 generic-all
|
||||
javax/swing/JDialog/Transparency/TransparencyTest.java 8253184 windows-all
|
||||
javax/swing/JLabel/4138746/JLabelMnemonicsTest.java JBR-4949 linux-all,windows-all
|
||||
javax/swing/JLabel/6596966/bug6596966.java 8197552,JBR-9195 windows-all,linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/JLabel/6596966/bug6596966.java 8197552,JBR-9195 windows-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
javax/swing/JLabel/7004134/bug7004134.java JBR-5437 linux-all
|
||||
javax/swing/JLabel/bug4822331.java JBR-7422 windows-10.0
|
||||
javax/swing/JList/4618767/JListSelectedElementTest.java JBR-4955 windows-all
|
||||
@@ -1064,11 +1065,11 @@ javax/swing/JMenuItem/8158566/CloseOnMouseClickPropertyTest.java JBR-5545,JBR-65
|
||||
javax/swing/JMenuItem/bug4839464.java JBR-5911 windows-all
|
||||
javax/swing/JMenuItem/6249972/bug6249972.java 8197552 windows-all
|
||||
javax/swing/JOptionPane/7138665/bug7138665.java JBR-5799 windows-all
|
||||
javax/swing/JOptionPane/8081019/bug8081019.java JBR-5767,JBR-9350 windows-all,macosx-all
|
||||
javax/swing/JOptionPane/8081019/bug8081019.java JBR-5767 windows-all
|
||||
javax/swing/JPasswordField/TestSelectedTextBackgroundColor.java JBR-8665 linux-6.8.0-1017-raspi
|
||||
javax/swing/JProgressBar/8015748/JProgressBarOrientationRobotTest.java JBR-8571 linux-all
|
||||
javax/swing/JProgressBar/8161664/ProgressBarMemoryLeakTest.java JBR-8926 macosx-x64
|
||||
javax/swing/JProgressBar/TestJProgressBarHighlightColor.java JBR-9199 linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/JProgressBar/TestJProgressBarHighlightColor.java JBR-9199 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
javax/swing/JPopupMenu/4634626/bug4634626.java 8253184 windows-all
|
||||
javax/swing/JPopupMenu/4760494/bug4760494.java 8253184 windows-all
|
||||
javax/swing/JPopupMenu/4870644/bug4870644.java 8194130 macosx-all,linux-all
|
||||
@@ -1096,10 +1097,10 @@ javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentCanvas.java 8
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentSwing.java 8194128,8253184,JBR-6515 macosx-all,windows-all,linux-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/SetShapeAndClickSwing.java 8013450,8253184 macosx-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java 8024627,8253184 macosx-all,windows-all
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java JBR-8327 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java JBR-8327 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentWindowClickSwing.java 8253184 windows-all
|
||||
javax/swing/LookAndFeel/8145547/DemandGTK2.sh JBR-9202 linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/LookAndFeel/8145547/DemandGTK3.sh JBR-9202 linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/LookAndFeel/8145547/DemandGTK2.sh JBR-9202 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
javax/swing/LookAndFeel/8145547/DemandGTK3.sh JBR-9202 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
|
||||
# The next test below is an intermittent failure
|
||||
javax/swing/JTree/DnD/LastNodeLowerHalfDrop.java 8159131 linux-all
|
||||
@@ -1138,12 +1139,12 @@ javax/swing/JScrollPane/HorizontalMouseWheelOnShiftPressed/HorizontalMouseWheelO
|
||||
javax/swing/JTabbedPane/4361477/bug4361477.java JBR-5932 linux-all
|
||||
javax/swing/JTabbedPane/8007563/Test8007563.java 8051591 generic-all
|
||||
javax/swing/JTabbedPane/4624207/bug4624207.java 8064922,8197552,JBR-6235 macosx-all,windows-all,linux-all 8064922:macosx-all, 8197552:windows-all
|
||||
javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java 8253184,JBR-8498 windows-all,macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
javax/swing/JTabbedPane/TestJTabbedPaneBackgroundColor.java JBR-8493 macosx-15.4.1,macosx-15.6,macosx-15.6.1
|
||||
javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java 8253184,JBR-8498 windows-all,macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
javax/swing/JTabbedPane/TestJTabbedPaneBackgroundColor.java JBR-8493 macosx-15.4.1,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
javax/swing/JToggleButton/TestSelectedKey.java JBR-5846 windows-all
|
||||
javax/swing/JToolBar/4529206/bug4529206.java JBR-5387 linux-all
|
||||
javax/swing/JToolTip/6219960/bug6219960.java 8253184 windows-all
|
||||
javax/swing/JToolTip/TestTooltipBackgroundColor.java JBR-9201 linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/JToolTip/TestTooltipBackgroundColor.java JBR-9201 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
javax/swing/SwingUtilities/TestBadBreak/TestBadBreak.java 8160720 generic-all
|
||||
javax/swing/system/6799345/TestShutdown.java JBR-6881 windows-all,macosx-all
|
||||
javax/swing/text/AbstractDocument/8190763/TestCCEOnEditEvent.java JBR-5799 windows-all
|
||||
@@ -1160,8 +1161,8 @@ javax/swing/JInternalFrame/6288609/TestJInternalFrameDispose.java JBR-788 window
|
||||
javax/swing/JInternalFrame/6647340/bug6647340.java 8253184 windows-all
|
||||
javax/swing/JInternalFrame/8145060/TestJInternalFrameMinimize.java JBR-788 windows-all,linux-all
|
||||
javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java JBR-5539 windows-all
|
||||
javax/swing/JInternalFrame/JInternalFrameTest.java JBR-9193 linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/JInternalFrame/Test6325652.java JBR-6111,JBR-9194 windows-all,linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/JInternalFrame/JInternalFrameTest.java JBR-9193 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
javax/swing/JInternalFrame/Test6325652.java JBR-6111,JBR-9194 windows-all,linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
javax/swing/JInternalFrame/Test6505027.java JBR-5954 linux-all,macosx-all
|
||||
javax/swing/JInternalFrame/Test6802868.java 8253184 windows-all
|
||||
javax/swing/ProgressMonitor/ProgressMonitorEscapeKeyPress.java JBR-5210 windows-all
|
||||
@@ -1200,7 +1201,7 @@ java/awt/Robot/HiDPIScreenCapture/HiDPIRobotScreenCaptureTest.java 8253184,JBR-1
|
||||
java/awt/Robot/HiDPIScreenCapture/ScreenCaptureTest.java 8253184 windows-all
|
||||
java/awt/Robot/CheckCommonColors/CheckCommonColors.java 8253184 windows-all
|
||||
java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java JBR-5802 windows-all
|
||||
java/awt/Robot/MouseLocationOnScreen/MouseLocationOnScreen.java JBR-9209 linux-6.15.8-100.fc41.x86_64
|
||||
java/awt/Robot/MouseLocationOnScreen/MouseLocationOnScreen.java JBR-9209 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
java/awt/Robot/MultiScreenRobotPosition/MultiScreenRobotPosition.java JBR-830 windows-all
|
||||
javax/swing/SwingGraphics/TranslateTest.java JBR-7470 linux-all
|
||||
|
||||
@@ -1313,9 +1314,9 @@ jdk/jfr/startupargs/TestStartDuration.java 8214685 windows-
|
||||
jdk/jfr/jvm/TestDumpOnCrash.java JBR-8780 windows-aarch64
|
||||
jdk/jfr/jvm/TestWaste.java 8282427 generic-all
|
||||
jdk/jfr/api/consumer/recordingstream/TestOnEvent.java 8255404 linux-x64
|
||||
jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java JBR-8460 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
jdk/jfr/api/consumer/streaming/TestJVMCrash.java JBR-8459 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
jdk/jfr/api/consumer/streaming/TestJVMExit.java JBR-8460 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java JBR-8460 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
jdk/jfr/api/consumer/streaming/TestJVMCrash.java JBR-8459 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
jdk/jfr/api/consumer/streaming/TestJVMExit.java JBR-8460 macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
|
||||
############################################################################
|
||||
|
||||
@@ -1355,7 +1356,7 @@ javax/swing/JFileChooser/6698013/bug6698013.java 8024419 macosx-all
|
||||
javax/swing/JColorChooser/8065098/bug8065098.java 8065647 macosx-all
|
||||
java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java 8068378 generic-all
|
||||
javax/swing/JTabbedPane/4666224/bug4666224.html 8144124 macosx-all
|
||||
javax/swing/JTextArea/4697612/bug4697612.java JBR-9200 linux-6.15.8-100.fc41.x86_64
|
||||
javax/swing/JTextArea/4697612/bug4697612.java JBR-9200 linux-6.15.8-100.fc41.x86_64,linux-6.16.7-100.fc41.x86_64
|
||||
javax/swing/JTextArea/8149849/DNDTextToScaledArea.java 8253184 windows-all
|
||||
javax/swing/JTextArea/7049024/bug7049024.java JBR-5836 linux-all
|
||||
java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java JBR-6353 linux-all,windows-aarch64,macosx-all
|
||||
@@ -1429,7 +1430,7 @@ jb/java/awt/CustomTitleBar/FrameNativeControlsTest.java JBR-9196 macosx-26.0
|
||||
jb/java/awt/CustomTitleBar/JDialogNativeControlsTest.java JBR-9196 macosx-26.0
|
||||
jb/java/awt/CustomTitleBar/MinimizingWindowTest.java JBR-9196 macosx-26.0
|
||||
|
||||
jb/java/awt/Graphics2D/TextRender/OGLMetalTextRender.java JBR-4091,JBR-5392 windows-aarch64,macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1
|
||||
jb/java/awt/Graphics2D/TextRender/OGLMetalTextRender.java JBR-4091,JBR-5392 windows-aarch64,macosx-15.3,macosx-15.3.1,macosx-15.3.2,macosx-15.4,macosx-15.5,macosx-15.6,macosx-15.6.1,macosx-15.7
|
||||
jb/java/awt/event/MouseEvent/MouseMoveEventFallThroughTest.java JBR-8789 windows-all
|
||||
jb/java/awt/event/TouchScreenEvent/TouchScreenEventsTestLinux.sh JBR-4078 linux-all
|
||||
jb/java/awt/Font/font430.sh JBR-4956 linux-all
|
||||
|
||||
@@ -20,7 +20,6 @@ java/awt/event/StressTest/MouseAndKeyEventStressTest.java JBR-6479,JBR-6090 gene
|
||||
java/awt/Focus/6378278/InputVerifierTest.java JBR-5799,JBR-6090 windows-all
|
||||
java/awt/Focus/6382144/EndlessLoopTest.java JBR-6090 windows-all
|
||||
java/awt/Focus/8282640/ScrollPaneFocusBugTest.java JBR-6090 windows-all
|
||||
java/awt/Focus/ActivateFocusTest.java JBR-7888 linux-all
|
||||
java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java 8252772,JBR-5799,JBR-6031 linux-all,windows-all
|
||||
java/awt/Focus/ClearLwQueueBreakTest/ClearLwQueueBreakTest.java 8198618,JBR-814,JBR-6090 macosx-all,linux-all,windows-all
|
||||
java/awt/Focus/LabelScrollBarFocus.java JBR-6090 windows-x64
|
||||
@@ -165,6 +164,7 @@ javax/swing/JComboBox/DisabledComboBoxFontTestAuto.java nobug generic-all
|
||||
javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java nobug generic-all
|
||||
javax/swing/JInternalFrame/8069348/bug8069348.java nobug generic-all
|
||||
javax/swing/JInternalFrame/8160248/JInternalFrameDraggingTest.java nobug generic-all
|
||||
javax/swing/JInternalFrame/Ctrli.java JBR-9362 windows-all
|
||||
javax/swing/JLabel/GetSpanHiDpiBug.java nobug generic-all
|
||||
javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java nobug generic-all
|
||||
javax/swing/JTextArea/8149849/DNDTextToScaledArea.java nobug generic-all
|
||||
|
||||
@@ -7,4 +7,11 @@ javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java JBR-8357 linux
|
||||
javax/swing/text/ParagraphView/6364882/bug6364882.java JBR-8324 linux-all
|
||||
|
||||
jb/java/awt/wayland/RobotGetPixelTest.java JBR-8434 linux-all
|
||||
jb/java/awt/wayland/RobotGetPixelsTest.java JBR-8434 linux-all
|
||||
jb/java/awt/wayland/RobotGetPixelsTest.java JBR-8434 linux-all
|
||||
|
||||
|
||||
#
|
||||
# the below tests are not intended to be executed in S2 configurations because
|
||||
# the tests contains tags to be launched for various scales including S2
|
||||
#
|
||||
jb/javax/swing/wayland/WLPopupMoves.java.WLPopupMoves nobug linux-all
|
||||
|
||||
@@ -11,6 +11,7 @@ java/awt/Multiscreen/UpdateGCTest/UpdateGCTest.java JBR-8295 linux-x64
|
||||
javax/swing/GraphicsConfigNotifier/StalePreferredSize.java JBR-7269 linux-all
|
||||
javax/swing/GraphicsConfigNotifier/TestMultiScreenGConfigNotify.java JBR-8266 linux-x64
|
||||
javax/swing/InputVerifier/VerifyTarget/VerifyTargetTest.java JBR-7520,JBR-9320 linux-6.8.0-1036-aws,linux-6.14.9-arch1-1
|
||||
javax/swing/JComboBox/ShowPopupAfterHidePopupTest/ShowPopupAfterHidePopupTest.java JBR-9384 linux-all
|
||||
javax/swing/JComponent/6989617/bug6989617.java JBR-8796 linux-all
|
||||
javax/swing/JDesktopPane/TestDesktopManagerNPE.java JBR-8449 linux-x64
|
||||
javax/swing/JEditorPane/JEditorPaneFontFallback.java JBR-8305 linux-all
|
||||
|
||||
@@ -9,4 +9,10 @@ javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java JBR-8357 linux
|
||||
javax/swing/text/ParagraphView/6364882/bug6364882.java JBR-8324 linux-all
|
||||
|
||||
jb/java/awt/wayland/RobotGetPixelTest.java JBR-8434 linux-all
|
||||
jb/java/awt/wayland/RobotGetPixelsTest.java JBR-8434 linux-all
|
||||
jb/java/awt/wayland/RobotGetPixelsTest.java JBR-8434 linux-all
|
||||
|
||||
#
|
||||
# the below tests are not intended to be executed in S2 configurations because
|
||||
# the tests contains tags to be launched for various scales including S2
|
||||
#
|
||||
jb/javax/swing/wayland/WLPopupMoves.java.WLPopupMoves nobug linux-all
|
||||
|
||||
Reference in New Issue
Block a user