1mod backend;
11mod blend;
12mod builtins;
13mod call_budget;
14mod canary;
15mod catalog;
16mod color;
17mod composite;
18mod cpu;
19mod diagnostics;
20mod effect;
21mod effect_cost;
22mod effect_resource;
23mod error;
24mod frame_gpu_time;
25pub use frame_gpu_time::FrameGpuTimes;
26mod gaussian_blur;
27mod generator;
28mod gpu_errors;
29mod graph;
30mod graph_cache;
31mod graph_execute;
32mod graph_plan;
33mod graph_submit;
34pub mod hdr;
35mod layout_pack;
36mod loop_bound;
37mod masking;
38mod paint_wgsl;
39mod pipeline;
40mod pool;
41mod quad;
42mod readback;
43mod registry;
44pub use registry::{CompiledEffect, MAX_EFFECT_INPUTS, PendingEffect};
45mod renderer;
46mod repack;
47mod result_cache;
48mod retire;
49mod robustness;
50mod runtime_effect;
51mod settle;
52mod shader_inventory;
53mod submission_clock;
54mod submission_planner;
55pub use submission_planner::{FrameCost, FrameSubmissions};
56mod target;
57#[cfg(test)]
58mod tests;
59mod uniform;
60mod vector;
61mod yuv;
62
63#[cfg(not(target_arch = "wasm32"))]
66pub(crate) type Shared<T> = std::sync::Arc<T>;
67#[cfg(target_arch = "wasm32")]
68pub(crate) type Shared<T> = std::rc::Rc<T>;
69
70pub use backend::{EffectCatalog, RenderControls};
71pub use blend::{BlendMode, BlendSpace};
72pub use builtins::{
73 CHROMA_KEY_ID, GAUSSIAN_BLUR_ID, GLOW_ID, LUT_3D_ID, builtin_effect_definitions,
74 builtin_transition_definitions, chroma_key_definition, gaussian_blur_definition,
75 glow_definition, lut_3d_definition,
76};
77pub use catalog::{builtin_catalog, builtin_catalog_json};
78pub use color::{
79 Color, ColorDiagnostic, ColorError, ColorPolicy, SdrOutputTransfer, YuvSample,
80 convert_yuv_to_linear_rgba, encode_linear_rgb, is_hdr,
81};
82pub use composite::{CompositeLayer, LayerTransform};
83pub use cpu::{
84 CpuImage, CpuRenderStats, CpuRenderer, CpuSource, RgbaPixels, YuvPlanes, pack_cpu_image,
85};
86pub use diagnostics::{
87 AdapterDiagnostics, BenchmarkMetadata, GpuSubmissionStats, PassTiming, PipelineCreation,
88 PipelineCreationStats, RenderDiagnostics, TimingSource,
89};
90pub use effect::{
91 DiagnosticSeverity, EffectDef, EffectId, EffectKind, EffectParams, EffectResourceKind,
92 EffectResources, EffectRuntime, InputSpec, ParamSpec, ParamType, ParamUnit, ParamValue,
93 ResourceSpec, ShaderDiagnostic, ShaderDiagnostics, UniformField, UniformLayout,
94};
95pub use effect_resource::{Lut3dData, LutParseError};
96pub use error::{
97 DEFAULT_GPU_WAIT_TIMEOUT, GPU_DEVICE_LOST_MESSAGE, GPU_TIMEOUT_MESSAGE,
98 GPU_WORK_DROPPED_MESSAGE, ReadbackFailure, RenderError,
99};
100pub use gaussian_blur::blur_sigma_pixels;
101pub use generator::{
102 FILL_PAINT_PARAMS, GENERATOR_EFFECT_ID, MAX_GENERATOR_STOPS, PAINT_KINDS, PAINT_SPREADS,
103 PaintParams, generator_definition,
104};
105pub use gpu_errors::GpuErrorReports;
106pub use graph::{
107 EffectInputs, GraphError, GraphLayer, RenderCacheKey, RenderGraph, RenderNodeId, RenderNodeKind,
108};
109pub use graph_plan::RenderPlan;
110pub use graph_submit::FrameSubmitTimings;
111pub use masking::{
112 MASK_COMBINE_EFFECT_IDS, MASK_COMBINE_NAMES, MASK_MODES, MAX_SHAPE_MASKS, MaskCombineNames,
113 TRACK_MATTE_EFFECT_ID, mask_combine_definition, mask_combine_definitions,
114 track_matte_definition,
115};
116pub use pipeline::{PipelineCacheStats, WarmupReport};
117pub use pool::{ReadbackBufferPoolStats, TexturePoolStats, UploadTexture, UploadTexturePoolStats};
118pub use readback::{
119 EncodedNv12Pack, Nv12PlaneTargets, PlaneTarget, Rgba8Readback, StagingPlane, Yuv420pPlanes,
120 Yuv420pReadback, Yuv420pTargets, yuv420p_staging_bytes,
121};
122pub use renderer::{LossClassifier, RenderQualityControls, Renderer};
123pub use repack::RepackSource;
124pub use result_cache::{CacheEligibility, CacheIntent, CacheInvalidation, ResultCacheStats};
125pub use robustness::{
126 CapabilityDiagnostic, DegradationDecision, ResourceBudget, filter_sample_limit,
127 resolve_degradation,
128};
129pub use shader_inventory::{builtin_wgsl_modules, effect_wgsl};
130pub use submission_clock::{FrameMark, SubmissionReport};
131pub use target::{RenderSize, RenderedTexture, SourceView};
132pub use uniform::UniformBufferPoolStats;
133pub use yuv::{
134 ExternalTextureLease, GpuVideoPlanes, PendingSourceWork, PreparedSourceTexture, SourceAlpha,
135 SourcePlane, SourcePresentation, Yuv420Frame, YuvFrame,
136};