Struct spirq::EntryPoint[][src]

pub struct EntryPoint {
    pub exec_model: ExecutionModel,
    pub name: String,
    pub manifest: Manifest,
    pub spec: Specialization,
}

Representing an entry point described in a SPIR-V.

Fields

exec_model: ExecutionModel

Entry point execution model.

name: String

Name of the entry point.

manifest: Manifest

Manifest object that contains input, output and descriptor type information.

spec: Specialization

Specialization description of the entry point.

Methods from Deref<Target = Manifest>

pub fn get_push_const<'a>(&'a self) -> Option<&'a Type>[src]

Get the push constant type.

pub fn get_input<'a>(&'a self, location: InterfaceLocation) -> Option<&'a Type>[src]

Get the input interface variable type.

pub fn get_output<'a>(&'a self, location: InterfaceLocation) -> Option<&'a Type>[src]

Get the output interface variable type.

pub fn get_desc<'a>(
    &'a self,
    desc_bind: DescriptorBinding
) -> Option<&'a DescriptorType>
[src]

Get the descriptor type at the given descriptor binding point.

pub fn get_push_const_name<'a>(&'a self) -> Option<&'a str>[src]

Get the name that also refers to the push constant block.

pub fn get_input_name<'a>(
    &'a self,
    location: InterfaceLocation
) -> Option<&'a str>
[src]

Get the name that also refers to the input at the given location.

pub fn get_output_name<'a>(
    &'a self,
    location: InterfaceLocation
) -> Option<&'a str>
[src]

Get the name that also refers to the output at the given location.

pub fn get_desc_name<'a>(
    &'a self,
    desc_bind: DescriptorBinding
) -> Option<&'a str>
[src]

Get the name that also refers to the descriptor at the given descriptor binding.

pub fn get_desc_access(
    &self,
    desc_bind: DescriptorBinding
) -> Option<AccessType>
[src]

Get the valid access patterns of the descriptor at the given binding point. Currently only storage buffers and storage images can be accessed by write.

Note that the returned access type is the nominal access type declared in SPIR-V. If a storage image is declared as ReadWrite but is only accessed by write, it is still considered a ReadWrite descriptor.

pub fn resolve_input<S: AsRef<Sym>>(
    &self,
    sym: S
) -> Option<InterfaceVariableResolution<'_>>
[src]

Get the metadata of a input variable identified by a symbol.

pub fn resolve_output<S: AsRef<Sym>>(
    &self,
    sym: S
) -> Option<InterfaceVariableResolution<'_>>
[src]

Get the metadata of a output variable identified by a symbol.

pub fn resolve_desc<S: AsRef<Sym>>(
    &self,
    sym: S
) -> Option<DescriptorResolution<'_>>
[src]

Get the metadata of a descriptor variable identified by a symbol. If the exact variable cannot be resolved, the descriptor part of the resolution will still be returned, if possible.

pub fn resolve_push_const<S: AsRef<Sym>>(
    &self,
    sym: S
) -> Option<PushConstantResolution<'_>>
[src]

Get the metadata of a descriptor variable identified by a symbol. If the exact variable cannot be resolved, the descriptor part of the resolution will still be returned, if possible.

pub fn inputs<'a>(
    &'a self
) -> impl Iterator<Item = InterfaceVariableResolution<'a>>
[src]

List all input locations.

pub fn outputs<'a>(
    &'a self
) -> impl Iterator<Item = InterfaceVariableResolution<'a>>
[src]

List all output locations in this manifest.

pub fn descs<'a>(&'a self) -> impl Iterator<Item = DescriptorResolution<'a>>[src]

List all descriptors in this manifest. In case of a descriptor pointing to a buffer block, the outermost structure type will be filled in member_var_res.

Trait Implementations

impl Clone for EntryPoint[src]

impl Debug for EntryPoint[src]

impl Deref for EntryPoint[src]

type Target = Manifest

The resulting type after dereferencing.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.