Struct ash::vk::ShaderCreateInfoEXT
source · #[repr(C)]pub struct ShaderCreateInfoEXT<'a> {Show 15 fields
pub s_type: StructureType,
pub p_next: *const c_void,
pub flags: ShaderCreateFlagsEXT,
pub stage: ShaderStageFlags,
pub next_stage: ShaderStageFlags,
pub code_type: ShaderCodeTypeEXT,
pub code_size: usize,
pub p_code: *const c_void,
pub p_name: *const c_char,
pub set_layout_count: u32,
pub p_set_layouts: *const DescriptorSetLayout,
pub push_constant_range_count: u32,
pub p_push_constant_ranges: *const PushConstantRange,
pub p_specialization_info: *const SpecializationInfo<'a>,
pub _marker: PhantomData<&'a ()>,
}
Expand description
Fields§
§s_type: StructureType
§p_next: *const c_void
§flags: ShaderCreateFlagsEXT
§stage: ShaderStageFlags
§next_stage: ShaderStageFlags
§code_type: ShaderCodeTypeEXT
§code_size: usize
§p_code: *const c_void
§p_name: *const c_char
§set_layout_count: u32
§p_set_layouts: *const DescriptorSetLayout
§push_constant_range_count: u32
§p_push_constant_ranges: *const PushConstantRange
§p_specialization_info: *const SpecializationInfo<'a>
§_marker: PhantomData<&'a ()>
Implementations§
source§impl<'a> ShaderCreateInfoEXT<'a>
impl<'a> ShaderCreateInfoEXT<'a>
pub fn flags(self, flags: ShaderCreateFlagsEXT) -> Self
pub fn stage(self, stage: ShaderStageFlags) -> Self
pub fn next_stage(self, next_stage: ShaderStageFlags) -> Self
pub fn code_type(self, code_type: ShaderCodeTypeEXT) -> Self
pub fn code(self, code: &'a [u8]) -> Self
pub fn name(self, name: &'a CStr) -> Self
pub unsafe fn name_as_c_str(&self) -> Option<&CStr>
pub fn set_layouts(self, set_layouts: &'a [DescriptorSetLayout]) -> Self
pub fn push_constant_ranges( self, push_constant_ranges: &'a [PushConstantRange], ) -> Self
pub fn specialization_info( self, specialization_info: &'a SpecializationInfo<'a>, ) -> Self
sourcepub fn push_next<T: ExtendsShaderCreateInfoEXT + ?Sized>(
self,
next: &'a mut T,
) -> Self
pub fn push_next<T: ExtendsShaderCreateInfoEXT + ?Sized>( self, next: &'a mut T, ) -> Self
Prepends the given extension struct between the root and the first pointer. This
method only exists on structs that can be passed to a function directly. Only
valid extension structs can be pushed into the chain.
If the chain looks like A -> B -> C
, and you call x.push_next(&mut D)
, then the
chain will look like A -> D -> B -> C
.
Trait Implementations§
source§impl<'a> Clone for ShaderCreateInfoEXT<'a>
impl<'a> Clone for ShaderCreateInfoEXT<'a>
source§fn clone(&self) -> ShaderCreateInfoEXT<'a>
fn clone(&self) -> ShaderCreateInfoEXT<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'a> Debug for ShaderCreateInfoEXT<'a>
impl<'a> Debug for ShaderCreateInfoEXT<'a>
source§impl Default for ShaderCreateInfoEXT<'_>
impl Default for ShaderCreateInfoEXT<'_>
source§impl<'a> TaggedStructure for ShaderCreateInfoEXT<'a>
impl<'a> TaggedStructure for ShaderCreateInfoEXT<'a>
const STRUCTURE_TYPE: StructureType = StructureType::SHADER_CREATE_INFO_EXT
impl<'a> Copy for ShaderCreateInfoEXT<'a>
impl Send for ShaderCreateInfoEXT<'_>
impl Sync for ShaderCreateInfoEXT<'_>
Auto Trait Implementations§
impl<'a> Freeze for ShaderCreateInfoEXT<'a>
impl<'a> RefUnwindSafe for ShaderCreateInfoEXT<'a>
impl<'a> Unpin for ShaderCreateInfoEXT<'a>
impl<'a> UnwindSafe for ShaderCreateInfoEXT<'a>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)