WebGPU.js 1017 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. if ( window.GPUShaderStage === undefined ) {
  2. window.GPUShaderStage = { VERTEX: 1, FRAGMENT: 2, COMPUTE: 4 };
  3. }
  4. let isAvailable = false;
  5. if ( navigator.gpu !== undefined ) {
  6. const adapter = await navigator.gpu.requestAdapter();
  7. if ( adapter !== null ) {
  8. isAvailable = true;
  9. }
  10. }
  11. class WebGPU {
  12. static isAvailable() {
  13. return isAvailable;
  14. }
  15. static getErrorMessage() {
  16. const message = 'Your browser does not support <a href="https://gpuweb.github.io/gpuweb/" style="color:blue">WebGPU</a> yet';
  17. const element = document.createElement( 'div' );
  18. element.id = 'webgpumessage';
  19. element.style.fontFamily = 'monospace';
  20. element.style.fontSize = '13px';
  21. element.style.fontWeight = 'normal';
  22. element.style.textAlign = 'center';
  23. element.style.background = '#fff';
  24. element.style.color = '#000';
  25. element.style.padding = '1.5em';
  26. element.style.maxWidth = '400px';
  27. element.style.margin = '5em auto 0';
  28. element.innerHTML = message;
  29. return element;
  30. }
  31. }
  32. export default WebGPU;