78 static final boolean USE_SIMPLIFIER = MarlinProperties.isUseSimplifier(); 79 80 // flag to enable logs related bounds checks 81 static final boolean DO_LOG_BOUNDS = ENABLE_LOGS && false; 82 83 // Initial Array sizing (initial context capacity) ~ 450K 84 85 // 2048 pixel (width x height) for initial capacity 86 static final int INITIAL_PIXEL_DIM 87 = MarlinProperties.getInitialImageSize(); 88 89 // typical array sizes: only odd numbers allowed below 90 static final int INITIAL_ARRAY = 256; 91 92 // alpha row dimension 93 static final int INITIAL_AA_ARRAY = INITIAL_PIXEL_DIM; 94 95 // 4096 edges for initial capacity 96 static final int INITIAL_EDGES_COUNT = MarlinProperties.getInitialEdges(); 97 98 // initial edges = 3/4 * edges count (4096) 99 // 6 ints per edges = 24 bytes 100 // edges capacity = 24 x initial edges = 18 * edges count (4096) = 72K 101 static final int INITIAL_EDGES_CAPACITY = INITIAL_EDGES_COUNT * 18; 102 103 // zero value as byte 104 static final byte BYTE_0 = (byte) 0; 105 106 // subpixels expressed as log2 107 public static final int SUBPIXEL_LG_POSITIONS_X 108 = MarlinProperties.getSubPixel_Log2_X(); 109 public static final int SUBPIXEL_LG_POSITIONS_Y 110 = MarlinProperties.getSubPixel_Log2_Y(); 111 112 // number of subpixels 113 public static final int SUBPIXEL_POSITIONS_X = 1 << (SUBPIXEL_LG_POSITIONS_X); 114 public static final int SUBPIXEL_POSITIONS_Y = 1 << (SUBPIXEL_LG_POSITIONS_Y); 115 116 public static final float NORM_SUBPIXELS 117 = (float)Math.sqrt(( SUBPIXEL_POSITIONS_X * SUBPIXEL_POSITIONS_X 118 + SUBPIXEL_POSITIONS_Y * SUBPIXEL_POSITIONS_Y)/2.0); 119 120 public static final int MAX_AA_ALPHA 121 = SUBPIXEL_POSITIONS_X * SUBPIXEL_POSITIONS_Y; 122 123 public static final int TILE_SIZE_LG = MarlinProperties.getTileSize_Log2(); 124 public static final int TILE_SIZE = 1 << TILE_SIZE_LG; // 32 by default 125 126 public static final int BLOCK_SIZE_LG = MarlinProperties.getBlockSize_Log2(); 127 public static final int BLOCK_SIZE = 1 << BLOCK_SIZE_LG; 128 } | 78 static final boolean USE_SIMPLIFIER = MarlinProperties.isUseSimplifier(); 79 80 // flag to enable logs related bounds checks 81 static final boolean DO_LOG_BOUNDS = ENABLE_LOGS && false; 82 83 // Initial Array sizing (initial context capacity) ~ 450K 84 85 // 2048 pixel (width x height) for initial capacity 86 static final int INITIAL_PIXEL_DIM 87 = MarlinProperties.getInitialImageSize(); 88 89 // typical array sizes: only odd numbers allowed below 90 static final int INITIAL_ARRAY = 256; 91 92 // alpha row dimension 93 static final int INITIAL_AA_ARRAY = INITIAL_PIXEL_DIM; 94 95 // 4096 edges for initial capacity 96 static final int INITIAL_EDGES_COUNT = MarlinProperties.getInitialEdges(); 97 98 // initial edges = edges count (4096) 99 // 6 ints per edges = 24 bytes 100 // edges capacity = 24 x initial edges = 24 * edges count (4096) = 96K 101 static final int INITIAL_EDGES_CAPACITY = INITIAL_EDGES_COUNT * 24; 102 103 // zero value as byte 104 static final byte BYTE_0 = (byte) 0; 105 106 // subpixels expressed as log2 107 public static final int SUBPIXEL_LG_POSITIONS_X 108 = MarlinProperties.getSubPixel_Log2_X(); 109 public static final int SUBPIXEL_LG_POSITIONS_Y 110 = MarlinProperties.getSubPixel_Log2_Y(); 111 112 // number of subpixels 113 public static final int SUBPIXEL_POSITIONS_X = 1 << (SUBPIXEL_LG_POSITIONS_X); 114 public static final int SUBPIXEL_POSITIONS_Y = 1 << (SUBPIXEL_LG_POSITIONS_Y); 115 116 public static final float NORM_SUBPIXELS 117 = (float) Math.sqrt(( SUBPIXEL_POSITIONS_X * SUBPIXEL_POSITIONS_X 118 + SUBPIXEL_POSITIONS_Y * SUBPIXEL_POSITIONS_Y) / 2.0d); 119 120 public static final int MAX_AA_ALPHA 121 = SUBPIXEL_POSITIONS_X * SUBPIXEL_POSITIONS_Y; 122 123 public static final int TILE_H_LG = MarlinProperties.getTileSize_Log2(); 124 public static final int TILE_H = 1 << TILE_H_LG; // 32 by default 125 126 public static final int TILE_W_LG = MarlinProperties.getTileWidth_Log2(); 127 public static final int TILE_W = 1 << TILE_W_LG; // 32 by default 128 129 public static final int BLOCK_SIZE_LG = MarlinProperties.getBlockSize_Log2(); 130 public static final int BLOCK_SIZE = 1 << BLOCK_SIZE_LG; 131 } |