code wiki / (root) / nx_cast_surface_canonical_gate_t140.nx

nx_cast_surface_canonical_gate_t140.nx source

↩ module page · 28 lines · 2253 B

1import "nx_wgsl.nx" 2import "nx_cast_surface_src.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-canonical-t140.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 gv_check("compute output matches retained qualified capture",fsx_seq(sha,"8c2ed6f1fb5b1c02a807531c5affd4ae76791c80cf8c3b4edb637c5c53e96543")==1,ctr) 22 let av:*i64=sir_new();shsrc_cast_attachment_vs_v1(av) 23 let an:i64=wgsl_emit_module(av,STAGE_VERTEX,buf,WG_EMIT_CAP,trace,WG_TRACE_CAP,tn) 24 gv_check("attachment vertex emits without refusal",an>0&&sir_refused(av)==0&&av[M_OVER]==0,ctr) 25 if an>0 {gv_check("attachment capture retained",fsx_write("knowledge/gates/material-attachment-20260919.wgsl",buf,an)==an,ctr);gpa_sha(buf,an,sha);gv_puts("attachment_sha256=");gv_puts(sha);gv_puts("\n");gv_check("attachment output matches retained qualified capture",fsx_seq(sha,"f6870213e81425ad28ebcfa11136735b690e4dc8d04272c4080ec8a9956ceb0e")==1,ctr)} 26 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) 27 return gv_verdict("CAST-SURFACE130",ctr,"Native emitted compute only; actual GPU deformation and render parity remain open") 28}