From 5248a0254a48382d06ecb190c9f87c0ab62ff534 Mon Sep 17 00:00:00 2001 From: Anders Leino Date: Wed, 5 Mar 2025 08:16:29 +0200 Subject: Fix codegen bug when targeting PTX with new API (#6506) * Add cuda codegen bug repro This just compiles tests/compute/simlpe.slang for PTX with the new compilation API, in order to reproduce a code generation bug. * Detect entrypoint more robustly when applying ConstRef hack during lowring For shaders like tests/compute/simple.slang, which have a 'numthreads' attribute but no 'shader' attribute, the old compile request API would add an EntryPointAttribute to the AST node of the entry point. However, the new API doesn't, and so a certain ConstRef hack doesn't get applied when using the new API, leading to subsequent code generation issues. This patch also checks for a 'numthreads' attribute when deciding whether to apply the ConstRef hack. This closes issue #6507 and helps to resolve issue #4760. * Add expected failure list for GitHub runners Our GitHub runners don't have the CUDA toolkits installed, so they can't run all tests. --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to '.github/workflows/ci.yml') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66d33bc08..27e255372 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -176,14 +176,16 @@ jobs: -category ${{ matrix.test-category }} \ -api all-dx12 \ -expected-failure-list tests/expected-failure-github.txt \ - -expected-failure-list tests/expected-failure-record-replay-tests.txt + -expected-failure-list tests/expected-failure-record-replay-tests.txt \ + -expected-failure-list tests/expected-failure-github-runner.txt else "$bin_dir/slang-test" \ -use-test-server \ -category ${{ matrix.test-category }} \ -api all-dx12 \ -expected-failure-list tests/expected-failure-github.txt \ - -expected-failure-list tests/expected-failure-record-replay-tests.txt + -expected-failure-list tests/expected-failure-record-replay-tests.txt \ + -expected-failure-list tests/expected-failure-github-runner.txt fi - name: Run Slang examples if: steps.filter.outputs.should-run == 'true' && matrix.platform != 'wasm' && matrix.full-gpu-tests -- cgit v1.2.3