1cb93a386Sopenharmony_ci<!DOCTYPE html> 2cb93a386Sopenharmony_ci<title>Testing GMs on WebGL 2 compiled with Bazel</title> 3cb93a386Sopenharmony_ci<meta charset="utf-8" /> 4cb93a386Sopenharmony_ci<meta http-equiv="X-UA-Compatible" content="IE=edge"> 5cb93a386Sopenharmony_ci<meta name="viewport" content="width=device-width, initial-scale=1.0"> 6cb93a386Sopenharmony_ci 7cb93a386Sopenharmony_ci<script type="text/javascript" src="/build/gm-bindings.js"></script> 8cb93a386Sopenharmony_ci 9cb93a386Sopenharmony_ci<p id="log"></p> 10cb93a386Sopenharmony_ci<!-- Makes png visible to user --> 11cb93a386Sopenharmony_ci<canvas id=png_canvas height=1000 width=1000></canvas> 12cb93a386Sopenharmony_ci<!-- Used for drawing/testing, but nothing is visible --> 13cb93a386Sopenharmony_ci<canvas id=gm_canvas></canvas> 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_ci<script type="text/javascript" charset="utf-8"> 17cb93a386Sopenharmony_ci function log(s) { 18cb93a386Sopenharmony_ci document.getElementById("log").innerText = s; 19cb93a386Sopenharmony_ci } 20cb93a386Sopenharmony_ci RunGMs(); 21cb93a386Sopenharmony_ci async function RunGMs() { 22cb93a386Sopenharmony_ci const GM = await InitWasmGMTests({locateFile: (file) => '/build/'+file}); 23cb93a386Sopenharmony_ci GM.Init(); 24cb93a386Sopenharmony_ci const names = GM.ListGMs(); 25cb93a386Sopenharmony_ci names.sort(); 26cb93a386Sopenharmony_ci 27cb93a386Sopenharmony_ci const canvas = document.getElementById('gm_canvas'); 28cb93a386Sopenharmony_ci const ctx = GM.GetWebGLContext(canvas, 2); 29cb93a386Sopenharmony_ci const grcontext = GM.MakeGrContext(ctx); 30cb93a386Sopenharmony_ci 31cb93a386Sopenharmony_ci log("Running gm "+ names[0]); 32cb93a386Sopenharmony_ci const pngAndMetadata = GM.RunGM(grcontext, names[0]); 33cb93a386Sopenharmony_ci 34cb93a386Sopenharmony_ci const b = new Blob([pngAndMetadata.png.buffer], {type:"image/png"}); 35cb93a386Sopenharmony_ci const bmp = await createImageBitmap(b); 36cb93a386Sopenharmony_ci const canvasCtx = document.getElementById("png_canvas").getContext("2d"); 37cb93a386Sopenharmony_ci canvasCtx.drawImage(bmp, 0, 0); 38cb93a386Sopenharmony_ci } 39cb93a386Sopenharmony_ci</script>