From 5fff0a9846c6a48d15befea7f9f572d19fbbe45a Mon Sep 17 00:00:00 2001 From: Harald Reingruber <74898239+haraldreingruber-dedalus@users.noreply.github.com> Date: Sat, 28 Jan 2023 23:50:47 +0100 Subject: [PATCH] Add WebGL extension type for 16-bit normalized formats (EXT_texture_norm16) (#3266) --- crates/web-sys/Cargo.toml | 1 + .../src/features/gen_ExtTextureNorm16.rs | 48 +++++++++++++++++++ crates/web-sys/src/features/mod.rs | 6 +++ .../enabled/WebGL2RenderingContext.webidl | 13 +++++ 4 files changed, 68 insertions(+) create mode 100644 crates/web-sys/src/features/gen_ExtTextureNorm16.rs diff --git a/crates/web-sys/Cargo.toml b/crates/web-sys/Cargo.toml index 76850432ee8..6663b222d93 100644 --- a/crates/web-sys/Cargo.toml +++ b/crates/web-sys/Cargo.toml @@ -361,6 +361,7 @@ ExtFragDepth = [] ExtSRgb = [] ExtShaderTextureLod = [] ExtTextureFilterAnisotropic = [] +ExtTextureNorm16 = [] ExtendableEvent = ["Event"] ExtendableEventInit = [] ExtendableMessageEvent = ["Event", "ExtendableEvent"] diff --git a/crates/web-sys/src/features/gen_ExtTextureNorm16.rs b/crates/web-sys/src/features/gen_ExtTextureNorm16.rs new file mode 100644 index 00000000000..d4ab27eaf75 --- /dev/null +++ b/crates/web-sys/src/features/gen_ExtTextureNorm16.rs @@ -0,0 +1,48 @@ +#![allow(unused_imports)] +use super::*; +use wasm_bindgen::prelude::*; +#[wasm_bindgen] +extern "C" { + # [wasm_bindgen (is_type_of = | _ | false , extends = :: js_sys :: Object , js_name = EXT_texture_norm16 , typescript_type = "EXT_texture_norm16")] + #[derive(Debug, Clone, PartialEq, Eq)] + #[doc = "The `ExtTextureNorm16` class."] + #[doc = ""] + #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_texture_norm16)"] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub type ExtTextureNorm16; +} +impl ExtTextureNorm16 { + #[doc = "The `EXT_texture_norm16.R16_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const R16_EXT: u32 = 33322u64 as u32; + #[doc = "The `EXT_texture_norm16.RG16_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const RG16_EXT: u32 = 33324u64 as u32; + #[doc = "The `EXT_texture_norm16.RGB16_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const RGB16_EXT: u32 = 32852u64 as u32; + #[doc = "The `EXT_texture_norm16.RGBA16_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const RGBA16_EXT: u32 = 32859u64 as u32; + #[doc = "The `EXT_texture_norm16.R16_SNORM_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const R16_SNORM_EXT: u32 = 36760u64 as u32; + #[doc = "The `EXT_texture_norm16.RG16_SNORM_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const RG16_SNORM_EXT: u32 = 36761u64 as u32; + #[doc = "The `EXT_texture_norm16.RGB16_SNORM_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const RGB16_SNORM_EXT: u32 = 36762u64 as u32; + #[doc = "The `EXT_texture_norm16.RGBA16_SNORM_EXT` const."] + #[doc = ""] + #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"] + pub const RGBA16_SNORM_EXT: u32 = 36763u64 as u32; +} diff --git a/crates/web-sys/src/features/mod.rs b/crates/web-sys/src/features/mod.rs index 6ee7c1fa0f0..a83613cea17 100644 --- a/crates/web-sys/src/features/mod.rs +++ b/crates/web-sys/src/features/mod.rs @@ -1972,6 +1972,12 @@ mod gen_ExtTextureFilterAnisotropic; #[cfg(feature = "ExtTextureFilterAnisotropic")] pub use gen_ExtTextureFilterAnisotropic::*; +#[cfg(feature = "ExtTextureNorm16")] +#[allow(non_snake_case)] +mod gen_ExtTextureNorm16; +#[cfg(feature = "ExtTextureNorm16")] +pub use gen_ExtTextureNorm16::*; + #[cfg(feature = "ExtendableEvent")] #[allow(non_snake_case)] mod gen_ExtendableEvent; diff --git a/crates/web-sys/webidls/enabled/WebGL2RenderingContext.webidl b/crates/web-sys/webidls/enabled/WebGL2RenderingContext.webidl index 730ae2790d5..2b6efb550b5 100644 --- a/crates/web-sys/webidls/enabled/WebGL2RenderingContext.webidl +++ b/crates/web-sys/webidls/enabled/WebGL2RenderingContext.webidl @@ -722,3 +722,16 @@ WebGL2RenderingContext includes WebGL2RenderingContextBase; [NoInterfaceObject] interface EXT_color_buffer_float { }; + +[NoInterfaceObject] +interface EXT_texture_norm16 +{ + const GLenum R16_EXT = 0x822A; + const GLenum RG16_EXT = 0x822C; + const GLenum RGB16_EXT = 0x8054; + const GLenum RGBA16_EXT = 0x805B; + const GLenum R16_SNORM_EXT = 0x8F98; + const GLenum RG16_SNORM_EXT = 0x8F99; + const GLenum RGB16_SNORM_EXT = 0x8F9A; + const GLenum RGBA16_SNORM_EXT = 0x8F9B; +};