freedreno/ir3: 'keeps' need neighbors found too
[mesa.git] / src / gallium / drivers / freedreno / a3xx / fd3_blend.h
index d269d74dd744e1a16091b747d74c17d0e207a207..142df7c300f54c30be0ad03f1983c4fa1c9cc329 100644 (file)
 #include "pipe/p_state.h"
 #include "pipe/p_context.h"
 
+#include "freedreno_util.h"
+
 struct fd3_blend_stateobj {
        struct pipe_blend_state base;
        struct {
-               uint32_t blend_control;
+               /* Blend control bits for color if there is an alpha channel */
+               uint32_t blend_control_rgb;
+               /* Blend control bits for color if there is no alpha channel */
+               uint32_t blend_control_no_alpha_rgb;
+               /* Blend control bits for alpha channel */
+               uint32_t blend_control_alpha;
                uint32_t control;
-       } rb_mrt[4];
+       } rb_mrt[A3XX_MAX_RENDER_TARGETS];
 };
 
-static INLINE struct fd3_blend_stateobj *
+static inline struct fd3_blend_stateobj *
 fd3_blend_stateobj(struct pipe_blend_state *blend)
 {
        return (struct fd3_blend_stateobj *)blend;