16VulkanSampler::VulkanSampler(
const VulkanSharedContext* sharedContext,
21 , fYcbcrConversion(ycbcrConversion) {}
49 samplerInfo.
pNext =
nullptr;
50 samplerInfo.
flags = 0;
53 switch (samplingOptions.
filter) {
61 switch (samplingOptions.
mipmap) {
104 std::move(ycbcrConversion)));
107void VulkanSampler::freeGpuData() {
112 DestroySampler(sharedContext->
device(), fSampler,
nullptr));
#define VULKAN_CALL(IFACE, X)
#define VULKAN_CALL_RESULT(SHARED_CONTEXT, RESULT, X)
const skgpu::VulkanInterface * interface() const
SK_API sk_sp< SkDocument > Make(SkWStream *dst, const SkSerialProcs *=nullptr, std::function< void(const SkPicture *)> onEndPage=nullptr)
std::function< ProfileSample(void)> Sampler
Sampler is run during SamplingProfiler::SampleRepeatedly. Each platform should implement its version ...
static vk::UniqueSampler CreateSampler(const vk::Device &device, const SamplerDescriptor &desc, const std::shared_ptr< YUVConversionVK > &yuv_conversion)
static VkSamplerAddressMode tile_mode_to_vk_sampler_address(SkTileMode tileMode)
const SkFilterMode filter
const SkMipmapMode mipmap
VkBool32 unnormalizedCoordinates
VkSamplerAddressMode addressModeU
VkBool32 anisotropyEnable
VkBorderColor borderColor
VkSamplerMipmapMode mipmapMode
VkSamplerAddressMode addressModeW
VkSamplerCreateFlags flags
VkSamplerAddressMode addressModeV
#define VK_LOD_CLAMP_NONE
@ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK
@ VK_SAMPLER_MIPMAP_MODE_NEAREST
@ VK_SAMPLER_MIPMAP_MODE_LINEAR
@ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT
@ VK_SAMPLER_ADDRESS_MODE_REPEAT
@ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
@ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
@ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO