Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
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 87 of file yuv_conversion_vk.h.

Member Function Documentation

◆ operator()()

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

Definition at line 49 of file yuv_conversion_vk.cc.

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

References fml::HashCombine(), and fml::HashCombineSeed().


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