Flutter Impeller
impeller::YUVConversionDescriptorVKEqual Struct Reference

#include <yuv_conversion_vk.h>

Public Member Functions

bool operator() (const YUVConversionDescriptorVK &lhs, const YUVConversionDescriptorVK &rhs) const
 

Detailed Description

Definition at line 89 of file yuv_conversion_vk.h.

Member Function Documentation

◆ operator()()

bool impeller::YUVConversionDescriptorVKEqual::operator() ( const YUVConversionDescriptorVK lhs,
const YUVConversionDescriptorVK rhs 
) const

Definition at line 67 of file yuv_conversion_vk.cc.

69  {
70  // Default equality checks in Vulkan HPP checks pNext member members by
71  // pointer which isn't what we want.
72  {
73  const auto& lhs = lhs_desc.get();
74  const auto& rhs = rhs_desc.get();
75 
76  if (lhs.format != rhs.format || //
77  lhs.ycbcrModel != rhs.ycbcrModel || //
78  lhs.ycbcrRange != rhs.ycbcrRange || //
79  lhs.components.r != rhs.components.r || //
80  lhs.components.g != rhs.components.g || //
81  lhs.components.b != rhs.components.b || //
82  lhs.components.a != rhs.components.a || //
83  lhs.xChromaOffset != rhs.xChromaOffset || //
84  lhs.yChromaOffset != rhs.yChromaOffset || //
85  lhs.chromaFilter != rhs.chromaFilter || //
86  lhs.forceExplicitReconstruction != rhs.forceExplicitReconstruction //
87  ) {
88  return false;
89  }
90  }
91 #if FML_OS_ANDROID
92  {
93  const auto lhs = lhs_desc.get<vk::ExternalFormatANDROID>();
94  const auto rhs = rhs_desc.get<vk::ExternalFormatANDROID>();
95  return lhs.externalFormat == rhs.externalFormat;
96  }
97 #else // FML_OS_ANDROID
98  return true;
99 #endif // FML_OS_ANDROID
100 }

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