44DawnSampler::DawnSampler(
const DawnSharedContext* sharedContext,
68 wgpu::SamplerDescriptor desc;
71 desc.magFilter = filter_mode_to_dawn_filter_mode(samplingOptions.
filter);
72 desc.minFilter = desc.magFilter;
73 desc.mipmapFilter = mipmap_mode_to_dawn_filter_mode(samplingOptions.
mipmap);
74 desc.lodMinClamp = 0.0f;
77 desc.lodMaxClamp = 0.0f;
79 desc.lodMaxClamp = FLT_MAX;
81 desc.maxAnisotropy = 1;
82 desc.compare = wgpu::CompareFunction::Undefined;
85 static const char* tileModeLabels[] = {
91 static const char* minMagFilterLabels[] = {
95 static const char* mipFilterLabels[] = {
101 label.append(
"X").append(tileModeLabels[
static_cast<int>(xTileMode)]);
102 label.append(
"Y").append(tileModeLabels[
static_cast<int>(yTileMode)]);
103 label.append(minMagFilterLabels[
static_cast<int>(samplingOptions.
filter)]);
104 label.append(mipFilterLabels[
static_cast<int>(samplingOptions.
mipmap)]);
105 desc.label = label.c_str();
108 auto sampler = sharedContext->
device().CreateSampler(&desc);
const wgpu::Device & device() const