mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Auto merge of #21081 - servo:lod, r=emilio
Properly enable EXT_shader_texture_lod <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21081) <!-- Reviewable:end -->
This commit is contained in:
commit
6a4bd8d3fa
3 changed files with 8 additions and 1 deletions
|
@ -37,7 +37,11 @@ impl WebGLExtension for EXTShaderTextureLod {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_supported(ext: &WebGLExtensions) -> bool {
|
fn is_supported(ext: &WebGLExtensions) -> bool {
|
||||||
ext.supports_gl_extension("GL_EXT_shader_texture_lod")
|
if cfg!(any(target_os = "android", target_os = "ios")) {
|
||||||
|
return ext.supports_gl_extension("GL_EXT_shader_texture_lod");
|
||||||
|
}
|
||||||
|
// This extension is always available on desktop GL.
|
||||||
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
fn enable(_ext: &WebGLExtensions) {}
|
fn enable(_ext: &WebGLExtensions) {}
|
||||||
|
|
|
@ -265,6 +265,7 @@ impl WebGLExtensions {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn register_all_extensions(&self) {
|
fn register_all_extensions(&self) {
|
||||||
|
self.register::<ext::extshadertexturelod::EXTShaderTextureLod>();
|
||||||
self.register::<ext::exttexturefilteranisotropic::EXTTextureFilterAnisotropic>();
|
self.register::<ext::exttexturefilteranisotropic::EXTTextureFilterAnisotropic>();
|
||||||
self.register::<ext::oeselementindexuint::OESElementIndexUint>();
|
self.register::<ext::oeselementindexuint::OESElementIndexUint>();
|
||||||
self.register::<ext::oesstandardderivatives::OESStandardDerivatives>();
|
self.register::<ext::oesstandardderivatives::OESStandardDerivatives>();
|
||||||
|
|
|
@ -12,6 +12,7 @@ use dom::bindings::reflector::reflect_dom_object;
|
||||||
use dom::bindings::root::DomRoot;
|
use dom::bindings::root::DomRoot;
|
||||||
use dom::bindings::str::DOMString;
|
use dom::bindings::str::DOMString;
|
||||||
use dom::webgl_extensions::WebGLExtensions;
|
use dom::webgl_extensions::WebGLExtensions;
|
||||||
|
use dom::webgl_extensions::ext::extshadertexturelod::EXTShaderTextureLod;
|
||||||
use dom::webgl_extensions::ext::oesstandardderivatives::OESStandardDerivatives;
|
use dom::webgl_extensions::ext::oesstandardderivatives::OESStandardDerivatives;
|
||||||
use dom::webglobject::WebGLObject;
|
use dom::webglobject::WebGLObject;
|
||||||
use dom::window::Window;
|
use dom::window::Window;
|
||||||
|
@ -117,6 +118,7 @@ impl WebGLShader {
|
||||||
let mut params = BuiltInResources::default();
|
let mut params = BuiltInResources::default();
|
||||||
params.FragmentPrecisionHigh = 1;
|
params.FragmentPrecisionHigh = 1;
|
||||||
params.OES_standard_derivatives = ext.is_enabled::<OESStandardDerivatives>() as i32;
|
params.OES_standard_derivatives = ext.is_enabled::<OESStandardDerivatives>() as i32;
|
||||||
|
params.EXT_shader_texture_lod = ext.is_enabled::<EXTShaderTextureLod>() as i32;
|
||||||
let validator = match webgl_version {
|
let validator = match webgl_version {
|
||||||
WebGLVersion::WebGL1 => {
|
WebGLVersion::WebGL1 => {
|
||||||
let output_format = if cfg!(any(target_os = "android", target_os = "ios")) {
|
let output_format = if cfg!(any(target_os = "android", target_os = "ios")) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue