pub struct AccelerationStructure {
raw: AccelerationStructureKHR,
buffer: Buffer,
allocation: Allocation,
compacted_size_query: Option<QueryPool>,
}Available on
vulkan only.Fields§
§raw: AccelerationStructureKHR§buffer: Buffer§allocation: Allocation§compacted_size_query: Option<QueryPool>Implementations§
Source§impl AccelerationStructure
impl AccelerationStructure
Sourcepub unsafe fn raw_handle(&self) -> AccelerationStructureKHR
pub unsafe fn raw_handle(&self) -> AccelerationStructureKHR
Returns the raw Vulkan acceleration structure handle.
This allows recording acceleration structure commands that wgpu-hal doesn’t
support. If those commands come from a device extension, enable it with
Adapter::open_with_callback.
For a device address, use
crate::Device::get_acceleration_structure_device_address instead.
wgpu doesn’t observe an external build, and rejects an acceleration structure
that it never built. Call wgpu::CommandEncoder::mark_acceleration_structures_built
on the encoder that recorded the build.
§Safety
- The acceleration structure handle must not be manually destroyed, or used after the acceleration structure is dropped
- External work using the handle must be synchronized against
wgpu’s own reads and writes, such as compaction - An external build must not write more data than the size the acceleration structure was created with
Trait Implementations§
Source§impl Debug for AccelerationStructure
impl Debug for AccelerationStructure
Source§impl DynResource for AccelerationStructure
impl DynResource for AccelerationStructure
impl DynAccelerationStructure for AccelerationStructure
Auto Trait Implementations§
impl Freeze for AccelerationStructure
impl RefUnwindSafe for AccelerationStructure
impl Send for AccelerationStructure
impl Sync for AccelerationStructure
impl Unpin for AccelerationStructure
impl UnwindSafe for AccelerationStructure
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more