-
Andrey Filippov authored
setBayerImages (both float[][] and double[][][] variants) now funnels through uploadBayer: each sensor image is written into the pinned native staging slot (one JNI region copy) and committed with tp_proc_set_image_staged - the async pinned->device DMA of sensor k overlaps the convert/write of sensor k+1 (per-sensor copy/compute pipelining, design B4). Double-buffered slots flip per upload (RT inter-scene overlap provision). Falls back one-time to the legacy pageable path on missing natives or any staged failure (legacy fences first, so a partial staged upload is always fully rewritten). ONE-SHOT ORACLE (first staged upload): reads every uploaded sensor back and counts bit-mismatches vs the Java array - EXPECT 0 EXACTLY, plus the enqueue-side upload ms. Requires tile_processor_gpu 11ccdc2 (libtileproc.so rebuild); older libs downgrade gracefully. mvn PASS; native run_cases.sh ALL PASS incl. new bayer_staged case. Co-Authored-By:Claude Fable 5 <noreply@anthropic.com>
c7bf779f