pub trait VkObject: VkHandle {
const TYPE: VkObjectType;
// Provided method
fn set_name(&self, name: Option<&CStr>) -> Result<()>
where Self: DeviceChild<ConcreteDevice: InstanceChild<ConcreteInstance: InstanceExtensions>>,
Self::Handle: VkRawHandle { ... }
}
Expand description
An object in Vulkan
Required Associated Constants§
const TYPE: VkObjectType
Provided Methods§
Sourcefn set_name(&self, name: Option<&CStr>) -> Result<()>where
Self: DeviceChild<ConcreteDevice: InstanceChild<ConcreteInstance: InstanceExtensions>>,
Self::Handle: VkRawHandle,
Available on crate features Implements
and VK_EXT_debug_utils
only.
fn set_name(&self, name: Option<&CStr>) -> Result<()>where
Self: DeviceChild<ConcreteDevice: InstanceChild<ConcreteInstance: InstanceExtensions>>,
Self::Handle: VkRawHandle,
Implements
and VK_EXT_debug_utils
only.Give a user-friendly name to this object.
§Failures
On failure, this command returns
VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<T: VkObject + ?Sized> VkObject for RefMut<'_, T>
impl<T: VkObject + ?Sized> VkObject for RefMut<'_, T>
const TYPE: VkObjectType = T::TYPE
Source§impl<T: VkObject + ?Sized> VkObject for MutexGuard<'_, T>
impl<T: VkObject + ?Sized> VkObject for MutexGuard<'_, T>
const TYPE: VkObjectType = T::TYPE
Implementors§
Source§impl VkObject for DisplayMode
Available on crate feature VK_KHR_display
only.
impl VkObject for DisplayMode
Available on crate feature
VK_KHR_display
only.const TYPE: VkObjectType = 1_000_002_001i32
Source§impl VkObject for InstanceObject
impl VkObject for InstanceObject
const TYPE: VkObjectType = 1i32
Source§impl<'r, Device: VkHandle<Handle = VkDevice>> VkObject for FramebufferObject<'r, Device>
impl<'r, Device: VkHandle<Handle = VkDevice>> VkObject for FramebufferObject<'r, Device>
const TYPE: VkObjectType = 24i32
Source§impl<Buffer: DeviceChildHandle> VkObject for BufferViewObject<Buffer>
impl<Buffer: DeviceChildHandle> VkObject for BufferViewObject<Buffer>
const TYPE: VkObjectType = 13i32
Source§impl<Device> VkObject for CommandBufferObject<Device>
impl<Device> VkObject for CommandBufferObject<Device>
const TYPE: VkObjectType = 6i32
Source§impl<Device> VkObject for QueueObject<Device>
impl<Device> VkObject for QueueObject<Device>
const TYPE: VkObjectType = 4i32
Source§impl<Device: Device> VkObject for DescriptorUpdateTemplateObject<Device>
Available on crate feature VK_KHR_descriptor_update_template
only.
impl<Device: Device> VkObject for DescriptorUpdateTemplateObject<Device>
Available on crate feature
VK_KHR_descriptor_update_template
only.const TYPE: VkObjectType = 1_000_085_000i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for BufferObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for BufferObject<Device>
const TYPE: VkObjectType = 9i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for DeviceMemoryObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for DeviceMemoryObject<Device>
const TYPE: VkObjectType = 8i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for ImageObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for ImageObject<Device>
const TYPE: VkObjectType = 10i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for SamplerObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for SamplerObject<Device>
const TYPE: VkObjectType = 21i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for CommandPoolObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for CommandPoolObject<Device>
const TYPE: VkObjectType = 25i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for DescriptorPoolObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for DescriptorPoolObject<Device>
const TYPE: VkObjectType = 22i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for DescriptorSetLayoutObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for DescriptorSetLayoutObject<Device>
const TYPE: VkObjectType = 20i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for EventObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for EventObject<Device>
const TYPE: VkObjectType = 11i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for FenceObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for FenceObject<Device>
const TYPE: VkObjectType = 7i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for PipelineCacheObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for PipelineCacheObject<Device>
const TYPE: VkObjectType = 16i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for PipelineLayoutObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for PipelineLayoutObject<Device>
const TYPE: VkObjectType = 17i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for PipelineObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for PipelineObject<Device>
const TYPE: VkObjectType = 19i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for QueryPoolObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for QueryPoolObject<Device>
const TYPE: VkObjectType = 12i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for RenderPassObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for RenderPassObject<Device>
const TYPE: VkObjectType = 18i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for SemaphoreObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for SemaphoreObject<Device>
const TYPE: VkObjectType = 5i32
Source§impl<Device: VkHandle<Handle = VkDevice>> VkObject for ShaderModuleObject<Device>
impl<Device: VkHandle<Handle = VkDevice>> VkObject for ShaderModuleObject<Device>
const TYPE: VkObjectType = 15i32
Source§impl<Device: VkHandle<Handle = VkDevice>, Surface: VkHandle<Handle = VkSurfaceKHR>> VkObject for SurfaceSwapchainObject<Device, Surface>
impl<Device: VkHandle<Handle = VkDevice>, Surface: VkHandle<Handle = VkSurfaceKHR>> VkObject for SurfaceSwapchainObject<Device, Surface>
const TYPE: VkObjectType = 1_000_001_000i32
Source§impl<Image: DeviceChildHandle> VkObject for ImageViewObject<Image>
impl<Image: DeviceChildHandle> VkObject for ImageViewObject<Image>
const TYPE: VkObjectType = 14i32
Source§impl<Instance> VkObject for DeviceObject<Instance>
impl<Instance> VkObject for DeviceObject<Instance>
const TYPE: VkObjectType = 3i32
Source§impl<Instance: Instance + InstanceExtensions> VkObject for DebugReportCallbackObject<Instance>
Available on crate feature VK_EXT_debug_report
only.
impl<Instance: Instance + InstanceExtensions> VkObject for DebugReportCallbackObject<Instance>
Available on crate feature
VK_EXT_debug_report
only.const TYPE: VkObjectType = 1_000_011_000i32
Source§impl<Instance: Instance + InstanceExtensions> VkObject for DebugUtilsMessengerObject<Instance>
Available on crate feature VK_EXT_debug_utils
only.
impl<Instance: Instance + InstanceExtensions> VkObject for DebugUtilsMessengerObject<Instance>
Available on crate feature
VK_EXT_debug_utils
only.const TYPE: VkObjectType = 1_000_128_000i32
Source§impl<Instance: Instance> VkObject for SurfaceObject<Instance>
impl<Instance: Instance> VkObject for SurfaceObject<Instance>
const TYPE: VkObjectType = 1_000_000_000i32
Source§impl<Owner: Instance> VkObject for PhysicalDeviceObject<Owner>
impl<Owner: Instance> VkObject for PhysicalDeviceObject<Owner>
const TYPE: VkObjectType = 2i32
Source§impl<PhysicalDevice: PhysicalDevice> VkObject for Display<PhysicalDevice>
Available on crate feature VK_KHR_display
only.
impl<PhysicalDevice: PhysicalDevice> VkObject for Display<PhysicalDevice>
Available on crate feature
VK_KHR_display
only.