EntryInfo
인터페이스, 리플렉션 분류
One @vertex, @fragment or @compute entry point: its stage, its parameter and return types as DSL type keys (the strings typeKey returns), and, for a @compute entry only, its workgroup size, which defaults to 64 when the entry declares none, matching the WGSL backend's own default.
import type { EntryInfo } from 'typeshade'
시그니처, 설명, 예제는 커밋 c66579bf의 컴파일러 소스에서 그대로 가져온 영어 원문입니다.
구문
interface EntryInfo { readonly name: string; readonly stage: 'vertex' | 'fragment' | 'compute'; readonly workgroupSize?: number; readonly workgroupShape?: WorkgroupShape; readonly inputs: readonly string[]; readonly output: string; readonly portable?: true; readonly io: EntryIo;}설명
semanticDiff fingerprints a module’s public interface
with this shape: two modules whose entries differ here have a different pipeline contract
even if every other byte of emitted source matches.
인스턴스 속성
name읽기 전용stringstage읽기 전용'vertex' | 'fragment' | 'compute'workgroupSize선택 사항읽기 전용numberThe
xworkgroup extent of a compute entry. A host sizing a dispatch readsEntryInfo.workgroupShape, which also carriesyandz.workgroupShape선택 사항읽기 전용WorkgroupShapeThe
[x, y, z]workgroup extents of a compute entry, WGSL’s@workgroup_size(x, y, z)with a missing extent as 1: a dispatch ofninvocations along an axis needsceil(n / extent)workgroups on it.inputs읽기 전용readonly string[]output읽기 전용stringportable선택 사항읽기 전용truePresent, as
true, when the entry is declared a portable kernel; absent otherwise, neverfalse. It tells a host which dispatch shape the kernel needs: on a backend with no compute stage a portable kernel emits as fragment-shader GPGPU and is dispatched as a fullscreen draw into anR32UItarget instead of a compute dispatch. An entry without it runs on WebGPU only.io읽기 전용EntryIoThe entry’s location and builtin interface, in structured form.
inputsandoutputare type keys, which is whatsemanticDifffingerprints with;iois the view beside them that a host validating a stage pair reads for the@locationnumbers. Always present. SeeEntryIofor how struct parameters and returns flatten.
함께 보기
소스
src/core/reflect.ts, 548행, 커밋 c66579bf 기준