]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/stenciltest.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / core / stenciltest.h
index 47e7a62787ff5bc0603b89732dfccbe71991def2..2a4338f2012afef716c7f2b91494e32d7abeb7cd 100644 (file)
@@ -8,13 +8,13 @@
 namespace Msp {
 namespace GL {
 
-enum StencilOp
+enum StencilOp: std::uint8_t
 {
        KEEP,
        SET_ZERO,
        REPLACE,
-       INCR,
-       DECR,
+       INCR_CLAMP,
+       DECR_CLAMP,
        INVERT,
        INCR_WRAP,
        DECR_WRAP
@@ -43,8 +43,17 @@ struct StencilTest
        StencilOp depth_fail_op = KEEP;
        StencilOp depth_pass_op = KEEP;
        unsigned reference = 0;
+
+       bool operator==(const StencilTest &) const;
+       bool operator!=(const StencilTest &s) const { return !operator==(s); }
 };
 
+inline bool StencilTest::operator==(const StencilTest &other) const
+{
+       return enabled==other.enabled && compare==other.compare && stencil_fail_op==other.stencil_fail_op &&
+               depth_fail_op==other.depth_fail_op && depth_pass_op==other.depth_pass_op && reference==other.reference;
+}
+
 void operator>>(const LexicalConverter &, StencilOp &);
 void operator<<(LexicalConverter &, StencilOp);