nx_pe_dll_d3d11tex.nx
buildroot/runtime/nx_pe_dll_d3d11tex.nx
about
nx_pe_dll_d3d11tex.nx -- TEXTURING through the real D3D11 API. 14 methods; adds the texture resource path:
CreateTexture2D [dev slot 5] -> CreateShaderResourceView [dev slot 7] -> PSSetShaderResources [ctx slot 8] -> textured
Draw [ctx slot 13]. The Draw samples the bound 64x64 RGBA texture 1:1 (identity: texel(x,y)=fragment(x,y)) into the RT.
Graded vs WARP's textured triangle (knowledge/warp_textured.ppm, UV=screen/64 + point sampling = the same 1:1 map).
Method bodies = sovereign nx_cc NishiLang; vtables+glue = sovereign emitter. All slots from <d3d11.h>.
Input /tmp/nishi_export_lib.s Output knowledge/nishi_d3d11tex.dll license_tier: ORIGINAL expect_exit: 0
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnxasm_x86.nxnx_pe_writer.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 11 | const N_DEV: i64 = 43 |
| 12 | const N_CTX: i64 = 108 |
| 13 | const N_METH: i64 = 14 |
functions
| 15 | func d11_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 16 | func d11_putn(v: i64) -> i64 { let b: *u8=sys_mmap(32) as *u8; var x: i64=v; var ng: i64=0; if x<0{ng=1;x=0-x} var i: i64=31; if x==0{b[i]=48 as u8;i=i-1} while x>0{b[i]=(48+x%10) as u8;x=x/10;i=i-1} if ng==1{b[i]=45 as u8;i=i-1} sys_write(1,(b as i64+i+1) as *u8,31-i); return 0 } |
| 17 | func d11_wstr(buf: *u8, off: i64, s: *u8) -> i64 { var i: i64=0; while s[i]!=(0 as u8){ buf[off+i]=s[i]; i=i+1 } buf[off+i]=0 as u8; return i+1 } called by 1: d11_emit |
| 19 | func d11_assemble(src: *u8, n: i64, out: *u8, out_cap: i64, names: *i64, offs: *i64, cnt: i64) -> i64 |
| 49 | func d11_thunk(buf: *u8, tco: i64, moff: i64) -> i64 |
| 65 | func d11_dev_slot(s: i64) -> i64 called by 1: d11_emit |
| 77 | func d11_ctx_slot(s: i64) -> i64 called by 1: d11_emit |
| 88 | func d11_emit(buf: *u8, code: *u8, code_len: i64, offs: *i64) -> i64 |
| 152 | func main() -> i64 |