Flutter Engine
 
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 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
constexpr std::size_t HashCombine()
constexpr void HashCombineSeed(std::size_t &seed, const Type &arg)

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


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