Struct screen_13::driver::physical_device::PhysicalDevice
source · pub struct PhysicalDevice {Show 15 fields
pub accel_struct_properties: Option<AccelerationStructureProperties>,
pub depth_stencil_resolve_properties: DepthStencilResolveProperties,
pub features_v1_0: Vulkan10Features,
pub features_v1_1: Vulkan11Features,
pub features_v1_2: Vulkan12Features,
pub index_type_uint8_features: IndexTypeUint8Features,
pub memory_properties: PhysicalDeviceMemoryProperties,
pub properties_v1_0: Vulkan10Properties,
pub properties_v1_1: Vulkan11Properties,
pub properties_v1_2: Vulkan12Properties,
pub queue_families: Box<[QueueFamilyProperties]>,
pub ray_query_features: RayQueryFeatures,
pub ray_trace_features: RayTraceFeatures,
pub ray_trace_properties: Option<RayTraceProperties>,
pub sampler_filter_minmax_properties: SamplerFilterMinmaxProperties,
/* private fields */
}
Expand description
Structure which holds data about the physical hardware selected by the current device.
Fields§
§accel_struct_properties: Option<AccelerationStructureProperties>
Describes the properties of the device which relate to acceleration structures, if available.
depth_stencil_resolve_properties: DepthStencilResolveProperties
Describes the properties of the device which relate to depth/stencil resolve operations.
features_v1_0: Vulkan10Features
Describes the features of the physical device which are part of the Vulkan 1.0 base feature set.
features_v1_1: Vulkan11Features
Describes the features of the physical device which are part of the Vulkan 1.1 base feature set.
features_v1_2: Vulkan12Features
Describes the features of the physical device which are part of the Vulkan 1.2 base feature set.
index_type_uint8_features: IndexTypeUint8Features
Describes the features of the physical device which relate to vertex indexing.
memory_properties: PhysicalDeviceMemoryProperties
Memory properties of the physical device.
properties_v1_0: Vulkan10Properties
Device properties of the physical device which are part of the Vulkan 1.0 base feature set.
properties_v1_1: Vulkan11Properties
Describes the properties of the physical device which are part of the Vulkan 1.1 base feature set.
properties_v1_2: Vulkan12Properties
Describes the properties of the physical device which are part of the Vulkan 1.2 base feature set.
queue_families: Box<[QueueFamilyProperties]>
Describes the queues offered by this physical device.
ray_query_features: RayQueryFeatures
Describes the features of the device which relate to ray query, if available.
ray_trace_features: RayTraceFeatures
Describes the features of the device which relate to ray tracing, if available.
ray_trace_properties: Option<RayTraceProperties>
Describes the properties of the device which relate to ray tracing, if available.
sampler_filter_minmax_properties: SamplerFilterMinmaxProperties
Describes the properties of the device which relate to min/max sampler filtering.
Implementations§
source§impl PhysicalDevice
impl PhysicalDevice
sourcepub fn new(
instance: &Instance,
physical_device: PhysicalDevice
) -> Result<Self, DriverError>
pub fn new( instance: &Instance, physical_device: PhysicalDevice ) -> Result<Self, DriverError>
Creates a physical device wrapper which reports features and properties.
Trait Implementations§
source§impl Debug for PhysicalDevice
impl Debug for PhysicalDevice
Auto Trait Implementations§
impl RefUnwindSafe for PhysicalDevice
impl Send for PhysicalDevice
impl Sync for PhysicalDevice
impl Unpin for PhysicalDevice
impl UnwindSafe for PhysicalDevice
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.