VARYING_SLOT_BOUNDING_BOX0, /* Only appears as TCS output. */
VARYING_SLOT_BOUNDING_BOX1, /* Only appears as TCS output. */
VARYING_SLOT_VIEW_INDEX,
+ VARYING_SLOT_VIEWPORT_MASK, /* Does not appear in FS */
VARYING_SLOT_VAR0, /* First generic varying slot */
/* the remaining are simply for the benefit of gl_varying_slot_name()
* and not to be construed as an upper bound:
#define VARYING_BIT_PSIZ BITFIELD64_BIT(VARYING_SLOT_PSIZ)
#define VARYING_BIT_BFC0 BITFIELD64_BIT(VARYING_SLOT_BFC0)
#define VARYING_BIT_BFC1 BITFIELD64_BIT(VARYING_SLOT_BFC1)
+#define VARYING_BITS_COLOR (VARYING_BIT_COL0 | \
+ VARYING_BIT_COL1 | \
+ VARYING_BIT_BFC0 | \
+ VARYING_BIT_BFC1)
#define VARYING_BIT_EDGE BITFIELD64_BIT(VARYING_SLOT_EDGE)
#define VARYING_BIT_CLIP_VERTEX BITFIELD64_BIT(VARYING_SLOT_CLIP_VERTEX)
#define VARYING_BIT_CLIP_DIST0 BITFIELD64_BIT(VARYING_SLOT_CLIP_DIST0)
#define VARYING_BIT_TESS_LEVEL_INNER BITFIELD64_BIT(VARYING_SLOT_TESS_LEVEL_INNER)
#define VARYING_BIT_BOUNDING_BOX0 BITFIELD64_BIT(VARYING_SLOT_BOUNDING_BOX0)
#define VARYING_BIT_BOUNDING_BOX1 BITFIELD64_BIT(VARYING_SLOT_BOUNDING_BOX1)
+#define VARYING_BIT_VIEWPORT_MASK BITFIELD64_BIT(VARYING_SLOT_VIEWPORT_MASK)
#define VARYING_BIT_VAR(V) BITFIELD64_BIT(VARYING_SLOT_VAR0 + (V))
/*@}*/
/*@{*/
SYSTEM_VALUE_FRAG_COORD,
SYSTEM_VALUE_POINT_COORD,
+ SYSTEM_VALUE_LINE_COORD, /**< Coord along axis perpendicular to line */
SYSTEM_VALUE_FRONT_FACE,
SYSTEM_VALUE_SAMPLE_ID,
SYSTEM_VALUE_SAMPLE_POS,
SYSTEM_VALUE_LOCAL_INVOCATION_ID,
SYSTEM_VALUE_LOCAL_INVOCATION_INDEX,
SYSTEM_VALUE_GLOBAL_INVOCATION_ID,
+ SYSTEM_VALUE_BASE_GLOBAL_INVOCATION_ID,
SYSTEM_VALUE_GLOBAL_INVOCATION_INDEX,
SYSTEM_VALUE_WORK_GROUP_ID,
SYSTEM_VALUE_NUM_WORK_GROUPS,
SYSTEM_VALUE_VERTEX_CNT,
/**
- * Driver internal varying-coords, used for varying-fetch instructions.
- * Not externally visible.
+ * Required for AMD_shader_explicit_vertex_parameter and also used for
+ * varying-fetch instructions.
*
* The _SIZE value is "primitive size", used to scale i/j in primitive
* space to pixel space.
*/
- SYSTEM_VALUE_BARYCENTRIC_PIXEL,
- SYSTEM_VALUE_BARYCENTRIC_SAMPLE,
- SYSTEM_VALUE_BARYCENTRIC_CENTROID,
- SYSTEM_VALUE_BARYCENTRIC_SIZE,
+ SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL,
+ SYSTEM_VALUE_BARYCENTRIC_PERSP_SAMPLE,
+ SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID,
+ SYSTEM_VALUE_BARYCENTRIC_PERSP_SIZE,
+ SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL,
+ SYSTEM_VALUE_BARYCENTRIC_LINEAR_CENTROID,
+ SYSTEM_VALUE_BARYCENTRIC_LINEAR_SAMPLE,
+ SYSTEM_VALUE_BARYCENTRIC_PULL_MODEL,
/**
* IR3 specific geometry shader and tesselation control shader system
*/
enum gl_advanced_blend_mode
{
- BLEND_NONE = 0x0000,
-
- BLEND_MULTIPLY = 0x0001,
- BLEND_SCREEN = 0x0002,
- BLEND_OVERLAY = 0x0004,
- BLEND_DARKEN = 0x0008,
- BLEND_LIGHTEN = 0x0010,
- BLEND_COLORDODGE = 0x0020,
- BLEND_COLORBURN = 0x0040,
- BLEND_HARDLIGHT = 0x0080,
- BLEND_SOFTLIGHT = 0x0100,
- BLEND_DIFFERENCE = 0x0200,
- BLEND_EXCLUSION = 0x0400,
- BLEND_HSL_HUE = 0x0800,
- BLEND_HSL_SATURATION = 0x1000,
- BLEND_HSL_COLOR = 0x2000,
- BLEND_HSL_LUMINOSITY = 0x4000,
-
- BLEND_ALL = 0x7fff,
+ BLEND_NONE = 0,
+ BLEND_MULTIPLY,
+ BLEND_SCREEN,
+ BLEND_OVERLAY,
+ BLEND_DARKEN,
+ BLEND_LIGHTEN,
+ BLEND_COLORDODGE,
+ BLEND_COLORBURN,
+ BLEND_HARDLIGHT,
+ BLEND_SOFTLIGHT,
+ BLEND_DIFFERENCE,
+ BLEND_EXCLUSION,
+ BLEND_HSL_HUE,
+ BLEND_HSL_SATURATION,
+ BLEND_HSL_COLOR,
+ BLEND_HSL_LUMINOSITY,
};
enum blend_func
{
BLEND_FACTOR_ZERO,
BLEND_FACTOR_SRC_COLOR,
+ BLEND_FACTOR_SRC1_COLOR,
BLEND_FACTOR_DST_COLOR,
BLEND_FACTOR_SRC_ALPHA,
+ BLEND_FACTOR_SRC1_ALPHA,
BLEND_FACTOR_DST_ALPHA,
BLEND_FACTOR_CONSTANT_COLOR,
BLEND_FACTOR_CONSTANT_ALPHA,