PipelineDescription

Struct PipelineDescription 

Source
#[repr(C)]
pub struct PipelineDescription { pub contextFlags: u32, pub samplers: *mut FilterType, pub samplerCount: usize, pub rootConstantBufferSizes: *const u32, pub rootConstantBufferCount: u32, }
Expand description

A structure containing the description used to create a FfxPipeline structure.

A pipeline is the name given to a shader and the collection of state that is required to dispatch it. In the context of FSR2 and its architecture this means that a FfxPipelineDescription will map to either a monolithic object in an explicit API (such as a PipelineStateObject in DirectX 12). Or a shader and some ancillary API objects (in something like DirectX 11).

The contextFlags field contains a copy of the flags passed to ffxFsr2ContextCreate via the flags field of the FfxFsr2InitializationParams structure. These flags are used to determine which permutation of a pipeline for a specific FfxFsr2Pass should be used to implement the features required by each application, as well as to acheive the best performance on specific target hardware configurations.

When using one of the provided backends for FSR2 (such as DirectX 12 or Vulkan) the data required to create a pipeline is compiled offline and included into the backend library that you are using. For cases where the backend interface is overriden by providing custom callback function implementations care should be taken to respect the contents of the contextFlags field in order to correctly support the options provided by FSR2, and acheive best performance.

@ingroup FSR2

Fields§

§contextFlags: u32

< A collection of FfxFsr2InitializationFlagBits which were passed to the context.

§samplers: *mut FilterType

< Array of static samplers.

§samplerCount: usize

< The number of samples contained inside samplers.

§rootConstantBufferSizes: *const u32

< Array containing the sizes of the root constant buffers (count of 32 bit elements).

§rootConstantBufferCount: u32

< The number of root constants contained within rootConstantBufferSizes.

Trait Implementations§

Source§

impl Clone for PipelineDescription

Source§

fn clone(&self) -> PipelineDescription

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PipelineDescription

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PipelineDescription

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Copy for PipelineDescription

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.