determinismReport()
함수, 도구 분류
The operations in m whose result may differ by driver, one entry per operation and float kind, in order of first appearance over the module constants, the module variables and the functions: a builtin with a ULP or absolute bound, one inherited from a formula the driver may reassociate or fuse, a derivative or determinant, a filtered texture read or gather, an operation the GLSL ES 3.00 spelling may answer differently, every emulated f64 arithmetic operator and bounded builtin, and each floating-point reduction of a kernel function's loop, which runs in the tree order.
import { determinismReport } from 'typeshade'
시그니처, 설명, 예제는 커밋 c66579bf의 컴파일러 소스에서 그대로 가져온 영어 원문입니다.
구문
function determinismReport(m: ModuleDecl): readonly DeterminismEntry[]매개변수
반환값
readonly DeterminismEntry[]
설명
Empty
when every operation in the module has one answer under the assumption the module header
states, which is when a GPU result and the CPU oracle can differ only by the oracle’s own
rounding and never by the driver’s choice. A raw statement is opaque and contributes
nothing; a call to the module’s own helper is not listed itself, its body is. accuracyOf answers for a single operation.
Exported from typeshade; compile() returns it as determinism.
함께 보기
소스
src/core/passes/determinism.ts, 505행, 커밋 c66579bf 기준