UNPKG

wesl-test

Version:

Write GPU shader tests as easily as regular unit tests. Test WGSL and WESL shaders with vitest or your favorite Node.js test framework.

25 lines (19 loc) 892 B
import * as path from "node:path"; import { fileURLToPath } from "node:url"; import { DeviceCache } from "./DeviceCache.ts"; import { pngToTexture } from "./ImageHelpers.ts"; const textureCache = new DeviceCache<GPUTexture>(); /** return a texture to the bundled lemur test image (512x512 photo sample). */ export async function lemurTexture(device: GPUDevice): Promise<GPUTexture> { const lemurPath = lemurImagePath(); const cached = textureCache.get(device, lemurPath); if (cached) return cached; const texture = await pngToTexture(device, lemurImagePath()); textureCache.set(device, lemurPath, texture); return texture; } /** Get the path to the bundled lemur test image (512x512 photo sample). */ export function lemurImagePath(): string { const moduleDir = path.dirname(fileURLToPath(import.meta.url)); return path.join(moduleDir, "..", "images", "lemur512.png"); }