DynDevice exit, counters, report

This commit is contained in:
Andreas Reich 2024-07-28 11:00:59 +02:00
parent 9e1f1487b4
commit 1a9170e57b

View File

@ -21,6 +21,8 @@ use super::{
};
pub trait DynDevice: DynResource {
unsafe fn exit(self: Box<Self>, queue: Box<dyn DynQueue>);
unsafe fn create_buffer(
&self,
desc: &BufferDescriptor,
@ -160,9 +162,16 @@ pub trait DynDevice: DynResource {
&self,
acceleration_structure: Box<dyn DynAccelerationStructure>,
);
fn get_internal_counters(&self) -> wgt::HalCounters;
fn generate_allocator_report(&self) -> Option<wgt::AllocatorReport>;
}
impl<D: Device + DynResource> DynDevice for D {
unsafe fn exit(self: Box<Self>, queue: Box<dyn DynQueue>) {
unsafe { D::exit(*self, queue.unbox()) }
}
unsafe fn create_buffer(
&self,
desc: &BufferDescriptor,
@ -558,4 +567,12 @@ impl<D: Device + DynResource> DynDevice for D {
) {
unsafe { D::destroy_acceleration_structure(self, acceleration_structure.unbox()) }
}
fn get_internal_counters(&self) -> wgt::HalCounters {
D::get_internal_counters(self)
}
fn generate_allocator_report(&self) -> Option<wgt::AllocatorReport> {
D::generate_allocator_report(self)
}
}