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: DepthStencilResolvePropertiesDescribes the properties of the device which relate to depth/stencil resolve operations.
features_v1_0: Vulkan10FeaturesDescribes the features of the physical device which are part of the Vulkan 1.0 base feature set.
features_v1_1: Vulkan11FeaturesDescribes the features of the physical device which are part of the Vulkan 1.1 base feature set.
features_v1_2: Vulkan12FeaturesDescribes the features of the physical device which are part of the Vulkan 1.2 base feature set.
index_type_uint8_features: IndexTypeUint8FeaturesDescribes the features of the physical device which relate to vertex indexing.
memory_properties: PhysicalDeviceMemoryPropertiesMemory properties of the physical device.
properties_v1_0: Vulkan10PropertiesDevice properties of the physical device which are part of the Vulkan 1.0 base feature set.
properties_v1_1: Vulkan11PropertiesDescribes the properties of the physical device which are part of the Vulkan 1.1 base feature set.
properties_v1_2: Vulkan12PropertiesDescribes 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: RayQueryFeaturesDescribes the features of the device which relate to ray query, if available.
ray_trace_features: RayTraceFeaturesDescribes 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: SamplerFilterMinmaxPropertiesDescribes 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.