Skip to main content

GpuOutput

Struct GpuOutput 

Source
pub struct GpuOutput {
Show 43 fields pub wanted: bool, pub on: bool, pub building: bool, pub pending: bool, pub never: bool, pub adapter: String, pub present_mode: &'static str, pub error: Option<String>, pub reserved: u64, pub frames: u64, pub cpu_frames: u64, pub upload_bytes: u64, pub upload_base: u64, pub base_px: u64, pub split_frames: u64, pub layer_textures: u32, pub layer_bytes: u64, pub layer_store: u64, pub image_quads: u32, pub image_textures: u32, pub image_bytes: u64, pub image_uploads: u64, pub image_hits: u64, pub image_evicted: u64, pub canvas_apart: u32, pub canvas_quads: u32, pub canvas_frames: u64, pub canvas_tiles: u32, pub canvas_bytes: u64, pub canvas_fills: u64, pub canvas_fill_us: u64, pub canvas_evicted: u64, pub canvas_settles: u64, pub canvas_diff_frames: u64, pub canvas_diff_px: u64, pub canvas_diff_sum: u64, pub canvas_diff_max: u32, pub render_us: u64, pub present_us: u64, pub switches: u32, pub leaves: u32, pub verified: u64, pub verify_bad: u64,
}
Expand description

what a window shows through (Ui::gpu_output): status and counters of the GPU output, for tests and measurements

Fields§

§wanted: bool

the output is switched on for this run (jfgui_GPU, the gpu on of a script)

§on: bool

the window’s frames go through its swapchain now

§building: bool

its swapchain is being built

§pending: bool

a frame waits for a free image, or for the window to come back

§never: bool

no output in this run: no Vulkan, no usable adapter or surface, this target

§adapter: String

the adapter (empty: none yet) and the present mode in use

§present_mode: &'static str§error: Option<String>

what the last failure said (None: the last switch went well)

§reserved: u64

bytes of GPU and staging memory the device holds in blocks

§frames: u64

frames presented through the swapchain / the CPU path

§cpu_frames: u64§upload_bytes: u64

bytes uploaded to the window’s textures, those of them to the base texture

§upload_base: u64§base_px: u64

pixels of the base layer drawn again (what a layer above it no longer costs)

§split_frames: u64

frames drawn layer by layer

§layer_textures: u32

the layers above the base with a texture now, its bytes, and the bytes kept of the pixels below them

§layer_bytes: u64§layer_store: u64§image_quads: u32

images drawn as textures in the window’s last frame; of all windows: textures, their bytes, uploads, frames that drew one, textures evicted

§image_textures: u32§image_bytes: u64§image_uploads: u64§image_hits: u64§image_evicted: u64§canvas_apart: u32

canvases (canvas.rs): those whose view comes from tiles now in this window, those drawn so in its last frame, its frames that moved one; of all windows: tiles, their bytes, tiles drawn and the time that took (us), tiles evicted, gestures ended by the CPU’s picture

§canvas_quads: u32§canvas_frames: u64§canvas_tiles: u32§canvas_bytes: u64§canvas_fills: u64§canvas_fill_us: u64§canvas_evicted: u64§canvas_settles: u64§canvas_diff_frames: u64

jfgui_GPU_VERIFY: where the tiles’ picture differed from the CPU’s during a gesture: frames, pixels, the sum of the largest channel difference per pixel, the largest one

§canvas_diff_px: u64§canvas_diff_sum: u64§canvas_diff_max: u32§render_us: u64

time in the window’s renders and presents (us)

§present_us: u64§switches: u32

switches to the swapchain, and back to the CPU path

§leaves: u32§verified: u64

jfgui_GPU_VERIFY: images read back and compared, those that differed

§verify_bad: u64

Trait Implementations§

Source§

impl Clone for GpuOutput

Source§

fn clone(&self) -> Self

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 GpuOutput

Source§

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

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

impl Default for GpuOutput

Source§

fn default() -> Self

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

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> ErasedDestructor for T
where T: 'static,

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.