From 8d19bc3f4a8f30f8c52c0cd05afd0e8a1063c650 Mon Sep 17 00:00:00 2001
From: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 29 Jul 2025 17:05:01 +0000
Subject: [PATCH] chore(deps): bump sigstore/cosign-installer in the ci-dependencies group (#2057)
---
quartz/components/scripts/graph.inline.ts | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/quartz/components/scripts/graph.inline.ts b/quartz/components/scripts/graph.inline.ts
index 87e2958..9c8ec60 100644
--- a/quartz/components/scripts/graph.inline.ts
+++ b/quartz/components/scripts/graph.inline.ts
@@ -68,13 +68,28 @@
stop: () => void
}
+// workaround for pixijs webgpu issue: https://github.com/pixijs/pixijs/issues/11389
async function determineGraphicsAPI(): Promise<"webgpu" | "webgl"> {
const adapter = await navigator.gpu?.requestAdapter().catch(() => null)
- if (!adapter) {
+ const device = adapter && (await adapter.requestDevice().catch(() => null))
+ if (!device) {
return "webgl"
}
- // Devices with WebGPU but no float32-blendable feature fail to render the graph
- return adapter.features.has("float32-blendable") ? "webgpu" : "webgl"
+
+ const canvas = document.createElement("canvas")
+ const gl =
+ (canvas.getContext("webgl2") as WebGL2RenderingContext | null) ??
+ (canvas.getContext("webgl") as WebGLRenderingContext | null)
+
+ // we have to return webgl so pixijs automatically falls back to canvas
+ if (!gl) {
+ return "webgl"
+ }
+
+ const webglMaxTextures = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS)
+ const webgpuMaxTextures = device.limits.maxSampledTexturesPerShaderStage
+
+ return webglMaxTextures === webgpuMaxTextures ? "webgpu" : "webgl"
}
async function renderGraph(graph: HTMLElement, fullSlug: FullSlug) {
--
Gitblit v1.10.0