diff --git a/.github/workflows/ci-test.yml b/.github/workflows/ci-test.yml index 04dcd79306..1e2ba7e1e7 100644 --- a/.github/workflows/ci-test.yml +++ b/.github/workflows/ci-test.yml @@ -14,12 +14,12 @@ jobs: strategy: matrix: include: - - os: ubuntu-latest + - platform: ubuntu-latest + browser: chrome + - platform: self-hosted browser: chrome - # - os: windows-latest - # browser: chrome - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 @@ -30,12 +30,12 @@ jobs: node-version: 20.x - name: Verify Chrome (Ubuntu) - if: matrix.os == 'ubuntu-latest' && matrix.browser == 'chrome' + if: matrix.platform == 'ubuntu-latest' && matrix.browser == 'chrome' run: | google-chrome --version - name: Verify Chrome (Windows) - if: matrix.os == 'windows-latest' && matrix.browser == 'chrome' + if: matrix.platform == 'windows-latest' && matrix.browser == 'chrome' run: | & "C:\Program Files\Google\Chrome\Application\chrome.exe" --version @@ -44,14 +44,16 @@ jobs: env: CI: true - #- name: Build and test (Ubuntu) - # if: matrix.os == 'windows-latest' - # run: npm test -- --project=unit-tests-webgpu - # env: - # CI: true + - name: Build and test WebGPU (self-hosted) + if: matrix.platform == 'self-hosted' + # run: npm test -- --project=unit-tests-webgpu + run: | + xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24" bash -c 'CI=true npm run test -- --project=unit-tests-webgpu' + env: + CI: true - name: Build and test (Ubuntu) - if: matrix.os == 'ubuntu-latest' + if: matrix.platform == 'ubuntu-latest' run: npm test -- --project=unit-tests env: CI: true diff --git a/src/webgpu/p5.RendererWebGPU.js b/src/webgpu/p5.RendererWebGPU.js index 2bcf39949d..2072b8f538 100644 --- a/src/webgpu/p5.RendererWebGPU.js +++ b/src/webgpu/p5.RendererWebGPU.js @@ -50,8 +50,6 @@ class RendererWebGPU extends Renderer3D { async _initContext() { this.adapter = await navigator.gpu?.requestAdapter(this._webgpuAttributes); - // console.log('Adapter:'); - // console.log(this.adapter); if (this.adapter) { console.log([...this.adapter.features]); } @@ -59,8 +57,6 @@ class RendererWebGPU extends Renderer3D { // Todo: check support requiredFeatures: ['depth32float-stencil8'] }); - // console.log('Device:'); - // console.log(this.device); if (!this.device) { throw new Error('Your browser does not support WebGPU.'); } diff --git a/vitest.workspace.mjs b/vitest.workspace.mjs index a8da776a67..5069a79cdc 100644 --- a/vitest.workspace.mjs +++ b/vitest.workspace.mjs @@ -47,11 +47,6 @@ export default defineWorkspace([ args: [ '--no-sandbox', '--headless=new', - '--enable-unsafe-webgpu', - '--use-vulkan=swiftshader', - '--use-webgpu-adapter=swiftshader', - '--use-angle=vulkan', - '--no-sandbox', ] } } : undefined @@ -90,6 +85,7 @@ export default defineWorkspace([ name: 'chrome', provider: 'webdriverio', screenshotFailures: false, + headless: false, providerOptions: { capabilities: process.env.CI ? { 'goog:chromeOptions': { @@ -97,10 +93,12 @@ export default defineWorkspace([ '--no-sandbox', '--headless=new', '--enable-unsafe-webgpu', - '--use-vulkan=swiftshader', - '--use-webgpu-adapter=swiftshader', - '--use-angle=vulkan', - '--no-sandbox', + '--headless=new', + '--use-gl=angle', + '--use-angle=gl-egl', + '--use-cmd-decoder=passthrough', + // '--disable-frame-rate-limit', + // '--disable-dev-shm-usage', ] } } : undefined