Flutter Impeller
impeller::YUVConversionDescriptorVKHash Struct Reference

#include <yuv_conversion_vk.h>

Public Member Functions

std::size_t operator() (const YUVConversionDescriptorVK &object) const
 

Detailed Description

Definition at line 85 of file yuv_conversion_vk.h.

Member Function Documentation

◆ operator()()

std::size_t impeller::YUVConversionDescriptorVKHash::operator() ( const YUVConversionDescriptorVK object) const

Definition at line 42 of file yuv_conversion_vk.cc.

43  {
44  // Hashers in Vulkan HPP hash the pNext member which isn't what we want for
45  // these to be stable.
46  const auto& conv = desc.get();
47 
48  std::size_t hash = fml::HashCombine(conv.format, //
49  conv.ycbcrModel, //
50  conv.ycbcrRange, //
51  conv.components.r, //
52  conv.components.g, //
53  conv.components.b, //
54  conv.components.a, //
55  conv.xChromaOffset, //
56  conv.yChromaOffset, //
57  conv.chromaFilter, //
58  conv.forceExplicitReconstruction //
59  );
60 #if FML_OS_ANDROID
61  const auto external_format = desc.get<vk::ExternalFormatANDROID>();
62  fml::HashCombineSeed(hash, external_format.externalFormat);
63 #endif // FML_OS_ANDROID
64 
65  return hash;
66 };
GLenum external_format

References external_format.


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