nx_clip_depth_capture_gate.nx source
↩ module page · 29 lines · 1535 B
1import "nx_gatekit_lib.nx"
2import "nx_gate_verdict.nx"
3const CLIP_CAPTURE_CAP: i64 = 524288
4func clip_capture(elf: *u8, verb: *u8, path: *u8, ctr: *i64) -> i64 {
5 let b: *u8 = sys_mmap(CLIP_CAPTURE_CAP)
6 let n: *i64 = sys_mmap(16) as *i64
7 n[0]=0
8 let rc: i64 = gk_run_capture(elf,verb,0 as *u8,0 as *u8,0 as *u8,b,CLIP_CAPTURE_CAP,n)
9 gv_check_eq("shader-process-exit" as *u8,rc,0,ctr)
10 gv_check("complete-bounded-output" as *u8,n[0]>0 && n[0]<CLIP_CAPTURE_CAP,ctr)
11 if rc!=0 { return 0 }
12 let fd: i64 = sys_openat_wr(path,420)
13 gv_check("fixture-open" as *u8,fd>=0,ctr)
14 if fd<0 { return 0 }
15 let w: i64 = sys_write(fd,b,n[0])
16 sys_fsync(fd)
17 sys_close(fd)
18 gv_check_eq("fixture-written" as *u8,w,n[0],ctr)
19 sys_munmap(b,CLIP_CAPTURE_CAP)
20 return w
21}
22func main() -> i64 {
23 let ctr: *i64 = gv_ctr()
24 clip_capture("buildroot/_build/nx_wgsl.pre-clip-20260908.elf" as *u8,"cast" as *u8,"buildroot/knowledge/status/clip-depth-baseline-20260908.txt" as *u8,ctr)
25 clip_capture("buildroot/_build/nx_wgsl.sov.elf" as *u8,"cast" as *u8,"buildroot/knowledge/status/clip-depth-candidate-20260908.txt" as *u8,ctr)
26 clip_capture("buildroot/_build/nx_wgsl.pre-clip-20260908.elf" as *u8,0 as *u8,"buildroot/knowledge/status/clip-default-baseline-20260908.txt" as *u8,ctr)
27 clip_capture("buildroot/_build/nx_wgsl.sov.elf" as *u8,0 as *u8,"buildroot/knowledge/status/clip-default-candidate-20260908.txt" as *u8,ctr)
28 return gv_verdict("clip-depth-capture" as *u8,ctr,"complete baseline and candidate output; shader comparisons are separate" as *u8)
29}