| Flutter Impeller |

Public Member Functions | Public Attributes | List of all members
impeller::StencilAttachmentDescriptor Struct Reference

`#include <formats.h>`

## Public Member Functions
constexpr bool | operator== (const StencilAttachmentDescriptor &o) const
constexpr size_t | GetHash () const

## Public Attributes
CompareFunction | stencil_compare = CompareFunction::kAlways
StencilOperation | stencil_failure = StencilOperation::kKeep
StencilOperation | depth_failure = StencilOperation::kKeep
StencilOperation | depth_stencil_pass = StencilOperation::kKeep
uint32_t | read_mask = ~0
uint32_t | write_mask = ~0

## Detailed Description

Definition at line 614 of file formats.h.

## Member Function Documentation

## ◆ GetHash()

constexpr size_t impeller::StencilAttachmentDescriptor::GetHash | ( |  | ) | const
| inlineconstexpr

Definition at line 654 of file formats.h.

654 {
655 return fml::HashCombine(stencil_compare, stencil_failure, depth_failure,
656 depth_stencil_pass, read_mask, write_mask);
657 }
impeller::StencilAttachmentDescriptor::stencil_failure
StencilOperation stencil_failure
Definition: formats.h:624
impeller::StencilAttachmentDescriptor::write_mask
uint32_t write_mask
Definition: formats.h:644
impeller::StencilAttachmentDescriptor::stencil_compare
CompareFunction stencil_compare
Definition: formats.h:620
impeller::StencilAttachmentDescriptor::depth_failure
StencilOperation depth_failure
Definition: formats.h:629
impeller::StencilAttachmentDescriptor::depth_stencil_pass
StencilOperation depth_stencil_pass
Definition: formats.h:633
impeller::StencilAttachmentDescriptor::read_mask
uint32_t read_mask
Definition: formats.h:639

References depth_failure, depth_stencil_pass, read_mask, stencil_compare, stencil_failure, and write_mask.

Referenced by std::hash< impeller::StencilAttachmentDescriptor >::operator()().

## ◆ operator==()

constexpr bool impeller::StencilAttachmentDescriptor::operator== | ( | const StencilAttachmentDescriptor & | o | ) | const
| inlineconstexpr

Definition at line 646 of file formats.h.

646 {
647 return stencil_compare == o.stencil_compare &&
648 stencil_failure == o.stencil_failure &&
649 depth_failure == o.depth_failure &&
650 depth_stencil_pass == o.depth_stencil_pass &&
651 read_mask == o.read_mask && write_mask == o.write_mask;
652 }

References depth_failure, depth_stencil_pass, read_mask, stencil_compare, stencil_failure, and write_mask.

## Member Data Documentation

## ◆ depth_failure

StencilOperation impeller::StencilAttachmentDescriptor::depth_failure = StencilOperation::kKeep

Indicates what to do when the stencil test passes but the depth test fails.

Definition at line 629 of file formats.h.

Referenced by impeller::ConfigureStencil(), GetHash(), operator==(), impeller::ToMTLStencilDescriptor(), and impeller::ToVKStencilOpState().

## ◆ depth_stencil_pass

StencilOperation impeller::StencilAttachmentDescriptor::depth_stencil_pass = StencilOperation::kKeep

Indicates what to do when both the stencil and depth tests pass.

Definition at line 633 of file formats.h.

Referenced by impeller::ContentContextOptions::ApplyToPipelineDescriptor(), impeller::ConfigureStencil(), GetHash(), operator==(), impeller::ToMTLStencilDescriptor(), and impeller::ToVKStencilOpState().

## ◆ read_mask

uint32_t impeller::StencilAttachmentDescriptor::read_mask = ~0

The mask applied to the reference and stencil buffer values before performing the stencil_compare operation.

Definition at line 639 of file formats.h.

Referenced by impeller::ConfigureStencil(), GetHash(), operator==(), impeller::ToMTLStencilDescriptor(), and impeller::ToVKStencilOpState().

## ◆ stencil_compare

CompareFunction impeller::StencilAttachmentDescriptor::stencil_compare = CompareFunction::kAlways

Indicates the operation to perform between the reference value and the value in the stencil buffer. Both values have the read_mask applied to them before performing this operation.

Definition at line 620 of file formats.h.

Referenced by impeller::ContentContextOptions::ApplyToPipelineDescriptor(), impeller::ConfigureStencil(), GetHash(), impeller::PipelineBuilder< VertexShader_, FragmentShader_ >::InitializePipelineDescriptorDefaults(), operator==(), impeller::testing::TEST_P(), impeller::ToMTLStencilDescriptor(), and impeller::ToVKStencilOpState().

## ◆ stencil_failure

StencilOperation impeller::StencilAttachmentDescriptor::stencil_failure = StencilOperation::kKeep

Indicates what to do when the stencil test has failed.

Definition at line 624 of file formats.h.

Referenced by impeller::ContentContextOptions::ApplyToPipelineDescriptor(), impeller::ConfigureStencil(), GetHash(), operator==(), impeller::ToMTLStencilDescriptor(), and impeller::ToVKStencilOpState().

## ◆ write_mask

uint32_t impeller::StencilAttachmentDescriptor::write_mask = ~0

The mask applied to the new stencil value before it is written into the stencil buffer.

Definition at line 644 of file formats.h.

Referenced by impeller::ConfigureStencil(), GetHash(), operator==(), impeller::ToMTLStencilDescriptor(), and impeller::ToVKStencilOpState().

The documentation for this struct was generated from the following file:

- impeller/core/formats.h