Files
webgpufundamentals/webgpu/webgpu-debugging-help-webgpu-report-errors-fixed.html
2025-10-03 21:09:02 -07:00

52 lines
1.1 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>WebGPU Debugging - Helping WebGPU report errors (fixed)</title>
<style>
@import url(resources/webgpu-lesson.css);
</style>
</head>
<body>
</body>
<script type="module">
async function main() {
const adapter = await navigator.gpu?.requestAdapter();
const device = await adapter?.requestDevice();
if (!device) {
fail('need a browser that supports WebGPU');
return;
}
device.addEventListener('uncapturederror', event => {
log(event.error.message);
});
device.createShaderModule({
code: /* wgsl */ `
this shader won't compile
`,
});
// pump WebGPU
device.queue.submit([]);
log('--done--');
}
function fail(msg) {
// eslint-disable-next-line no-alert
alert(msg);
}
function log(...args) {
const elem = document.createElement('pre');
elem.textContent = args.join(' ');
document.body.appendChild(elem);
}
main();
</script>
</html>