1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef BVBLEND_H 20 #define BVBLEND_H 21 #define BVBLENDDEF_FORMAT_SHIFT 28 22 #define BVBLENDDEF_FORMAT_MASK (0xF << BVBLENDDEF_FORMAT_SHIFT) 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #define BVBLENDDEF_FORMAT_CLASSIC (0x0 << BVBLENDDEF_FORMAT_SHIFT) 25 #define BVBLENDDEF_FORMAT_ESSENTIAL (0x1 << BVBLENDDEF_FORMAT_SHIFT) 26 #define BVBLENDDEF_MODE_SHIFT 4 27 #define BVBLENDDEF_INV_SHIFT 2 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define BVBLENDDEF_NORM_SHIFT 0 30 #define BVBLENDDEF_ONLY_A (0 << BVBLENDDEF_MODE_SHIFT) 31 #define BVBLENDDEF_MIN (1 << BVBLENDDEF_MODE_SHIFT) 32 #define BVBLENDDEF_MAX (2 << BVBLENDDEF_MODE_SHIFT) 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define BVBLENDDEF_ONLY_C (3 << BVBLENDDEF_MODE_SHIFT) 35 #define BVBLENDDEF_MODE_MASK (3 << BVBLENDDEF_MODE_SHIFT) 36 #define BVBLENDDEF_NORM_C1 (0 << BVBLENDDEF_NORM_SHIFT) 37 #define BVBLENDDEF_NORM_A1 (1 << BVBLENDDEF_NORM_SHIFT) 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 #define BVBLENDDEF_NORM_C2 (2 << BVBLENDDEF_NORM_SHIFT) 40 #define BVBLENDDEF_NORM_A2 (3 << BVBLENDDEF_NORM_SHIFT) 41 #define BVBLENDDEF_NORM_MASK (3 << BVBLENDDEF_NORM_SHIFT) 42 #define BVBLENDDEF_INV_C1 (0 << BVBLENDDEF_INV_SHIFT) 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 #define BVBLENDDEF_INV_A1 (1 << BVBLENDDEF_INV_SHIFT) 45 #define BVBLENDDEF_INV_C2 (2 << BVBLENDDEF_INV_SHIFT) 46 #define BVBLENDDEF_INV_A2 (3 << BVBLENDDEF_INV_SHIFT) 47 #define BVBLENDDEF_INV_MASK (3 << BVBLENDDEF_INV_SHIFT) 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define BVBLENDDEF_ONLY_A_NORM_xx BVBLENDDEF_NORM_C1 50 #define BVBLENDDEF_ONLY_A_INV_xx BVBLENDDEF_INV_C1 51 #define BVBLENDDEF_ONLY_C_NORM_xx BVBLENDDEF_NORM_A2 52 #define BVBLENDDEF_ONLY_C_INV_xx BVBLENDDEF_INV_A2 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 #define BVBLENDDEF_ZERO (BVBLENDDEF_ONLY_A | BVBLENDDEF_ONLY_A_NORM_xx | BVBLENDDEF_ONLY_A_INV_xx) 55 #define BVBLENDDEF_C1 (BVBLENDDEF_ONLY_C | BVBLENDDEF_NORM_C1 | BVBLENDDEF_ONLY_C_INV_xx) 56 #define BVBLENDDEF_A1 (BVBLENDDEF_ONLY_A | BVBLENDDEF_NORM_A1 | BVBLENDDEF_ONLY_A_INV_xx) 57 #define BVBLENDDEF_C2 (BVBLENDDEF_ONLY_C | BVBLENDDEF_NORM_C2 | BVBLENDDEF_ONLY_C_INV_xx) 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 #define BVBLENDDEF_A2 (BVBLENDDEF_ONLY_A | BVBLENDDEF_NORM_A2 | BVBLENDDEF_ONLY_A_INV_xx) 60 #define BVBLENDDEF_ONE_MINUS_C1 (BVBLENDDEF_ONLY_C | BVBLENDDEF_ONLY_C_NORM_xx | BVBLENDDEF_INV_C1) 61 #define BVBLENDDEF_ONE_MINUS_A1 (BVBLENDDEF_ONLY_A | BVBLENDDEF_ONLY_A_NORM_xx | BVBLENDDEF_INV_A1) 62 #define BVBLENDDEF_ONE_MINUS_C2 (BVBLENDDEF_ONLY_C | BVBLENDDEF_ONLY_C_NORM_xx | BVBLENDDEF_INV_C2) 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 #define BVBLENDDEF_ONE_MINUS_A2 (BVBLENDDEF_ONLY_A | BVBLENDDEF_ONLY_A_NORM_xx | BVBLENDDEF_INV_A2) 65 #define BVBLENDDEF_ONE (BVBLENDDEF_ONLY_C | BVBLENDDEF_ONLY_C_NORM_xx | BVBLENDDEF_ONLY_C_INV_xx) 66 #define BVBLENDDEF_K_MASK (BVBLENDDEF_MODE_MASK | BVBLENDDEF_INV_MASK | BVBLENDDEF_NORM_MASK) 67 #define BVBLENDDEF_K1_SHIFT 18 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 #define BVBLENDDEF_K2_SHIFT 12 70 #define BVBLENDDEF_K3_SHIFT 6 71 #define BVBLENDDEF_K4_SHIFT 0 72 #define BVBLENDDEF_K1_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K1_SHIFT) 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 #define BVBLENDDEF_K2_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K2_SHIFT) 75 #define BVBLENDDEF_K3_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K3_SHIFT) 76 #define BVBLENDDEF_K4_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K4_SHIFT) 77 #define BVBLENDDEF_CLASSIC_EQUATION_MASK 0x00FFFFFF 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 #define BVBLENDDEF_REMOTE 0x08000000 80 #define BVBLENDDEF_GLOBAL_SHIFT 24 81 #define BVBLENDDEF_GLOBAL_MASK (3 << BVBLENDDEF_GLOBAL_SHIFT) 82 #define BVBLENDDEF_GLOBAL_NONE (0 << BVBLENDDEF_GLOBAL_SHIFT) 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 #define BVBLENDDEF_GLOBAL_UCHAR (1 << BVBLENDDEF_GLOBAL_SHIFT) 85 #define BVBLENDDEF_GLOBAL_FLOAT (3 << BVBLENDDEF_GLOBAL_SHIFT) 86 union bvalpha { 87 unsigned char size8; 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 float fp; 90 }; 91 enum bvblend { 92 BVBLEND_CLEAR = BVBLENDDEF_FORMAT_CLASSIC | 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 (BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) | 95 (BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) | 96 (BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) | 97 (BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT), 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 BVBLEND_SRC1 = BVBLENDDEF_FORMAT_CLASSIC | 100 (BVBLENDDEF_ONE << BVBLENDDEF_K1_SHIFT) | 101 (BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) | 102 (BVBLENDDEF_ONE << BVBLENDDEF_K3_SHIFT) | 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 (BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT), 105 BVBLEND_SRC2 = BVBLENDDEF_FORMAT_CLASSIC | 106 (BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) | 107 (BVBLENDDEF_ONE << BVBLENDDEF_K2_SHIFT) | 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 (BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) | 110 (BVBLENDDEF_ONE << BVBLENDDEF_K4_SHIFT), 111 BVBLEND_SRC1OVER = BVBLENDDEF_FORMAT_CLASSIC | 112 (BVBLENDDEF_ONE << BVBLENDDEF_K1_SHIFT) | 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) | 115 (BVBLENDDEF_ONE << BVBLENDDEF_K3_SHIFT) | 116 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT), 117 BVBLEND_SRC2OVER = BVBLENDDEF_FORMAT_CLASSIC | 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) | 120 (BVBLENDDEF_ONE << BVBLENDDEF_K2_SHIFT) | 121 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) | 122 (BVBLENDDEF_ONE << BVBLENDDEF_K4_SHIFT), 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 BVBLEND_SRC1IN = BVBLENDDEF_FORMAT_CLASSIC | 125 (BVBLENDDEF_A2 << BVBLENDDEF_K1_SHIFT) | 126 (BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) | 127 (BVBLENDDEF_A2 << BVBLENDDEF_K3_SHIFT) | 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 (BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT), 130 BVBLEND_SRC2IN = BVBLENDDEF_FORMAT_CLASSIC | 131 (BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) | 132 (BVBLENDDEF_A1 << BVBLENDDEF_K2_SHIFT) | 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 (BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) | 135 (BVBLENDDEF_A1 << BVBLENDDEF_K4_SHIFT), 136 BVBLEND_SRC1OUT = BVBLENDDEF_FORMAT_CLASSIC | 137 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) | 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 (BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) | 140 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) | 141 (BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT), 142 BVBLEND_SRC2OUT = BVBLENDDEF_FORMAT_CLASSIC | 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 (BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) | 145 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) | 146 (BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) | 147 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT), 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 BVBLEND_SRC1ATOP = BVBLENDDEF_FORMAT_CLASSIC | 150 (BVBLENDDEF_A2 << BVBLENDDEF_K1_SHIFT) | 151 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) | 152 (BVBLENDDEF_A2 << BVBLENDDEF_K3_SHIFT) | 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT), 155 BVBLEND_SRC2ATOP = BVBLENDDEF_FORMAT_CLASSIC | 156 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) | 157 (BVBLENDDEF_A1 << BVBLENDDEF_K2_SHIFT) | 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) | 160 (BVBLENDDEF_A1 << BVBLENDDEF_K4_SHIFT), 161 BVBLEND_XOR = BVBLENDDEF_FORMAT_CLASSIC | 162 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) | 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) | 165 (BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) | 166 (BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT), 167 BVBLEND_PLUS = BVBLENDDEF_FORMAT_CLASSIC | 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 (BVBLENDDEF_ONE << BVBLENDDEF_K1_SHIFT) | 170 (BVBLENDDEF_ONE << BVBLENDDEF_K2_SHIFT) | 171 (BVBLENDDEF_ONE << BVBLENDDEF_K3_SHIFT) | 172 (BVBLENDDEF_ONE << BVBLENDDEF_K4_SHIFT), 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 BVBLEND_NORMAL = BVBLENDDEF_FORMAT_ESSENTIAL + 0, 175 BVBLEND_LIGHTEN = BVBLENDDEF_FORMAT_ESSENTIAL + 1, 176 BVBLEND_DARKEN = BVBLENDDEF_FORMAT_ESSENTIAL + 2, 177 BVBLEND_MULTIPLY = BVBLENDDEF_FORMAT_ESSENTIAL + 3, 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 BVBLEND_AVERAGE = BVBLENDDEF_FORMAT_ESSENTIAL + 4, 180 BVBLEND_ADD = BVBLENDDEF_FORMAT_ESSENTIAL + 5, 181 BVBLEND_LINEAR_DODGE = BVBLEND_ADD, 182 BVBLEND_SUBTRACT = BVBLENDDEF_FORMAT_ESSENTIAL + 6, 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 BVBLEND_LINEAR_BURN = BVBLEND_SUBTRACT, 185 BVBLEND_DIFFERENCE = BVBLENDDEF_FORMAT_ESSENTIAL + 7, 186 BVBLEND_NEGATE = BVBLENDDEF_FORMAT_ESSENTIAL + 8, 187 BVBLEND_SCREEN = BVBLENDDEF_FORMAT_ESSENTIAL + 9, 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 BVBLEND_EXCLUSION = BVBLENDDEF_FORMAT_ESSENTIAL + 10, 190 BVBLEND_OVERLAY = BVBLENDDEF_FORMAT_ESSENTIAL + 11, 191 BVBLEND_SOFT_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 12, 192 BVBLEND_HARD_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 13, 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 BVBLEND_COLOR_DODGE = BVBLENDDEF_FORMAT_ESSENTIAL + 14, 195 BVBLEND_COLOR_BURN = BVBLENDDEF_FORMAT_ESSENTIAL + 15, 196 BVBLEND_LINEAR_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 16, 197 BVBLEND_VIVID_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 17, 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 BVBLEND_PIN_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 18, 200 BVBLEND_HARD_MIX = BVBLENDDEF_FORMAT_ESSENTIAL + 19, 201 BVBLEND_REFLECT = BVBLENDDEF_FORMAT_ESSENTIAL + 20, 202 BVBLEND_GLOW = BVBLENDDEF_FORMAT_ESSENTIAL + 21, 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 BVBLEND_PHOENIX = BVBLENDDEF_FORMAT_ESSENTIAL + 22, 205 #ifdef BVBLEND_EXTERNAL_INCLUDE 206 #define BVBLEND_EXTERNAL_INCLUDE 207 #endif 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 }; 210 #endif 211