54 bool supports_decal_sampler_address_mode) {
56 case SamplerAddressMode::kClampToEdge:
57 return GL_CLAMP_TO_EDGE;
58 case SamplerAddressMode::kRepeat:
60 case SamplerAddressMode::kMirror:
61 return GL_MIRRORED_REPEAT;
62 case SamplerAddressMode::kDecal:
63 if (supports_decal_sampler_address_mode) {
66 return GL_CLAMP_TO_EDGE;
85 if (
texture.GetTextureDescriptor().mip_count > 1) {
91 gl.TexParameteri(*
target, GL_TEXTURE_MIN_FILTER, min_filter);
92 gl.TexParameteri(*
target, GL_TEXTURE_MAG_FILTER, mag_filter);
101 if (*
target != GL_TEXTURE_EXTERNAL_OES &&
103 const GLint max_level =
104 static_cast<GLint
>(
texture.GetTextureDescriptor().mip_count) - 1;
105 gl.TexParameteri(*
target, GL_TEXTURE_MAX_LEVEL, max_level);
108 const auto supports_decal_mode =
116 gl.TexParameteri(*
target, GL_TEXTURE_WRAP_S, wrap_s);
117 gl.TexParameteri(*
target, GL_TEXTURE_WRAP_T, wrap_t);
122 const GLfloat border_color[4] = {0.0f, 0.0f, 0.0f, 0.0f};
131 const uint32_t max_anisotropy =
133 if (max_anisotropy > 1) {
134 const GLfloat anisotropy[1] = {
static_cast<GLfloat
>(