diff --git a/src/compiler/glsl/gl_nir_lower_blend_equation_advanced.c b/src/compiler/glsl/gl_nir_lower_blend_equation_advanced.c index 2c7db27e323..9bdbc096118 100644 --- a/src/compiler/glsl/gl_nir_lower_blend_equation_advanced.c +++ b/src/compiler/glsl/gl_nir_lower_blend_equation_advanced.c @@ -415,6 +415,8 @@ calc_blend_result(nir_builder *b, break; case PIPE_ADVANCED_BLEND_NONE: UNREACHABLE("not real cases"); + default: + UNREACHABLE("not supported advanced blend mode"); } if (val) diff --git a/src/util/blend.h b/src/util/blend.h index aae61de21b4..f474ba69254 100644 --- a/src/util/blend.h +++ b/src/util/blend.h @@ -135,6 +135,38 @@ enum pipe_advanced_blend_mode { PIPE_ADVANCED_BLEND_HSL_SATURATION, PIPE_ADVANCED_BLEND_HSL_COLOR, PIPE_ADVANCED_BLEND_HSL_LUMINOSITY, + + /* Extended blend modes */ + PIPE_ADVANCED_BLEND_SRC, + PIPE_ADVANCED_BLEND_DST, + PIPE_ADVANCED_BLEND_SRC_OVER, + PIPE_ADVANCED_BLEND_DST_OVER, + PIPE_ADVANCED_BLEND_SRC_IN, + PIPE_ADVANCED_BLEND_DST_IN, + PIPE_ADVANCED_BLEND_SRC_OUT, + PIPE_ADVANCED_BLEND_DST_OUT, + PIPE_ADVANCED_BLEND_SRC_ATOP, + PIPE_ADVANCED_BLEND_DST_ATOP, + PIPE_ADVANCED_BLEND_XOR, + PIPE_ADVANCED_BLEND_INVERT, + PIPE_ADVANCED_BLEND_INVERT_RGB, + PIPE_ADVANCED_BLEND_LINEARDODGE, + PIPE_ADVANCED_BLEND_LINEARBURN, + PIPE_ADVANCED_BLEND_VIVIDLIGHT, + PIPE_ADVANCED_BLEND_LINEARLIGHT, + PIPE_ADVANCED_BLEND_PINLIGHT, + PIPE_ADVANCED_BLEND_HARDMIX, + PIPE_ADVANCED_BLEND_PLUS, + PIPE_ADVANCED_BLEND_PLUS_CLAMPED, + PIPE_ADVANCED_BLEND_PLUS_CLAMPED_ALPHA, + PIPE_ADVANCED_BLEND_PLUS_DARKER, + PIPE_ADVANCED_BLEND_MINUS, + PIPE_ADVANCED_BLEND_MINUS_CLAMPED, + PIPE_ADVANCED_BLEND_CONTRAST, + PIPE_ADVANCED_BLEND_INVERT_OVG, + PIPE_ADVANCED_BLEND_RED, + PIPE_ADVANCED_BLEND_GREEN, + PIPE_ADVANCED_BLEND_BLUE, }; /**