]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/blend.h
Store simpler states by value in PipelineState
[libs/gl.git] / source / core / blend.h
index 50ea13bd28a897bd6bc3fa491baffaeb66cb8ab4..3edebc8c7f4bdde90e8d7aa14c2ab87cc300ff04 100644 (file)
@@ -71,8 +71,17 @@ struct Blend
        Blend() = default;
        Blend(BlendFactor, BlendFactor);
        Blend(BlendEquation, BlendFactor, BlendFactor);
+
+       bool operator==(const Blend &) const;
+       bool operator!=(const Blend &b) const { return !operator==(b); }
 };
 
+inline bool Blend::operator==(const Blend &other) const
+{
+       return enabled==other.enabled && equation==other.equation && src_factor==other.src_factor &&
+               dst_factor==other.dst_factor && constant==other.constant && write_mask==other.write_mask;
+}
+
 
 inline ColorWriteMask operator|(ColorWriteMask m1, ColorWriteMask m2)
 { return static_cast<ColorWriteMask>(static_cast<int>(m1)|static_cast<int>(m2)); }