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}