chore: Update smithay for thread-safety
This commit is contained in:
parent
0f6622d8ee
commit
e78e199663
19 changed files with 54 additions and 94 deletions
58
Cargo.lock
generated
58
Cargo.lock
generated
|
|
@ -880,7 +880,6 @@ dependencies = [
|
||||||
"png",
|
"png",
|
||||||
"profiling",
|
"profiling",
|
||||||
"regex",
|
"regex",
|
||||||
"renderdoc",
|
|
||||||
"ron",
|
"ron",
|
||||||
"rust-embed",
|
"rust-embed",
|
||||||
"rustix 0.38.34",
|
"rustix 0.38.34",
|
||||||
|
|
@ -1694,9 +1693,6 @@ name = "float-cmp"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
|
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
|
||||||
dependencies = [
|
|
||||||
"num-traits",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "float_next_after"
|
name = "float_next_after"
|
||||||
|
|
@ -2903,7 +2899,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
|
checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"windows-targets 0.48.5",
|
"windows-targets 0.52.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -3484,7 +3480,7 @@ version = "0.7.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
|
checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro-crate 3.1.0",
|
"proc-macro-crate",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.66",
|
"syn 2.0.66",
|
||||||
|
|
@ -3916,15 +3912,6 @@ dependencies = [
|
||||||
"toml_edit 0.19.15",
|
"toml_edit 0.19.15",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro-crate"
|
|
||||||
version = "3.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
|
|
||||||
dependencies = [
|
|
||||||
"toml_edit 0.21.1",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-error"
|
name = "proc-macro-error"
|
||||||
version = "1.0.4"
|
version = "1.0.4"
|
||||||
|
|
@ -4180,21 +4167,6 @@ version = "0.8.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
|
checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "renderdoc"
|
|
||||||
version = "0.11.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "272da9ec1e28b0ef17df4dcefad820b13f098ebe9c82697111fc57ccff621e12"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 1.3.2",
|
|
||||||
"float-cmp",
|
|
||||||
"libloading 0.7.4",
|
|
||||||
"once_cell",
|
|
||||||
"renderdoc-sys",
|
|
||||||
"winapi",
|
|
||||||
"wio",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "renderdoc-sys"
|
name = "renderdoc-sys"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
|
|
@ -4581,7 +4553,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "smithay"
|
name = "smithay"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
source = "git+https://github.com/smithay//smithay?rev=74e8c4f#74e8c4f6ceef2c1bd9b31db0c7809470e05165dc"
|
source = "git+https://github.com/smithay//smithay?branch=feature/thread-safe-rendering#236468917cfd8b2114432f3e205a757b338221dc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"appendlist",
|
"appendlist",
|
||||||
"ash",
|
"ash",
|
||||||
|
|
@ -5124,17 +5096,6 @@ dependencies = [
|
||||||
"winnow 0.5.40",
|
"winnow 0.5.40",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "toml_edit"
|
|
||||||
version = "0.21.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
|
|
||||||
dependencies = [
|
|
||||||
"indexmap",
|
|
||||||
"toml_datetime",
|
|
||||||
"winnow 0.5.40",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toml_edit"
|
name = "toml_edit"
|
||||||
version = "0.22.13"
|
version = "0.22.13"
|
||||||
|
|
@ -6278,15 +6239,6 @@ dependencies = [
|
||||||
"memchr",
|
"memchr",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wio"
|
|
||||||
version = "0.2.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
|
|
||||||
dependencies = [
|
|
||||||
"winapi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "x11-dl"
|
name = "x11-dl"
|
||||||
version = "2.21.0"
|
version = "2.21.0"
|
||||||
|
|
@ -6461,7 +6413,7 @@ version = "3.15.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5"
|
checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro-crate 1.3.1",
|
"proc-macro-crate",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"regex",
|
"regex",
|
||||||
|
|
@ -6535,7 +6487,7 @@ version = "3.15.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9"
|
checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro-crate 1.3.1",
|
"proc-macro-crate",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 1.0.109",
|
"syn 1.0.109",
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,6 @@ once_cell = "1.18.0"
|
||||||
ordered-float = "4.0"
|
ordered-float = "4.0"
|
||||||
png = "0.17.5"
|
png = "0.17.5"
|
||||||
regex = "1"
|
regex = "1"
|
||||||
renderdoc = {version = "0.11.0", optional = true}
|
|
||||||
ron = "0.8"
|
ron = "0.8"
|
||||||
rust-embed = {version = "8.0", features = ["debug-embed"]}
|
rust-embed = {version = "8.0", features = ["debug-embed"]}
|
||||||
sanitize-filename = "0.5.0"
|
sanitize-filename = "0.5.0"
|
||||||
|
|
@ -93,7 +92,7 @@ optional = true
|
||||||
rev = "cdc652e0"
|
rev = "cdc652e0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
debug = ["egui", "egui_plot", "smithay-egui", "renderdoc", "anyhow/backtrace"]
|
debug = ["egui", "egui_plot", "smithay-egui", "anyhow/backtrace"]
|
||||||
default = ["systemd"]
|
default = ["systemd"]
|
||||||
systemd = ["libsystemd"]
|
systemd = ["libsystemd"]
|
||||||
profile-with-tracy = ["profiling/profile-with-tracy"]
|
profile-with-tracy = ["profiling/profile-with-tracy"]
|
||||||
|
|
@ -118,4 +117,4 @@ inherits = "release"
|
||||||
lto = "fat"
|
lto = "fat"
|
||||||
|
|
||||||
[patch."https://github.com/Smithay/smithay.git"]
|
[patch."https://github.com/Smithay/smithay.git"]
|
||||||
smithay = {git = "https://github.com/smithay//smithay", rev = "74e8c4f"}
|
smithay = {git = "https://github.com/smithay//smithay", branch = "feature/thread-safe-rendering"} #rev = "74e8c4f"}
|
||||||
|
|
|
||||||
|
|
@ -319,7 +319,7 @@ pub fn draw_cursor<R>(
|
||||||
) -> Vec<(CursorRenderElement<R>, Point<i32, BufferCoords>)>
|
) -> Vec<(CursorRenderElement<R>, Point<i32, BufferCoords>)>
|
||||||
where
|
where
|
||||||
R: Renderer + ImportMem + ImportAll,
|
R: Renderer + ImportMem + ImportAll,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
{
|
{
|
||||||
// draw the cursor as relevant
|
// draw the cursor as relevant
|
||||||
// reset the cursor if the surface is no longer alive
|
// reset the cursor if the surface is no longer alive
|
||||||
|
|
|
||||||
|
|
@ -398,7 +398,7 @@ pub fn cursor_elements<'frame, R>(
|
||||||
) -> Vec<CosmicElement<R>>
|
) -> Vec<CosmicElement<R>>
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
{
|
{
|
||||||
let scale = output.current_scale().fractional_scale();
|
let scale = output.current_scale().fractional_scale();
|
||||||
|
|
@ -486,8 +486,8 @@ pub fn workspace_elements<R>(
|
||||||
) -> Result<Vec<CosmicElement<R>>, RenderError<R>>
|
) -> Result<Vec<CosmicElement<R>>, RenderError<R>>
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
<R as Renderer>::Error: From<GlesError>,
|
<R as Renderer>::Error: FromGlesError,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||||
{
|
{
|
||||||
|
|
@ -972,8 +972,8 @@ where
|
||||||
+ Offscreen<OffTarget>
|
+ Offscreen<OffTarget>
|
||||||
+ Blit<Target>
|
+ Blit<Target>
|
||||||
+ AsGlowRenderer,
|
+ AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
<R as Renderer>::Error: From<GlesError>,
|
<R as Renderer>::Error: FromGlesError,
|
||||||
CosmicElement<R>: RenderElement<R>,
|
CosmicElement<R>: RenderElement<R>,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||||
|
|
@ -1128,18 +1128,13 @@ where
|
||||||
+ Bind<Target>
|
+ Bind<Target>
|
||||||
+ Offscreen<OffTarget>
|
+ Offscreen<OffTarget>
|
||||||
+ AsGlowRenderer,
|
+ AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
<R as Renderer>::Error: From<GlesError>,
|
<R as Renderer>::Error: FromGlesError,
|
||||||
CosmicElement<R>: RenderElement<R>,
|
CosmicElement<R>: RenderElement<R>,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||||
{
|
|
||||||
if let Some(ref mut fps) = fps {
|
|
||||||
fps.start();
|
|
||||||
#[cfg(feature = "debug")]
|
|
||||||
if let Some(rd) = fps.rd.as_mut() {
|
if let Some(rd) = fps.rd.as_mut() {
|
||||||
rd.start_frame_capture(
|
rd.start_frame_capture(
|
||||||
renderer.glow_renderer().egl_context().get_context_handle(),
|
|
||||||
std::ptr::null(),
|
std::ptr::null(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -621,7 +621,7 @@ impl CosmicMapped {
|
||||||
) -> (Vec<C>, Vec<C>)
|
) -> (Vec<C>, Vec<C>)
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
C: From<CosmicMappedRenderElement<R>>,
|
C: From<CosmicMappedRenderElement<R>>,
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -550,7 +550,7 @@ impl CosmicStack {
|
||||||
) -> (Vec<C>, Vec<C>)
|
) -> (Vec<C>, Vec<C>)
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem,
|
R: Renderer + ImportAll + ImportMem,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
C: From<CosmicStackRenderElement<R>>,
|
C: From<CosmicStackRenderElement<R>>,
|
||||||
{
|
{
|
||||||
let offset = self
|
let offset = self
|
||||||
|
|
|
||||||
|
|
@ -407,7 +407,11 @@ impl CosmicSurface {
|
||||||
match self.0.underlying_surface() {
|
match self.0.underlying_surface() {
|
||||||
WindowSurface::Wayland(toplevel) => {
|
WindowSurface::Wayland(toplevel) => {
|
||||||
Some(with_states(toplevel.wl_surface(), |states| {
|
Some(with_states(toplevel.wl_surface(), |states| {
|
||||||
states.cached_state.current::<SurfaceCachedState>().min_size
|
states
|
||||||
|
.cached_state
|
||||||
|
.get::<SurfaceCachedState>()
|
||||||
|
.current()
|
||||||
|
.min_size
|
||||||
}))
|
}))
|
||||||
.filter(|size| !(size.w == 0 && size.h == 0))
|
.filter(|size| !(size.w == 0 && size.h == 0))
|
||||||
}
|
}
|
||||||
|
|
@ -426,7 +430,11 @@ impl CosmicSurface {
|
||||||
match self.0.underlying_surface() {
|
match self.0.underlying_surface() {
|
||||||
WindowSurface::Wayland(toplevel) => {
|
WindowSurface::Wayland(toplevel) => {
|
||||||
Some(with_states(toplevel.wl_surface(), |states| {
|
Some(with_states(toplevel.wl_surface(), |states| {
|
||||||
states.cached_state.current::<SurfaceCachedState>().max_size
|
states
|
||||||
|
.cached_state
|
||||||
|
.get::<SurfaceCachedState>()
|
||||||
|
.current()
|
||||||
|
.max_size
|
||||||
}))
|
}))
|
||||||
.filter(|size| !(size.w == 0 && size.h == 0))
|
.filter(|size| !(size.w == 0 && size.h == 0))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -321,7 +321,7 @@ impl CosmicWindow {
|
||||||
) -> (Vec<C>, Vec<C>)
|
) -> (Vec<C>, Vec<C>)
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem,
|
R: Renderer + ImportAll + ImportMem,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
C: From<CosmicWindowRenderElement<R>>,
|
C: From<CosmicWindowRenderElement<R>>,
|
||||||
{
|
{
|
||||||
let has_ssd = self.0.with_program(|p| p.has_ssd(false));
|
let has_ssd = self.0.with_program(|p| p.has_ssd(false));
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ impl MenuGrabState {
|
||||||
pub fn render<I, R>(&self, renderer: &mut R, output: &Output) -> Vec<I>
|
pub fn render<I, R>(&self, renderer: &mut R, output: &Output) -> Vec<I>
|
||||||
where
|
where
|
||||||
R: Renderer + ImportMem,
|
R: Renderer + ImportMem,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
I: From<MemoryRenderBufferRenderElement<R>>,
|
I: From<MemoryRenderBufferRenderElement<R>>,
|
||||||
{
|
{
|
||||||
let scale = output.current_scale().fractional_scale();
|
let scale = output.current_scale().fractional_scale();
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ impl MoveGrabState {
|
||||||
pub fn render<I, R>(&self, renderer: &mut R, output: &Output, theme: &CosmicTheme) -> Vec<I>
|
pub fn render<I, R>(&self, renderer: &mut R, output: &Output, theme: &CosmicTheme) -> Vec<I>
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
I: From<CosmicMappedRenderElement<R>>,
|
I: From<CosmicMappedRenderElement<R>>,
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1242,7 +1242,7 @@ impl FloatingLayout {
|
||||||
)
|
)
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||||
CosmicStackRenderElement<R>: RenderElement<R>,
|
CosmicStackRenderElement<R>: RenderElement<R>,
|
||||||
|
|
|
||||||
|
|
@ -3836,7 +3836,7 @@ impl TilingLayout {
|
||||||
>
|
>
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||||
CosmicStackRenderElement<R>: RenderElement<R>,
|
CosmicStackRenderElement<R>: RenderElement<R>,
|
||||||
|
|
@ -4681,7 +4681,7 @@ fn render_old_tree<R>(
|
||||||
)
|
)
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||||
CosmicStackRenderElement<R>: RenderElement<R>,
|
CosmicStackRenderElement<R>: RenderElement<R>,
|
||||||
|
|
@ -4841,7 +4841,7 @@ fn render_new_tree<R>(
|
||||||
)
|
)
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||||
CosmicStackRenderElement<R>: RenderElement<R>,
|
CosmicStackRenderElement<R>: RenderElement<R>,
|
||||||
|
|
|
||||||
|
|
@ -1907,9 +1907,9 @@ impl Shell {
|
||||||
|
|
||||||
let wants_focus = {
|
let wants_focus = {
|
||||||
with_states(layer_surface.wl_surface(), |states| {
|
with_states(layer_surface.wl_surface(), |states| {
|
||||||
let state = states.cached_state.current::<LayerSurfaceCachedState>();
|
let mut state = states.cached_state.get::<LayerSurfaceCachedState>();
|
||||||
matches!(state.layer, Layer::Top | Layer::Overlay)
|
matches!(state.current().layer, Layer::Top | Layer::Overlay)
|
||||||
&& state.keyboard_interactivity != KeyboardInteractivity::None
|
&& state.current().keyboard_interactivity != KeyboardInteractivity::None
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1036,7 +1036,7 @@ impl Workspace {
|
||||||
>
|
>
|
||||||
where
|
where
|
||||||
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
CosmicWindowRenderElement<R>: RenderElement<R>,
|
CosmicWindowRenderElement<R>: RenderElement<R>,
|
||||||
CosmicStackRenderElement<R>: RenderElement<R>,
|
CosmicStackRenderElement<R>: RenderElement<R>,
|
||||||
|
|
|
||||||
|
|
@ -843,7 +843,7 @@ impl<P, R> AsRenderElements<R> for IcedElement<P>
|
||||||
where
|
where
|
||||||
P: Program + Send + 'static,
|
P: Program + Send + 'static,
|
||||||
R: Renderer + ImportMem,
|
R: Renderer + ImportMem,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
{
|
{
|
||||||
type RenderElement = MemoryRenderBufferRenderElement<R>;
|
type RenderElement = MemoryRenderBufferRenderElement<R>;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,8 @@ impl CompositorHandler for State {
|
||||||
let maybe_dmabuf = with_states(surface, |surface_data| {
|
let maybe_dmabuf = with_states(surface, |surface_data| {
|
||||||
surface_data
|
surface_data
|
||||||
.cached_state
|
.cached_state
|
||||||
.pending::<SurfaceAttributes>()
|
.get::<SurfaceAttributes>()
|
||||||
|
.pending()
|
||||||
.buffer
|
.buffer
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.and_then(|assignment| match assignment {
|
.and_then(|assignment| match assignment {
|
||||||
|
|
|
||||||
|
|
@ -238,8 +238,8 @@ pub fn render_workspace_to_buffer(
|
||||||
+ Offscreen<GlesRenderbuffer>
|
+ Offscreen<GlesRenderbuffer>
|
||||||
+ Blit<Dmabuf>
|
+ Blit<Dmabuf>
|
||||||
+ AsGlowRenderer,
|
+ AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
<R as Renderer>::Error: From<GlesError>,
|
<R as Renderer>::Error: FromGlesError,
|
||||||
CosmicElement<R>: RenderElement<R>,
|
CosmicElement<R>: RenderElement<R>,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||||
|
|
@ -505,8 +505,8 @@ pub fn render_window_to_buffer(
|
||||||
+ Offscreen<GlesRenderbuffer>
|
+ Offscreen<GlesRenderbuffer>
|
||||||
+ Blit<Dmabuf>
|
+ Blit<Dmabuf>
|
||||||
+ AsGlowRenderer,
|
+ AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
<R as Renderer>::Error: From<GlesError>,
|
<R as Renderer>::Error: FromGlesError,
|
||||||
CosmicElement<R>: RenderElement<R>,
|
CosmicElement<R>: RenderElement<R>,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
{
|
{
|
||||||
|
|
@ -764,8 +764,8 @@ pub fn render_cursor_to_buffer(
|
||||||
+ Offscreen<GlesRenderbuffer>
|
+ Offscreen<GlesRenderbuffer>
|
||||||
+ Blit<Dmabuf>
|
+ Blit<Dmabuf>
|
||||||
+ AsGlowRenderer,
|
+ AsGlowRenderer,
|
||||||
<R as Renderer>::TextureId: Clone + 'static,
|
<R as Renderer>::TextureId: Send + Clone + 'static,
|
||||||
<R as Renderer>::Error: From<GlesError>,
|
<R as Renderer>::Error: FromGlesError,
|
||||||
CosmicElement<R>: RenderElement<R>,
|
CosmicElement<R>: RenderElement<R>,
|
||||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -413,7 +413,11 @@ impl XdgShellHandler for State {
|
||||||
) {
|
) {
|
||||||
let seat = Seat::from_resource(&seat).unwrap();
|
let seat = Seat::from_resource(&seat).unwrap();
|
||||||
location -= with_states(surface.wl_surface(), |states| {
|
location -= with_states(surface.wl_surface(), |states| {
|
||||||
states.cached_state.current::<SurfaceCachedState>().geometry
|
states
|
||||||
|
.cached_state
|
||||||
|
.get::<SurfaceCachedState>()
|
||||||
|
.current()
|
||||||
|
.geometry
|
||||||
})
|
})
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.loc;
|
.loc;
|
||||||
|
|
|
||||||
|
|
@ -425,7 +425,8 @@ fn get_popup_toplevel_coords(popup: &PopupSurface) -> Point<i32, Logical> {
|
||||||
offset += with_states(&parent, |states| {
|
offset += with_states(&parent, |states| {
|
||||||
states
|
states
|
||||||
.cached_state
|
.cached_state
|
||||||
.current::<SurfaceCachedState>()
|
.get::<SurfaceCachedState>()
|
||||||
|
.current()
|
||||||
.geometry
|
.geometry
|
||||||
.map(|x| x.loc)
|
.map(|x| x.loc)
|
||||||
.unwrap_or_else(|| (0, 0).into())
|
.unwrap_or_else(|| (0, 0).into())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue