| 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 592 of file formats.h.

## Member Function Documentation

## ◆ GetHash()

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

Definition at line 632 of file formats.h.

632 {
633 return fml::HashCombine(stencil_compare, stencil_failure, depth_failure,
634 depth_stencil_pass, read_mask, write_mask);
635 }

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
| inline constexpr

Definition at line 624 of file formats.h.

624 {
625 return stencil_compare == o.stencil_compare &&
626 stencil_failure == o.stencil_failure &&
627 depth_failure == o.depth_failure &&
628 depth_stencil_pass == o.depth_stencil_pass &&
629 read_mask == o.read_mask && write_mask == o.write_mask;
630 }

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 607 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 611 of file formats.h.

Referenced by impeller::scene::SceneContextOptions::ApplyToPipelineDescriptor(), 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 617 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 598 of file formats.h.

Referenced by impeller::scene::SceneContextOptions::ApplyToPipelineDescriptor(), 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 602 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 622 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

impeller::StencilAttachmentDescriptor::depth_failure
StencilOperation depth_failure
Definition: formats.h:607
impeller::StencilAttachmentDescriptor::stencil_compare
CompareFunction stencil_compare
Definition: formats.h:598
impeller::StencilAttachmentDescriptor::write_mask
uint32_t write_mask
Definition: formats.h:622
impeller::StencilAttachmentDescriptor::read_mask
uint32_t read_mask
Definition: formats.h:617
impeller::StencilAttachmentDescriptor::stencil_failure
StencilOperation stencil_failure
Definition: formats.h:602
impeller::StencilAttachmentDescriptor::depth_stencil_pass
StencilOperation depth_stencil_pass
Definition: formats.h:611