aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock11
-rw-r--r--src/render_helpers/offscreen.rs16
-rw-r--r--src/render_helpers/surface.rs2
-rw-r--r--src/render_helpers/texture.rs8
4 files changed, 15 insertions, 22 deletions
diff --git a/Cargo.lock b/Cargo.lock
index a2f576d5..191b6cce 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -330,12 +330,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
-name = "atomic_float"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628d228f918ac3b82fe590352cc719d30664a0c13ca3a60266fe02c7132d480a"
-
-[[package]]
name = "autocfg"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3407,11 +3401,10 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
[[package]]
name = "smithay"
version = "0.5.0"
-source = "git+https://github.com/Smithay/smithay.git#5420c2225c66ed12d3e2faa3ec5fe36075051e51"
+source = "git+https://github.com/Smithay/smithay.git#16d3c0f36c0c27c46ad44f1c9d8a592cca92b1c3"
dependencies = [
"aliasable",
"appendlist",
- "atomic_float",
"bitflags 2.9.0",
"calloop 0.14.2",
"cc",
@@ -3480,7 +3473,7 @@ dependencies = [
[[package]]
name = "smithay-drm-extras"
version = "0.1.0"
-source = "git+https://github.com/Smithay/smithay.git#5420c2225c66ed12d3e2faa3ec5fe36075051e51"
+source = "git+https://github.com/Smithay/smithay.git#16d3c0f36c0c27c46ad44f1c9d8a592cca92b1c3"
dependencies = [
"drm",
"libdisplay-info",
diff --git a/src/render_helpers/offscreen.rs b/src/render_helpers/offscreen.rs
index acd3ce7d..71959404 100644
--- a/src/render_helpers/offscreen.rs
+++ b/src/render_helpers/offscreen.rs
@@ -13,7 +13,7 @@ use smithay::backend::renderer::utils::{
CommitCounter, DamageBag, DamageSet, DamageSnapshot, OpaqueRegions,
};
use smithay::backend::renderer::{
- Bind as _, Color32F, ContextId, Frame as _, Offscreen as _, Renderer, Texture as _,
+ Bind as _, Color32F, 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.
- context_id: ContextId,
+ renderer_id: usize,
/// 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,
- context_id: ContextId,
+ renderer_id: usize,
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,
- context_id,
+ renderer_id,
..
}) = inner.as_mut()
{
@@ -109,7 +109,7 @@ impl OffscreenBuffer {
reason = "not unique";
*inner = None;
- } else if *context_id != renderer.context_id() {
+ } else if *renderer_id != renderer.id() {
reason = "renderer id changed";
*inner = None;
@@ -134,7 +134,7 @@ impl OffscreenBuffer {
inner.insert(Inner {
texture,
- context_id: renderer.context_id(),
+ renderer_id: renderer.id(),
scale,
damage,
outer_damage: DamageBag::default(),
@@ -180,7 +180,7 @@ impl OffscreenBuffer {
let elem = OffscreenRenderElement {
id: self.id.clone(),
texture: inner.texture.clone(),
- context_id: inner.context_id.clone(),
+ renderer_id: inner.renderer_id,
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.context_id() != self.context_id {
+ if frame.id() != self.renderer_id {
warn!("trying to render texture from different renderer");
return Ok(());
}
diff --git a/src/render_helpers/surface.rs b/src/render_helpers/surface.rs
index 893d08f3..96065923 100644
--- a/src/render_helpers/surface.rs
+++ b/src/render_helpers/surface.rs
@@ -53,7 +53,7 @@ pub fn render_snapshot_from_surface_tree(
}
let data = data.lock().unwrap();
- let Some(texture) = data.texture::<GlesRenderer>(&renderer.context_id()) else {
+ let Some(texture) = data.texture::<GlesRenderer>(renderer.id()) else {
return;
};
diff --git a/src/render_helpers/texture.rs b/src/render_helpers/texture.rs
index b5901ffc..2967c361 100644
--- a/src/render_helpers/texture.rs
+++ b/src/render_helpers/texture.rs
@@ -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::{ContextId, Frame as _, ImportMem, Renderer, Texture};
+use smithay::backend::renderer::{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,
- context_id: ContextId,
+ renderer_id: usize,
texture: T,
scale: Scale<f64>,
transform: Transform,
@@ -41,7 +41,7 @@ impl<T> TextureBuffer<T> {
TextureBuffer {
id: Id::new(),
commit_counter: CommitCounter::default(),
- context_id: renderer.context_id(),
+ renderer_id: renderer.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.context_id() != self.buffer.context_id {
+ if frame.id() != self.buffer.renderer_id {
warn!("trying to render texture from different renderer");
return Ok(());
}