Revert "Use surfman with glow bindings (#34328)" (#35402)

This reverts commit 503bb10c5b.

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
Samson 2025-02-10 18:20:27 +01:00 committed by GitHub
parent 90130315a7
commit 0fed99590a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 97 additions and 69 deletions

View file

@ -570,9 +570,15 @@ macro_rules! define_resource_id {
pub struct $name(nonzero_type!($type));
impl $name {
#[allow(unsafe_code)]
#[inline]
pub fn new(id: nonzero_type!($type)) -> Self {
Self(id)
/// Create a new $name.
///
/// # Safety
///
/// Using an invalid OpenGL id may result in undefined behavior.
pub unsafe fn new(id: $type) -> Self {
$name(<nonzero_type!($type)>::new_unchecked(id))
}
#[inline]
@ -593,10 +599,10 @@ macro_rules! define_resource_id {
D: ::serde::Deserializer<'de>,
{
let id = <$type>::deserialize(deserializer)?;
if let Some(id) = <nonzero_type!($type)>::new(id) {
Ok($name(id))
} else {
if id == 0 {
Err(::serde::de::Error::custom("expected a non-zero value"))
} else {
Ok(unsafe { $name::new(id) })
}
}
}