Files
mono/artdag/l1/test_heavy_fused.sexp
giles 1a74d811f7 Incorporate art-dag-mono repo into artdag/ subfolder
Merges full history from art-dag/mono.git into the monorepo
under the artdag/ directory. Contains: core (DAG engine),
l1 (Celery rendering server), l2 (ActivityPub registry),
common (shared templates/middleware), client (CLI), test (e2e).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

git-subtree-dir: artdag
git-subtree-mainline: 1a179de547
git-subtree-split: 4c2e716558
2026-02-27 09:07:23 +00:00

40 lines
1.1 KiB
Common Lisp

;; Heavy Fused Pipeline Test
;;
;; Tests with many effects to show the full benefit of kernel fusion
(stream "heavy_fused_test"
:fps 30
:width 1920
:height 1080
:seed 42
;; Load primitives
(require-primitives "streaming_gpu")
(require-primitives "image")
(require-primitives "math")
;; Define heavy effects pipeline (4 effects fused into one kernel)
(def heavy-pipeline
[{:op "rotate" :angle 0}
{:op "hue_shift" :degrees 30}
{:op "ripple" :amplitude 15 :frequency 10 :decay 2 :phase 0 :center_x 960 :center_y 540}
{:op "brightness" :factor 1.0}])
;; Frame pipeline
(frame
(let [;; Create base image
r (+ 0.5 (* 0.5 (math:sin (* t 1))))
g (+ 0.5 (* 0.5 (math:sin (* t 1.3))))
b (+ 0.5 (* 0.5 (math:sin (* t 1.7))))
color [(* r 255) (* g 255) (* b 255)]
base (image:make-image 1920 1080 color)
;; Dynamic parameters
angle (* t 30)
phase (* t 2)]
;; 4 effects in ONE kernel call!
(streaming_gpu:fused-pipeline base heavy-pipeline
:rotate_angle angle
:ripple_phase phase))))