fix(wayland): fix function instrumentation

Signed-off-by: Schmarni <marnistromer@gmail.com>
This commit is contained in:
Schmarni
2025-07-17 17:01:40 +02:00
parent 6cb46cf4f3
commit 66a3ae22cc
8 changed files with 39 additions and 38 deletions

2
Cargo.lock generated
View File

@@ -1410,11 +1410,13 @@ version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b674242641cab680688fc3b850243b351c1af49d4f3417a576debd6cca8dcf5"
dependencies = [
"async-channel",
"async-executor",
"async-task",
"atomic-waker",
"bevy_platform",
"cfg-if",
"concurrent-queue",
"crossbeam-queue",
"derive_more",
"futures-channel",

View File

@@ -103,6 +103,7 @@ bevy = { version = "0.16", default-features = false, features = [
"hdr",
"jpeg",
"tonemapping_luts",
"multi_threaded",
] }
bevy_mod_xr = "0.3"
bevy_mod_openxr = "0.3"

View File

@@ -40,7 +40,7 @@ pub struct Buffer {
}
impl Buffer {
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn new(client: &mut Client, id: ObjectId, backing: BufferBacking) -> Arc<Self> {
let buffer = client.insert(
id,
@@ -56,7 +56,7 @@ impl Buffer {
}
/// Returns the tex if it was updated
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn update_tex(
&self,
dmatexes: &ImportedDmatexs,

View File

@@ -18,7 +18,7 @@ pub struct ShmPool {
}
impl ShmPool {
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn new(fd: OwnedFd, size: i32) -> Result<Self> {
let map = unsafe {
MmapOptions::new()
@@ -31,7 +31,7 @@ impl ShmPool {
})
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn data_lock(&self) -> MappedMutexGuard<RawMutex, [u8]> {
MutexGuard::map(self.inner.lock(), |i| i.as_mut())
}
@@ -39,7 +39,7 @@ impl ShmPool {
impl WlShmPool for ShmPool {
/// https://wayland.app/protocols/wayland#wl_shm_pool:request:create_buffer
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn create_buffer(
&self,
client: &mut Client,
@@ -64,7 +64,7 @@ impl WlShmPool for ShmPool {
}
/// https://wayland.app/protocols/wayland#wl_shm_pool:request:resize
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn resize(&self, _client: &mut Client, _sender_id: ObjectId, size: i32) -> Result<()> {
let mut inner = self.inner.lock();
unsafe { inner.remap(size as usize, RemapOptions::new().may_move(true))? };
@@ -72,7 +72,7 @@ impl WlShmPool for ShmPool {
}
/// https://wayland.app/protocols/wayland#wl_shm_pool:request:destroy
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn destroy(&self, _client: &mut Client, _sender_id: ObjectId) -> Result<()> {
Ok(())
}

View File

@@ -85,7 +85,7 @@ impl std::fmt::Debug for Surface {
}
}
impl Surface {
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn new(client: &Client, id: ObjectId) -> Self {
Surface {
id,
@@ -99,12 +99,12 @@ impl Surface {
}
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn pending_state(&self) -> parking_lot::MutexGuard<'_, DoubleBuffer<SurfaceState>> {
self.state.lock()
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn add_commit_handler<F: Fn(&Surface, &SurfaceState) -> bool + Send + Sync + 'static>(
&self,
handler: F,
@@ -113,7 +113,7 @@ impl Surface {
handlers.push(Box::new(handler));
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn update_graphics(
&self,
dmatexes: &ImportedDmatexs,
@@ -160,13 +160,13 @@ impl Surface {
let _ = state_lock.current().clean_lock.set(());
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn apply_material(&self, model_part: &Arc<ModelPart>) {
// tracing::info!("uwu applying material");
self.pending_material_applications.add_raw(model_part)
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
fn apply_surface_materials(&self) {
let Some(mat) = self.material.get() else {
return;
@@ -177,15 +177,15 @@ impl Surface {
}
self.pending_material_applications.clear();
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
fn mark_dirty(&self) {
self.state.lock().pending.clean_lock = Default::default();
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn current_state(&self) -> SurfaceState {
self.state.lock().current().clone()
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn frame_event(&self) {
if let Some(callback_obj) = self.frame_callback_object.lock().take() {
let _ = self.message_sink.send(Message::Frame(callback_obj));
@@ -222,7 +222,7 @@ impl Surface {
}
impl WlSurface for Surface {
/// https://wayland.app/protocols/wayland#wl_surface:request:attach
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn attach(
&self,
client: &mut Client,
@@ -236,7 +236,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:damage
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn damage(
&self,
_client: &mut Client,
@@ -252,7 +252,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:frame
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn frame(
&self,
client: &mut Client,
@@ -265,7 +265,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:set_opaque_region
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn set_opaque_region(
&self,
_client: &mut Client,
@@ -277,7 +277,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:set_input_region
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn set_input_region(
&self,
_client: &mut Client,
@@ -289,7 +289,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:commit
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn commit(&self, _client: &mut Client, _sender_id: ObjectId) -> Result<()> {
{
let mut lock = self.state.lock();
@@ -324,7 +324,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:set_buffer_transform
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn set_buffer_transform(
&self,
_client: &mut Client,
@@ -336,7 +336,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:set_buffer_scale
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn set_buffer_scale(
&self,
_client: &mut Client,
@@ -348,7 +348,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:damage_buffer
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn damage_buffer(
&self,
_client: &mut Client,
@@ -364,7 +364,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:offset
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn offset(
&self,
_client: &mut Client,
@@ -376,7 +376,7 @@ impl WlSurface for Surface {
}
/// https://wayland.app/protocols/wayland#wl_surface:request:destroy
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn destroy(&self, _client: &mut Client, _sender_id: ObjectId) -> Result<()> {
Ok(())
}

View File

@@ -11,7 +11,6 @@ use bevy_dmabuf::{
use drm_fourcc::DrmFourcc;
use mint::Vector2;
use parking_lot::Mutex;
use tracing::info;
use std::sync::{Arc, OnceLock};
use waynest::server::protocol::stable::linux_dmabuf_v1::zwp_linux_buffer_params_v1::Flags;
@@ -40,7 +39,7 @@ impl std::fmt::Debug for DmabufBacking {
}
impl DmabufBacking {
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn new(
params: Arc<BufferParams>,
message_sink: Option<MessageSink>,
@@ -76,13 +75,12 @@ impl DmabufBacking {
})
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn update_tex(
&self,
dmatexes: &ImportedDmatexs,
images: &mut Assets<Image>,
) -> Option<Handle<Image>> {
info!("updating dmabuf tex");
self.pending_imported_dmatex
.lock()
.take()

View File

@@ -30,7 +30,7 @@ pub struct BufferParams {
}
impl BufferParams {
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub fn new(id: ObjectId) -> Self {
tracing::info!("Creating new BufferParams with id {:?}", id);
Self {
@@ -46,7 +46,7 @@ impl ZwpLinuxBufferParamsV1 for BufferParams {
Ok(())
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn add(
&self,
_client: &mut Client,
@@ -91,7 +91,7 @@ impl ZwpLinuxBufferParamsV1 for BufferParams {
Ok(())
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn create(
&self,
client: &mut Client,
@@ -126,7 +126,7 @@ impl ZwpLinuxBufferParamsV1 for BufferParams {
}
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
async fn create_immed(
&self,
client: &mut Client,
@@ -154,7 +154,7 @@ impl ZwpLinuxBufferParamsV1 for BufferParams {
}
impl Drop for BufferParams {
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
fn drop(&mut self) {
let planes = self.planes.get_mut();
tracing::info!("BufferParams being dropped with {} planes", planes.len());

View File

@@ -19,7 +19,7 @@ use waynest::{
#[derive(Debug, Dispatcher)]
pub struct DmabufFeedback(pub Arc<Dmabuf>);
impl DmabufFeedback {
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub async fn send_params(&self, client: &mut Client, sender_id: ObjectId) -> Result<()> {
let num_formats = self.0.formats.len();
// Send format table first
@@ -60,7 +60,7 @@ impl DmabufFeedback {
Ok(())
}
#[tracing::instrument("debug", skip_all)]
#[tracing::instrument(level = "debug", skip_all)]
pub async fn send_format_table(&self, client: &mut Client, sender_id: ObjectId) -> Result<()> {
// Format + modifier pair (16 bytes):
// - format: u32