pub struct UnsafeBuffer { /* private fields */ }
Expand description
Data storage in a GPU-accessible location.
Implementations
sourceimpl UnsafeBuffer
impl UnsafeBuffer
sourcepub fn new(
device: Arc<Device>,
create_info: UnsafeBufferCreateInfo
) -> Result<Arc<Self>, BufferCreationError>
pub fn new(
device: Arc<Device>,
create_info: UnsafeBufferCreateInfo
) -> Result<Arc<Self>, BufferCreationError>
Creates a new UnsafeBuffer
.
Panics
- Panics if
create_info.sharing
isConcurrent
with less than 2 items. - Panics if
create_info.size
is zero. - Panics if
create_info.usage
is empty.
sourcepub unsafe fn from_handle(
device: Arc<Device>,
handle: Buffer,
create_info: UnsafeBufferCreateInfo
) -> Arc<Self>
pub unsafe fn from_handle(
device: Arc<Device>,
handle: Buffer,
create_info: UnsafeBufferCreateInfo
) -> Arc<Self>
Creates a new UnsafeBuffer
from a raw object handle.
Safety
handle
must be a valid Vulkan object handle created fromdevice
.create_info
must match the info used to create the object.
sourcepub fn memory_requirements(&self) -> MemoryRequirements
pub fn memory_requirements(&self) -> MemoryRequirements
Returns the memory requirements for this buffer.
sourcepub unsafe fn bind_memory(
&self,
memory: &DeviceMemory,
offset: DeviceSize
) -> Result<(), OomError>
pub unsafe fn bind_memory(
&self,
memory: &DeviceMemory,
offset: DeviceSize
) -> Result<(), OomError>
Binds device memory to this buffer.
sourcepub fn size(&self) -> DeviceSize
pub fn size(&self) -> DeviceSize
Returns the size of the buffer in bytes.
sourcepub fn usage(&self) -> &BufferUsage
pub fn usage(&self) -> &BufferUsage
Returns the usage the buffer was created with.
sourcepub fn external_memory_handle_types(&self) -> ExternalMemoryHandleTypes
pub fn external_memory_handle_types(&self) -> ExternalMemoryHandleTypes
Returns the external memory handle types that are supported with this buffer.
Trait Implementations
sourceimpl Debug for UnsafeBuffer
impl Debug for UnsafeBuffer
sourceimpl DeviceOwned for UnsafeBuffer
impl DeviceOwned for UnsafeBuffer
sourceimpl Drop for UnsafeBuffer
impl Drop for UnsafeBuffer
sourceimpl Hash for UnsafeBuffer
impl Hash for UnsafeBuffer
sourceimpl PartialEq<UnsafeBuffer> for UnsafeBuffer
impl PartialEq<UnsafeBuffer> for UnsafeBuffer
sourceimpl VulkanObject for UnsafeBuffer
impl VulkanObject for UnsafeBuffer
sourcefn internal_object(&self) -> Buffer
fn internal_object(&self) -> Buffer
Returns a reference to the object.
impl Eq for UnsafeBuffer
Auto Trait Implementations
impl !RefUnwindSafe for UnsafeBuffer
impl Send for UnsafeBuffer
impl Sync for UnsafeBuffer
impl Unpin for UnsafeBuffer
impl !UnwindSafe for UnsafeBuffer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more