Skip to main content

RendererOptions

Struct RendererOptions 

Source
pub struct RendererOptions {
    pub tier: Option<Tier>,
    pub adapter: AdapterChoice,
    pub budget: SampleBudget,
}
Expand description

Construction-time options for an on-surface Renderer (Plan 0044).

One field today and a struct anyway, because the tier pin is the first of a family: a renderer’s construction choices (quality, later backend or format preferences) are decided once and never per frame, and threading them as positional arguments is how the three constructors drift apart.

Fields§

§tier: Option<Tier>

An explicit tier pin, or None for auto — which resolves Tier::Rich and leaves the frame-time governor free to demote it once (ADR-0045). A pin is honoured in both directions and never demotes.

§adapter: AdapterChoice

Which graphics adapter the window’s context asks for.

AdapterChoice::Default is what the surface path asked for before this field existed and stays the default here: an operator’s --gpu is a lever, not a new preference. Changing what an unflagged window selects would re-base every frame-time figure this project has published, which is a measurement question and not an argument-parsing one (ADR-0155).

Carrying a AdapterChoice::Named String is why this struct is Clone rather than Copy.

§budget: SampleBudget

Which of the tier’s two attractor sample ceilings to resolve against (ADR-0140). SampleBudget::Live by default, so every caller that does not ask resolves exactly what it resolved before the choice existed.

Implementations§

Source§

impl RendererOptions

Source

pub fn pinned(tier: Tier) -> Self

Options pinning tier explicitly, on the default adapter.

Source

pub fn pinned_offline(tier: Tier) -> Self

pinned, against the offline sample ceiling — for a headless render, which has no present deadline to answer to.

Trait Implementations§

Source§

impl Clone for RendererOptions

Source§

fn clone(&self) -> RendererOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RendererOptions

Source§

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

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

impl Default for RendererOptions

Source§

fn default() -> RendererOptions

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

impl PartialEq for RendererOptions

Source§

fn eq(&self, other: &RendererOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for RendererOptions

Source§

impl StructuralPartialEq for RendererOptions

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
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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.
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,