/****************************************************************************
****************************************************************************
***
*** This header was automatically generated from a Linux kernel header
*** of the same name, to make information necessary for userspace to
*** call into the kernel available to libc. It contains only constants,
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
*** To edit the content of this header, modify the corresponding
*** source file (e.g. under external/kernel-headers/original/) then
*** run bionic/libc/kernel/tools/update_all.py
***
*** Any manual change here will be lost the next time this script will
*** be run. You've been warned!
***
****************************************************************************
****************************************************************************/
#ifndef BVBLEND_H
#define BVBLEND_H
#define BVBLENDDEF_FORMAT_SHIFT 28
#define BVBLENDDEF_FORMAT_MASK (0xF << BVBLENDDEF_FORMAT_SHIFT)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_FORMAT_CLASSIC (0x0 << BVBLENDDEF_FORMAT_SHIFT)
#define BVBLENDDEF_FORMAT_ESSENTIAL (0x1 << BVBLENDDEF_FORMAT_SHIFT)
#define BVBLENDDEF_MODE_SHIFT 4
#define BVBLENDDEF_INV_SHIFT 2
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_NORM_SHIFT 0
#define BVBLENDDEF_ONLY_A (0 << BVBLENDDEF_MODE_SHIFT)
#define BVBLENDDEF_MIN (1 << BVBLENDDEF_MODE_SHIFT)
#define BVBLENDDEF_MAX (2 << BVBLENDDEF_MODE_SHIFT)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_ONLY_C (3 << BVBLENDDEF_MODE_SHIFT)
#define BVBLENDDEF_MODE_MASK (3 << BVBLENDDEF_MODE_SHIFT)
#define BVBLENDDEF_NORM_C1 (0 << BVBLENDDEF_NORM_SHIFT)
#define BVBLENDDEF_NORM_A1 (1 << BVBLENDDEF_NORM_SHIFT)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_NORM_C2 (2 << BVBLENDDEF_NORM_SHIFT)
#define BVBLENDDEF_NORM_A2 (3 << BVBLENDDEF_NORM_SHIFT)
#define BVBLENDDEF_NORM_MASK (3 << BVBLENDDEF_NORM_SHIFT)
#define BVBLENDDEF_INV_C1 (0 << BVBLENDDEF_INV_SHIFT)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_INV_A1 (1 << BVBLENDDEF_INV_SHIFT)
#define BVBLENDDEF_INV_C2 (2 << BVBLENDDEF_INV_SHIFT)
#define BVBLENDDEF_INV_A2 (3 << BVBLENDDEF_INV_SHIFT)
#define BVBLENDDEF_INV_MASK (3 << BVBLENDDEF_INV_SHIFT)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_ONLY_A_NORM_xx BVBLENDDEF_NORM_C1
#define BVBLENDDEF_ONLY_A_INV_xx BVBLENDDEF_INV_C1
#define BVBLENDDEF_ONLY_C_NORM_xx BVBLENDDEF_NORM_A2
#define BVBLENDDEF_ONLY_C_INV_xx BVBLENDDEF_INV_A2
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_ZERO (BVBLENDDEF_ONLY_A | BVBLENDDEF_ONLY_A_NORM_xx | BVBLENDDEF_ONLY_A_INV_xx)
#define BVBLENDDEF_C1 (BVBLENDDEF_ONLY_C | BVBLENDDEF_NORM_C1 | BVBLENDDEF_ONLY_C_INV_xx)
#define BVBLENDDEF_A1 (BVBLENDDEF_ONLY_A | BVBLENDDEF_NORM_A1 | BVBLENDDEF_ONLY_A_INV_xx)
#define BVBLENDDEF_C2 (BVBLENDDEF_ONLY_C | BVBLENDDEF_NORM_C2 | BVBLENDDEF_ONLY_C_INV_xx)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_A2 (BVBLENDDEF_ONLY_A | BVBLENDDEF_NORM_A2 | BVBLENDDEF_ONLY_A_INV_xx)
#define BVBLENDDEF_ONE_MINUS_C1 (BVBLENDDEF_ONLY_C | BVBLENDDEF_ONLY_C_NORM_xx | BVBLENDDEF_INV_C1)
#define BVBLENDDEF_ONE_MINUS_A1 (BVBLENDDEF_ONLY_A | BVBLENDDEF_ONLY_A_NORM_xx | BVBLENDDEF_INV_A1)
#define BVBLENDDEF_ONE_MINUS_C2 (BVBLENDDEF_ONLY_C | BVBLENDDEF_ONLY_C_NORM_xx | BVBLENDDEF_INV_C2)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_ONE_MINUS_A2 (BVBLENDDEF_ONLY_A | BVBLENDDEF_ONLY_A_NORM_xx | BVBLENDDEF_INV_A2)
#define BVBLENDDEF_ONE (BVBLENDDEF_ONLY_C | BVBLENDDEF_ONLY_C_NORM_xx | BVBLENDDEF_ONLY_C_INV_xx)
#define BVBLENDDEF_K_MASK (BVBLENDDEF_MODE_MASK | BVBLENDDEF_INV_MASK | BVBLENDDEF_NORM_MASK)
#define BVBLENDDEF_K1_SHIFT 18
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_K2_SHIFT 12
#define BVBLENDDEF_K3_SHIFT 6
#define BVBLENDDEF_K4_SHIFT 0
#define BVBLENDDEF_K1_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K1_SHIFT)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_K2_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K2_SHIFT)
#define BVBLENDDEF_K3_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K3_SHIFT)
#define BVBLENDDEF_K4_MASK (BVBLENDDEF_K_MASK << BVBLENDDEF_K4_SHIFT)
#define BVBLENDDEF_CLASSIC_EQUATION_MASK 0x00FFFFFF
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_REMOTE 0x08000000
#define BVBLENDDEF_GLOBAL_SHIFT 24
#define BVBLENDDEF_GLOBAL_MASK (3 << BVBLENDDEF_GLOBAL_SHIFT)
#define BVBLENDDEF_GLOBAL_NONE (0 << BVBLENDDEF_GLOBAL_SHIFT)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define BVBLENDDEF_GLOBAL_UCHAR (1 << BVBLENDDEF_GLOBAL_SHIFT)
#define BVBLENDDEF_GLOBAL_FLOAT (3 << BVBLENDDEF_GLOBAL_SHIFT)
union bvalpha {
unsigned char size8;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
float fp;
};
enum bvblend {
BVBLEND_CLEAR = BVBLENDDEF_FORMAT_CLASSIC |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT),
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_SRC1 = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_ONE << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K3_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT),
BVBLEND_SRC2 = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K2_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K4_SHIFT),
BVBLEND_SRC1OVER = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_ONE << BVBLENDDEF_K1_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT),
BVBLEND_SRC2OVER = BVBLENDDEF_FORMAT_CLASSIC |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K4_SHIFT),
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_SRC1IN = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_A2 << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_A2 << BVBLENDDEF_K3_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT),
BVBLEND_SRC2IN = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_A1 << BVBLENDDEF_K2_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_A1 << BVBLENDDEF_K4_SHIFT),
BVBLEND_SRC1OUT = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ZERO << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ZERO << BVBLENDDEF_K4_SHIFT),
BVBLEND_SRC2OUT = BVBLENDDEF_FORMAT_CLASSIC |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ZERO << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ZERO << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT),
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_SRC1ATOP = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_A2 << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_A2 << BVBLENDDEF_K3_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT),
BVBLEND_SRC2ATOP = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_A1 << BVBLENDDEF_K2_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_A1 << BVBLENDDEF_K4_SHIFT),
BVBLEND_XOR = BVBLENDDEF_FORMAT_CLASSIC |
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K1_SHIFT) |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A2 << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ONE_MINUS_A1 << BVBLENDDEF_K4_SHIFT),
BVBLEND_PLUS = BVBLENDDEF_FORMAT_CLASSIC |
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
(BVBLENDDEF_ONE << BVBLENDDEF_K1_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K2_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K3_SHIFT) |
(BVBLENDDEF_ONE << BVBLENDDEF_K4_SHIFT),
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_NORMAL = BVBLENDDEF_FORMAT_ESSENTIAL + 0,
BVBLEND_LIGHTEN = BVBLENDDEF_FORMAT_ESSENTIAL + 1,
BVBLEND_DARKEN = BVBLENDDEF_FORMAT_ESSENTIAL + 2,
BVBLEND_MULTIPLY = BVBLENDDEF_FORMAT_ESSENTIAL + 3,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_AVERAGE = BVBLENDDEF_FORMAT_ESSENTIAL + 4,
BVBLEND_ADD = BVBLENDDEF_FORMAT_ESSENTIAL + 5,
BVBLEND_LINEAR_DODGE = BVBLEND_ADD,
BVBLEND_SUBTRACT = BVBLENDDEF_FORMAT_ESSENTIAL + 6,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_LINEAR_BURN = BVBLEND_SUBTRACT,
BVBLEND_DIFFERENCE = BVBLENDDEF_FORMAT_ESSENTIAL + 7,
BVBLEND_NEGATE = BVBLENDDEF_FORMAT_ESSENTIAL + 8,
BVBLEND_SCREEN = BVBLENDDEF_FORMAT_ESSENTIAL + 9,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_EXCLUSION = BVBLENDDEF_FORMAT_ESSENTIAL + 10,
BVBLEND_OVERLAY = BVBLENDDEF_FORMAT_ESSENTIAL + 11,
BVBLEND_SOFT_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 12,
BVBLEND_HARD_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 13,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_COLOR_DODGE = BVBLENDDEF_FORMAT_ESSENTIAL + 14,
BVBLEND_COLOR_BURN = BVBLENDDEF_FORMAT_ESSENTIAL + 15,
BVBLEND_LINEAR_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 16,
BVBLEND_VIVID_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 17,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_PIN_LIGHT = BVBLENDDEF_FORMAT_ESSENTIAL + 18,
BVBLEND_HARD_MIX = BVBLENDDEF_FORMAT_ESSENTIAL + 19,
BVBLEND_REFLECT = BVBLENDDEF_FORMAT_ESSENTIAL + 20,
BVBLEND_GLOW = BVBLENDDEF_FORMAT_ESSENTIAL + 21,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
BVBLEND_PHOENIX = BVBLENDDEF_FORMAT_ESSENTIAL + 22,
#ifdef BVBLEND_EXTERNAL_INCLUDE
#define BVBLEND_EXTERNAL_INCLUDE
#endif
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
#endif