• Andrey Filippov's avatar
    CLAUDE: 3-B rung B4 - staged pinned bayer upload in the JNA backend · c7bf779f
    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: 's avatarClaude Fable 5 <noreply@anthropic.com>
    c7bf779f
TpJna.java 18.7 KB