Skip to content
Snippets Groups Projects
Commit aedcd82e authored by Russel Arbore's avatar Russel Arbore
Browse files

Fuse scale and demosaic

parent 6facc19d
No related branches found
No related tags found
1 merge request!178Some Cava optimization
Pipeline #201627 failed
......@@ -207,8 +207,8 @@ fn cava<r, c, num_ctrl_pts : usize>(
coefs : f32[4, CHAN],
tonemap : f32[256, CHAN],
) -> u8[CHAN, r, c] {
let scaled = scale::<r, c>(input);
let demosc = demosaic::<r, c>(scaled);
@fuse1 let scaled = scale::<r, c>(input);
@fuse1 let demosc = demosaic::<r, c>(scaled);
let denosd = denoise::<r, c>(demosc);
let transf = transform::<r, c>(denosd, TsTw);
let gamutd = gamut::<r, c, num_ctrl_pts>(transf, ctrl_pts, weights, coefs);
......
macro simpl!(X) {
ccp(X);
simplify-cfg(X);
gvn(X);
phi-elim(X);
dce(X);
......@@ -8,33 +9,27 @@ macro simpl!(X) {
simpl!(*);
let fuse1 = outline(cava@fuse1);
inline(fuse1);
inline(denoise);
cpu(scale, demosaic, denoise, transform, gamut, tone_map, descale);
cpu(denoise, transform, gamut, tone_map, descale);
ip-sroa(*);
sroa(*);
simpl!(*);
no-memset(scale@const);
no-memset(fuse1@const);
fixpoint {
forkify(scale);
fork-guard-elim(scale);
fork-coalesce(scale);
forkify(fuse1);
fork-guard-elim(fuse1);
fork-coalesce(fuse1);
}
simpl!(*);
fork-dim-merge(scale);
simpl!(*);
fork-tile[2048, 0, false](scale);
simpl!(*);
let out = fork-split(scale);
simpl!(*);
let out = outline(out._0_scale.fj1);
ip-sroa(*);
sroa(*);
simpl!(*);
host(scale);
unforkify(out);
xdot[true](scale, out);
simpl!(fuse1);
array-slf(fuse1);
simpl!(fuse1);
xdot[true](fuse1);
unforkify(fuse1);
gcm(*);
fixpoint {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment