diff options
author | Corbin Simpson <[email protected]> | 2010-06-23 14:25:26 -0700 |
---|---|---|
committer | Corbin Simpson <[email protected]> | 2010-06-24 06:43:50 -0700 |
commit | 06a75bd8730fea6cb04b2e6b1754704fc196f050 (patch) | |
tree | f98b577da78be5ddb7b64a08d2377fc4348ffc11 /src | |
parent | 1e10464557308d0fe31c7b30f1be41e1a8c2245c (diff) |
gallium/docs: Add lop table.
Was feeling kind of weird without it.
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/docs/source/cso/blend.rst | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/gallium/docs/source/cso/blend.rst b/src/gallium/docs/source/cso/blend.rst index a3ccc671982..d97e3d32e92 100644 --- a/src/gallium/docs/source/cso/blend.rst +++ b/src/gallium/docs/source/cso/blend.rst @@ -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 ------- |