mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-22 02:01:55 +07:00
chore: update smithay
This commit is contained in:
committed by
Ivan Molodetskikh
parent
95eafba346
commit
763cd564e3
@@ -13,7 +13,7 @@ use smithay::backend::renderer::utils::{
|
||||
CommitCounter, DamageBag, DamageSet, DamageSnapshot, OpaqueRegions,
|
||||
};
|
||||
use smithay::backend::renderer::{
|
||||
Bind as _, Color32F, Frame as _, Offscreen as _, Renderer, Texture as _,
|
||||
Bind as _, Color32F, ContextId, Frame as _, Offscreen as _, Renderer, Texture as _,
|
||||
};
|
||||
use smithay::utils::{Buffer, Logical, Physical, Point, Rectangle, Scale, Size, Transform};
|
||||
|
||||
@@ -37,7 +37,7 @@ struct Inner {
|
||||
/// The texture with offscreened contents.
|
||||
texture: GlesTexture,
|
||||
/// Id of the renderer that the texture comes from.
|
||||
renderer_id: usize,
|
||||
context_id: ContextId,
|
||||
/// Scale of the texture.
|
||||
scale: Scale<f64>,
|
||||
/// Damage tracker for drawing to the texture.
|
||||
@@ -50,7 +50,7 @@ struct Inner {
|
||||
pub struct OffscreenRenderElement {
|
||||
id: Id,
|
||||
texture: GlesTexture,
|
||||
renderer_id: usize,
|
||||
context_id: ContextId,
|
||||
scale: Scale<f64>,
|
||||
damage: DamageSnapshot<i32, Buffer>,
|
||||
offset: Point<f64, Logical>,
|
||||
@@ -92,7 +92,7 @@ impl OffscreenBuffer {
|
||||
let mut reason = "";
|
||||
if let Some(Inner {
|
||||
texture,
|
||||
renderer_id,
|
||||
context_id,
|
||||
..
|
||||
}) = inner.as_mut()
|
||||
{
|
||||
@@ -109,7 +109,7 @@ impl OffscreenBuffer {
|
||||
reason = "not unique";
|
||||
|
||||
*inner = None;
|
||||
} else if *renderer_id != renderer.id() {
|
||||
} else if *context_id != renderer.context_id() {
|
||||
reason = "renderer id changed";
|
||||
|
||||
*inner = None;
|
||||
@@ -134,7 +134,7 @@ impl OffscreenBuffer {
|
||||
|
||||
inner.insert(Inner {
|
||||
texture,
|
||||
renderer_id: renderer.id(),
|
||||
context_id: renderer.context_id(),
|
||||
scale,
|
||||
damage,
|
||||
outer_damage: DamageBag::default(),
|
||||
@@ -180,7 +180,7 @@ impl OffscreenBuffer {
|
||||
let elem = OffscreenRenderElement {
|
||||
id: self.id.clone(),
|
||||
texture: inner.texture.clone(),
|
||||
renderer_id: inner.renderer_id,
|
||||
context_id: inner.context_id.clone(),
|
||||
scale,
|
||||
damage: inner.outer_damage.snapshot(),
|
||||
offset,
|
||||
@@ -305,7 +305,7 @@ impl RenderElement<GlesRenderer> for OffscreenRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), GlesError> {
|
||||
if frame.id() != self.renderer_id {
|
||||
if frame.context_id() != self.context_id {
|
||||
warn!("trying to render texture from different renderer");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ pub fn render_snapshot_from_surface_tree(
|
||||
}
|
||||
|
||||
let data = data.lock().unwrap();
|
||||
let Some(texture) = data.texture::<GlesRenderer>(renderer.id()) else {
|
||||
let Some(texture) = data.texture::<GlesRenderer>(&renderer.context_id()) else {
|
||||
return;
|
||||
};
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ use smithay::backend::allocator::Fourcc;
|
||||
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
||||
use smithay::backend::renderer::gles::GlesTexture;
|
||||
use smithay::backend::renderer::utils::{CommitCounter, OpaqueRegions};
|
||||
use smithay::backend::renderer::{Frame as _, ImportMem, Renderer, Texture};
|
||||
use smithay::backend::renderer::{ContextId, Frame as _, ImportMem, Renderer, Texture};
|
||||
use smithay::utils::{Buffer, Logical, Physical, Point, Rectangle, Scale, Size, Transform};
|
||||
|
||||
use super::memory::MemoryBuffer;
|
||||
@@ -12,7 +12,7 @@ use super::memory::MemoryBuffer;
|
||||
pub struct TextureBuffer<T> {
|
||||
id: Id,
|
||||
commit_counter: CommitCounter,
|
||||
renderer_id: usize,
|
||||
context_id: ContextId,
|
||||
texture: T,
|
||||
scale: Scale<f64>,
|
||||
transform: Transform,
|
||||
@@ -41,7 +41,7 @@ impl<T> TextureBuffer<T> {
|
||||
TextureBuffer {
|
||||
id: Id::new(),
|
||||
commit_counter: CommitCounter::default(),
|
||||
renderer_id: renderer.id(),
|
||||
context_id: renderer.context_id(),
|
||||
texture,
|
||||
scale: scale.into(),
|
||||
transform,
|
||||
@@ -226,7 +226,7 @@ where
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), R::Error> {
|
||||
if frame.id() != self.buffer.renderer_id {
|
||||
if frame.context_id() != self.buffer.context_id {
|
||||
warn!("trying to render texture from different renderer");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user