Fix heavy tests to use available primitives

This commit is contained in:
giles
2026-02-04 09:57:29 +00:00
parent f858e25246
commit def62de578
2 changed files with 11 additions and 18 deletions

View File

@@ -13,10 +13,9 @@
(require-primitives "image") (require-primitives "image")
(require-primitives "math") (require-primitives "math")
;; Define heavy effects pipeline (5 effects fused into one kernel) ;; Define heavy effects pipeline (4 effects fused into one kernel)
(def heavy-pipeline (def heavy-pipeline
[{:op "rotate" :angle 0} [{:op "rotate" :angle 0}
{:op "zoom" :amount 1.0}
{:op "hue_shift" :degrees 30} {:op "hue_shift" :degrees 30}
{:op "ripple" :amplitude 15 :frequency 10 :decay 2 :phase 0 :center_x 960 :center_y 540} {:op "ripple" :amplitude 15 :frequency 10 :decay 2 :phase 0 :center_x 960 :center_y 540}
{:op "brightness" :factor 1.0}]) {:op "brightness" :factor 1.0}])
@@ -31,15 +30,10 @@
base (image:make-image 1920 1080 color) base (image:make-image 1920 1080 color)
;; Dynamic parameters ;; Dynamic parameters
angle1 (* t 30) angle (* t 30)
angle2 (* t -20) phase (* t 2)]
zoom1 (+ 1.0 (* 0.1 (math:sin (* t 0.5))))
zoom2 (+ 1.0 (* 0.05 (math:cos (* t 0.7))))
phase1 (* t 2)
phase2 (* t 3)]
;; 10 effects in ONE kernel call! ;; 4 effects in ONE kernel call!
(streaming_gpu:fused-pipeline base heavy-pipeline (streaming_gpu:fused-pipeline base heavy-pipeline
:rotate_angle angle1 :rotate_angle angle
:zoom_amount zoom1 :ripple_phase phase))))
:ripple_phase phase1))))

View File

@@ -29,11 +29,10 @@
zoom (+ 1.0 (* 0.1 (math:sin (* t 0.5)))) zoom (+ 1.0 (* 0.1 (math:sin (* t 0.5))))
phase (* t 2) phase (* t 2)
;; Apply 5 effects one by one (INTERPRETED - many kernel launches) ;; Apply 4 effects one by one (INTERPRETED - many kernel launches)
step1 (geometry_gpu:rotate base angle) step1 (geometry_gpu:rotate base angle)
step2 (streaming_gpu:gpu-zoom step1 zoom) step2 (color_ops:hue-shift step1 30)
step3 (color_ops:hue-shift step2 30) step3 (geometry_gpu:ripple step2 15 :frequency 10 :decay 2 :time phase)
step4 (geometry_gpu:ripple step3 15 :frequency 10 :decay 2 :time phase) step4 (color_ops:brightness step3 1.0)]
step5 (color_ops:brightness step4 1.0)]
step5))) step4)))