--- old/src/java.desktop/share/classes/sun/java2d/marlin/MarlinTileGenerator.java 2018-02-15 13:11:15.328457775 +0100 +++ new/src/java.desktop/share/classes/sun/java2d/marlin/MarlinTileGenerator.java 2018-02-15 13:11:15.176453613 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2018, 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 @@ -31,6 +31,8 @@ final class MarlinTileGenerator implements AATileGenerator, MarlinConst { + private static final boolean DISABLE_BLEND = false; + private static final int MAX_TILE_ALPHA_SUM = TILE_W * TILE_H * MAX_AA_ALPHA; private static final int TH_AA_ALPHA_FILL_EMPTY = ((MAX_AA_ALPHA + 1) / 3); // 33% @@ -43,10 +45,10 @@ throw new IllegalStateException("Invalid MAX_TILE_ALPHA_SUM: " + MAX_TILE_ALPHA_SUM); } if (DO_TRACE) { - System.out.println("MAX_AA_ALPHA : " + MAX_AA_ALPHA); - System.out.println("TH_AA_ALPHA_FILL_EMPTY : " + TH_AA_ALPHA_FILL_EMPTY); - System.out.println("TH_AA_ALPHA_FILL_FULL : " + TH_AA_ALPHA_FILL_FULL); - System.out.println("FILL_TILE_W : " + FILL_TILE_W); + MarlinUtils.logInfo("MAX_AA_ALPHA : " + MAX_AA_ALPHA); + MarlinUtils.logInfo("TH_AA_ALPHA_FILL_EMPTY : " + TH_AA_ALPHA_FILL_EMPTY); + MarlinUtils.logInfo("TH_AA_ALPHA_FILL_FULL : " + TH_AA_ALPHA_FILL_FULL); + MarlinUtils.logInfo("FILL_TILE_W : " + FILL_TILE_W); } } @@ -141,6 +143,10 @@ */ @Override public int getTypicalAlpha() { + if (DISABLE_BLEND) { + // always return empty tiles to disable blending operations + return 0x00; + } int al = cache.alphaSumInTile(x); // Note: if we have a filled rectangle that doesn't end on a tile // border, we could still return 0xff, even though al!=maxTileAlphaSum