17 SamplerGLES::SamplerGLES(SamplerDescriptor desc) : Sampler(
std::move(desc)) {}
21 bool SamplerGLES::IsValid()
const {
26 std::optional<MipFilter> mip_filter = std::nullopt) {
27 if (!mip_filter.has_value()) {
28 switch (minmag_filter) {
37 switch (mip_filter.value()) {
39 switch (minmag_filter) {
41 return GL_NEAREST_MIPMAP_NEAREST;
43 return GL_LINEAR_MIPMAP_NEAREST;
46 switch (minmag_filter) {
48 return GL_NEAREST_MIPMAP_LINEAR;
50 return GL_LINEAR_MIPMAP_LINEAR;
59 return GL_CLAMP_TO_EDGE;
63 return GL_MIRRORED_REPEAT;
78 <<
"Texture mip count is > 1, but the mipmap has not been generated. "
79 "Texture can not be sampled safely.";
85 if (!target.has_value()) {
90 std::optional<MipFilter> mip_filter = std::nullopt;
92 mip_filter = desc.mip_filter;
95 gl.TexParameteri(target.value(), GL_TEXTURE_MIN_FILTER,
96 ToParam(desc.min_filter, mip_filter));
97 gl.TexParameteri(target.value(), GL_TEXTURE_MAG_FILTER,
99 gl.TexParameteri(target.value(), GL_TEXTURE_WRAP_S,
101 gl.TexParameteri(target.value(), GL_TEXTURE_WRAP_T,