code wiki / (root) / nx_cast_surface_gate_t130.nx

nx_cast_surface_gate_t130.nx source

↩ module page · 23 lines · 1510 B

1import "nx_wgsl.nx" 2import "nx_cast_surface_candidate_t130.nx" 3import "nx_game_page_artifact_lib.nx" 4import "nx_gate_verdict.nx" 5func main()->i64{ 6 let ctr:*i64=gv_ctr();gv_head("CAST SURFACE COMPUTE IR ADAPTER") 7 let m:*i64=sir_new();shsrc_cast_surface_compute_v1(m) 8 let buf:*u8=sys_mmap(WG_EMIT_CAP);let trace:*i64=sys_mmap(WG_TRACE_CAP*8) as *i64;let tn:*i64=sys_mmap(16) as *i64 9 let n:i64=wgsl_emit_module(m,STAGE_COMPUTE,buf,WG_EMIT_CAP,trace,WG_TRACE_CAP,tn) 10 gv_kv("wgsl_bytes",n);gv_kv("ir_nodes",m[M_NCOUNT]);gv_kv("arena_overflow",m[M_OVER]) 11 if sir_refused(m)!=0{gv_puts(sir_cstr(m,sir_refused(m)));gv_puts(" 12")} 13 gv_check("canonical deformation composes to compute without backend refusal",n>0&&sir_refused(m)==0&&m[M_OVER]==0,ctr) 14 if n<=0{return 1} 15 let path:*u8="/tmp/cast-surface-t130.wgsl";let fd:i64=sys_openat_wr(path,MODE_0644);if fd<0{return 3} 16 let wr:i64=sys_write(fd,buf,n);sys_close(fd);gv_check("shader artifact complete write",wr==n,ctr) 17 let len:*i64=sys_mmap(16) as *i64;let b:*u8=sys_map_file(path,len) 18 gv_check("shader artifact exact readback",len[0]==n&&gpa_same(buf,n,b,len[0])==1,ctr) 19 let sha:*u8=sys_mmap(65);gpa_sha(buf,n,sha);gv_puts("shader_sha256=");gv_puts(sha);gv_puts(" 20") 21 let usize:i64=wg_uniform_layout(m,buf,0,WG_EMIT_CAP);if usize>0{wg_puts(buf)};gv_check("surface dimensions extend exact existing uniform prefix",usize==3344,ctr) 22 return gv_verdict("CAST-SURFACE130",ctr,"Native emitted compute only; actual GPU deformation and render parity remain open") 23}