[Impeller] fix min filter for GL external textures. (#166224)

Fixes https://github.com/flutter/flutter/issues/165976

Pass through sampler options for oes external textures.
This commit is contained in:
Jonah Williams
2025-03-30 17:18:20 -07:00
committed by GitHub
parent b2730aa81b
commit 8d7e8608b3
2 changed files with 9 additions and 0 deletions

View File

@@ -208,6 +208,10 @@ bool TextureContents::Render(const ContentContext& renderer,
// coordinates.
sampler_desc.width_address_mode = SamplerAddressMode::kClampToEdge;
sampler_desc.height_address_mode = SamplerAddressMode::kClampToEdge;
sampler_desc.min_filter = sampler_descriptor_.min_filter;
sampler_desc.mag_filter = sampler_descriptor_.mag_filter;
sampler_desc.mip_filter = MipFilter::kBase;
FSExternal::BindSAMPLEREXTERNALOESTextureSampler(
pass, texture_,
renderer.GetContext()->GetSamplerLibrary()->GetSampler(sampler_desc));

View File

@@ -5,6 +5,7 @@
#include "impeller/entity/contents/tiled_texture_contents.h"
#include "fml/logging.h"
#include "impeller/core/formats.h"
#include "impeller/entity/contents/content_context.h"
#include "impeller/entity/tiled_texture_fill.frag.h"
#include "impeller/entity/tiled_texture_fill_external.frag.h"
@@ -159,6 +160,10 @@ bool TiledTextureContents::Render(const ContentContext& renderer,
// coordinates.
sampler_desc.width_address_mode = SamplerAddressMode::kClampToEdge;
sampler_desc.height_address_mode = SamplerAddressMode::kClampToEdge;
sampler_desc.min_filter = sampler_descriptor_.min_filter;
sampler_desc.mag_filter = sampler_descriptor_.mag_filter;
sampler_desc.mip_filter = MipFilter::kBase;
FSExternal::BindSAMPLEREXTERNALOESTextureSampler(
pass, texture_,
renderer.GetContext()->GetSamplerLibrary()->GetSampler(