mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +01:00
Use surfman with glow bindings (#34328)
* Use glowing surfman Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Port https://github.com/servo/webxr/pull/255 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fixups rebase Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fmt Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Update surfman Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Fix stale TODO Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
fdbfecf7dd
commit
503bb10c5b
13 changed files with 70 additions and 97 deletions
|
@ -135,7 +135,8 @@ impl RenderingContext for SurfmanRenderingContext {
|
|||
fn framebuffer_object(&self) -> u32 {
|
||||
self.context_surface_info()
|
||||
.unwrap_or(None)
|
||||
.map(|info| info.framebuffer_object)
|
||||
.and_then(|info| info.framebuffer_object)
|
||||
.map(|fbo| fbo.0.get())
|
||||
.unwrap_or(0)
|
||||
}
|
||||
#[allow(unsafe_code)]
|
||||
|
@ -187,7 +188,11 @@ impl RenderingContext for SurfmanRenderingContext {
|
|||
debug!("... getting texture for surface {:?}", front_buffer_id);
|
||||
let surface_texture = device.create_surface_texture(context, surface).unwrap();
|
||||
let gl_texture = device.surface_texture_object(&surface_texture);
|
||||
(surface_texture, gl_texture, size)
|
||||
(
|
||||
surface_texture,
|
||||
gl_texture.map(|tex| tex.0.get()).unwrap_or(0),
|
||||
size,
|
||||
)
|
||||
}
|
||||
|
||||
fn destroy_texture(&self, surface_texture: SurfaceTexture) -> Surface {
|
||||
|
@ -390,7 +395,10 @@ impl SurfmanRenderingContext {
|
|||
|
||||
pub fn surface_texture_object(&self, surface: &SurfaceTexture) -> u32 {
|
||||
let device = &self.0.device.borrow();
|
||||
device.surface_texture_object(surface)
|
||||
device
|
||||
.surface_texture_object(surface)
|
||||
.map(|t| t.0.get())
|
||||
.unwrap_or_default()
|
||||
}
|
||||
|
||||
pub fn get_proc_address(&self, name: &str) -> *const c_void {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue