52 bool supports_decal_sampler_address_mode) {
54 case SamplerAddressMode::kClampToEdge:
55 return GL_CLAMP_TO_EDGE;
56 case SamplerAddressMode::kRepeat:
58 case SamplerAddressMode::kMirror:
59 return GL_MIRRORED_REPEAT;
60 case SamplerAddressMode::kDecal:
61 if (supports_decal_sampler_address_mode) {
64 return GL_CLAMP_TO_EDGE;
83 if (
texture.GetTextureDescriptor().mip_count > 1) {
89 gl.TexParameteri(*
target, GL_TEXTURE_MIN_FILTER, min_filter);
90 gl.TexParameteri(*
target, GL_TEXTURE_MAG_FILTER, mag_filter);
99 if (*
target != GL_TEXTURE_EXTERNAL_OES &&
101 const GLint max_level =
102 static_cast<GLint
>(
texture.GetTextureDescriptor().mip_count) - 1;
103 gl.TexParameteri(*
target, GL_TEXTURE_MAX_LEVEL, max_level);
106 const auto supports_decal_mode =
114 gl.TexParameteri(*
target, GL_TEXTURE_WRAP_S, wrap_s);
115 gl.TexParameteri(*
target, GL_TEXTURE_WRAP_T, wrap_t);
120 const GLfloat border_color[4] = {0.0f, 0.0f, 0.0f, 0.0f};