diff --git a/src/graphics/graphics-library/helper/get-hardware-info.ts b/src/graphics/graphics-library/helper/get-hardware-info.ts new file mode 100644 index 0000000..5c840ca --- /dev/null +++ b/src/graphics/graphics-library/helper/get-hardware-info.ts @@ -0,0 +1,19 @@ +import { UniversalRenderingContext } from '../universal-rendering-context'; +import { tryEnableExtension } from './enable-extension'; + +export const getHardwareInfo = ( + gl: UniversalRenderingContext +): { vendor: string; renderer: string } | null => { + const debugInfo = tryEnableExtension(gl, 'WEBGL_debug_renderer_info'); + if (debugInfo) { + const vendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL); + const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL); + + return { + vendor, + renderer, + }; + } + + return null; +};