code wiki / (root) / nx_shader_capture_owned_gate_t218.nx

nx_shader_capture_owned_gate_t218.nx source

↩ module page · 21 lines · 1911 B

1import "nx_game_shader_backend_selected_t55.nx" 2import "nx_gate_verdict.nx" 3func main()->i64{ 4 let c:*i64=gv_ctr() 5 let path:*u8="/volume1/homes/elderwesto/nishihost/buildroot/_build/nx_capture_fixture_t218.sov.elf" 6 var n:i64=0;let src:*u8=sys_read_file(path,&n);if (src as i64)<=0{return 2} 7 let hash:*u8=sys_mmap_try(GPA_SHA_HEX+1);if (hash as i64)<=0{return 3};gpa_sha(src,n,hash);sys_free_file(src,n) 8 let b:*NxBufOwned=sys_mmap_try(NX_BO_BYTES) as *NxBufOwned;if (b as i64)<=0{return 3};b.buf=0 as *u8;b.len=0;b.cap=0 9 gv_check("selected owned capture preserves verified producer",gsb_capture_selected_owned(path,hash,n,"large",b,8000,0)==0&&b.len==196613,c) 10 var exact:i64=1;var i:i64=0;while i<b.len{if b.buf[i]!=(i%251) as u8{exact=0};i=i+1};gv_check("selected capture preserves complete binary bytes",exact==1&&b.len==196613,c);nx_bo_release(b) 11 let wrong:*u8="0000000000000000000000000000000000000000000000000000000000000000" 12 gv_check("wrong producer hash refuses without output",gsb_capture_selected_owned(path,wrong,n,"large",b,8000,0)<0&&b.len==0,c) 13 gv_check("failed selection never falls back",gsb_capture_owned("large",b,8000,0)<0&&b.len==0,c) 14 gv_check("explicit verified selection resets failed state",gsb_select_at(path,hash,n)==1,c) 15 gv_check("selected default owned path captures complete output",gsb_capture_owned("large",b,8000,0)==0&&b.len==196613,c);nx_bo_release(b) 16 gv_check("wrong producer extent refuses",gsb_capture_selected_owned(path,hash,n+1,"large",b,8000,0)<0&&b.len==0,c) 17 gsb_select_at(path,hash,n) 18 gv_check("selected caller resource budget is explicit error",gsb_capture_owned("large",b,8000,65536)==NX_BO_CAPACITY&&b.len<=65536,c);nx_bo_release(b) 19 sys_munmap_direct(b as *u8,NX_BO_BYTES);sys_munmap_direct(hash,GPA_SHA_HEX+1) 20 return gv_verdict("selected-owned-shader-capture",c,"Actual native producer plus hash, extent, failed-selection and caller-budget checks") 21}