Struct vulkano::pipeline::layout::PipelineLayout
source · pub struct PipelineLayout { /* private fields */ }
Expand description
Describes the layout of descriptor sets and push constants that are made available to shaders.
Implementations§
source§impl PipelineLayout
impl PipelineLayout
sourcepub fn new(
device: Arc<Device>,
create_info: PipelineLayoutCreateInfo
) -> Result<Arc<PipelineLayout>, Validated<VulkanError>>
pub fn new( device: Arc<Device>, create_info: PipelineLayoutCreateInfo ) -> Result<Arc<PipelineLayout>, Validated<VulkanError>>
Creates a new PipelineLayout
.
sourcepub unsafe fn from_handle(
device: Arc<Device>,
handle: PipelineLayout,
create_info: PipelineLayoutCreateInfo
) -> Arc<PipelineLayout>
pub unsafe fn from_handle( device: Arc<Device>, handle: PipelineLayout, create_info: PipelineLayoutCreateInfo ) -> Arc<PipelineLayout>
Creates a new PipelineLayout
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 flags(&self) -> PipelineLayoutCreateFlags
pub fn flags(&self) -> PipelineLayoutCreateFlags
Returns the flags that the pipeline layout was created with.
sourcepub fn set_layouts(&self) -> &[Arc<DescriptorSetLayout>]
pub fn set_layouts(&self) -> &[Arc<DescriptorSetLayout>]
Returns the descriptor set layouts this pipeline layout was created from.
sourcepub fn push_constant_ranges(&self) -> &[PushConstantRange]
pub fn push_constant_ranges(&self) -> &[PushConstantRange]
Returns a slice containing the push constant ranges this pipeline layout was created from.
The ranges are guaranteed to be sorted deterministically by offset, size, then stages. This means that two slices containing the same elements will always have the same order.
sourcepub fn is_compatible_with(&self, other: &PipelineLayout, num_sets: u32) -> bool
pub fn is_compatible_with(&self, other: &PipelineLayout, num_sets: u32) -> bool
Returns whether self
is compatible with other
for the given number of sets.
Trait Implementations§
source§impl Debug for PipelineLayout
impl Debug for PipelineLayout
source§impl DeviceOwned for PipelineLayout
impl DeviceOwned for PipelineLayout
source§impl Drop for PipelineLayout
impl Drop for PipelineLayout
source§impl Hash for PipelineLayout
impl Hash for PipelineLayout
source§impl PartialEq for PipelineLayout
impl PartialEq for PipelineLayout
source§impl VulkanObject for PipelineLayout
impl VulkanObject for PipelineLayout
impl Eq for PipelineLayout
Auto Trait Implementations§
impl !RefUnwindSafe for PipelineLayout
impl Send for PipelineLayout
impl Sync for PipelineLayout
impl Unpin for PipelineLayout
impl !UnwindSafe for PipelineLayout
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> DeviceOwnedVulkanObject for Twhere
T: DeviceOwned + VulkanObject,
impl<T> DeviceOwnedVulkanObject for Twhere T: DeviceOwned + VulkanObject,
source§fn set_debug_utils_object_name(
&self,
object_name: Option<&str>
) -> Result<(), VulkanError>
fn set_debug_utils_object_name( &self, object_name: Option<&str> ) -> Result<(), VulkanError>
Assigns a human-readable name to the object for debugging purposes. Read more