kms: Track used devices and free resources

This commit is contained in:
Victoria Brekenfeld 2024-01-17 11:34:19 +00:00 committed by Victoria Brekenfeld
parent e74b0dfaaa
commit ef3486f7e0
14 changed files with 303 additions and 130 deletions

View file

@ -16,9 +16,8 @@ use smithay::{
use tracing::warn;
use crate::{
backend::kms::source_node_for_surface,
shell::element::CosmicSurface,
state::{BackendData, State},
state::{advertised_node_for_surface, BackendData, State},
};
pub fn screenshot_window(state: &mut State, surface: &CosmicSurface) {
@ -99,8 +98,8 @@ pub fn screenshot_window(state: &mut State, surface: &CosmicSurface) {
if let Some(wl_surface) = surface.wl_surface() {
let res = match &mut state.backend {
BackendData::Kms(kms) => {
let node = source_node_for_surface(&wl_surface, &state.common.display_handle)
.unwrap_or(kms.primary);
let node = advertised_node_for_surface(&wl_surface, &state.common.display_handle)
.unwrap_or(kms.primary_node);
kms.api
.single_renderer(&node)
.with_context(|| "Failed to get renderer for screenshot")