gallium/docs: Add lop table.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Wed, 23 Jun 2010 21:25:26 +0000 (14:25 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Thu, 24 Jun 2010 13:43:50 +0000 (06:43 -0700)
Was feeling kind of weird without it.

src/gallium/docs/source/cso/blend.rst

index a3ccc6719828033d03a0040a60a7a1d006f7c8c9..d97e3d32e9299de631f28273e986f8d6632bd9ac 100644 (file)
@@ -24,6 +24,32 @@ performed on all enabled render targets.
 
 XXX do lops still apply if blend_enable isn't set?
 
+For a source component `s` and destination component `d`, the logical
+operations are defined as taking the bits of each channel of each component,
+and performing one of the following operations per-channel:
+
+* ``CLEAR``: 0
+* ``NOR``: :math:`\lnot(s \lor d)`
+* ``AND_INVERTED``: :math:`\lnot s \land d`
+* ``COPY_INVERTED``: :math:`\lnot s`
+* ``AND_REVERSE``: :math:`s \land \lnot d`
+* ``INVERT``: :math:`\lnot d`
+* ``XOR``: :math:`s \oplus d`
+* ``NAND``: :math:`\lnot(s \land d)`
+* ``AND``: :math:`s \land d`
+* ``EQUIV``: :math:`\lnot(s \oplus d)`
+* ``NOOP``: :math:`d`
+* ``OR_INVERTED``: :math:`\lnot s \lor d`
+* ``COPY``: :math:`s`
+* ``OR_REVERSE``: :math:`s \lor \lnot d`
+* ``OR``: :math:`s \lor d`
+* ``SET``: 1
+
+.. note::
+   The logical operation names and definitions match those of the OpenGL API,
+   and are similar to the ROP2 and ROP3 definitions of GDI. This is
+   intentional, to ease transitions to Gallium.
+
 Members
 -------