Skip to content

[SYCL][E2E] DX12 Bindless Image Interop tests #21432

Merged
sarnex merged 34 commits intointel:syclfrom
cperkinsintel:cperkins-dx12-b-i-e
Apr 3, 2026
Merged

[SYCL][E2E] DX12 Bindless Image Interop tests #21432
sarnex merged 34 commits intointel:syclfrom
cperkinsintel:cperkins-dx12-b-i-e

Conversation

@cperkinsintel
Copy link
Copy Markdown
Contributor

@cperkinsintel cperkinsintel commented Mar 4, 2026

New tests for DX12 bindless image support. Mirroring the same general structure as we are using on the Vulkan ones.

@cperkinsintel cperkinsintel marked this pull request as ready for review March 10, 2026 18:35
@cperkinsintel cperkinsintel requested review from a team as code owners March 10, 2026 18:35
@cperkinsintel cperkinsintel requested a review from a team as a code owner March 10, 2026 20:48
Copy link
Copy Markdown
Contributor

@YuriPlyakhin YuriPlyakhin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change in sycl/test-e2e/SpecConstants/2020/native_specialization_constant.cpp lgtm

@cperkinsintel
Copy link
Copy Markdown
Contributor Author

@slawekptak - can you review on behalf of llvm-reviewers-runtime?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to make sure - the "buffer" and "buffer_binary_semaphore" tests don't apply to DX12?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I understand this comment.

The -ld3d12 flag when compiling ensures it's DX12.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The vulkan_interop test directory contains the following buffer-related tests: vulkan_sycl_buffer_timeline_semaphore.cpp, vulkan_sycl_buffer_binary_semaphore.cpp and vulkan_sycl_buffer.cpp. This PR only adds the one related to timeline semaphore. If the DX12 tests reflect the vulkan test structure, I was wondering if the other two should also be added here, or they just don't apply to DX12.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DX12 only has timeline semaphore, not binary. The timeline semaphore test has a --no-sem pass which serves as a base "buffer interop" test.

@cperkinsintel
Copy link
Copy Markdown
Contributor Author

cperkinsintel commented Mar 27, 2026

Hmm. Made a mistake with GTA. But on BMG these tests pass with the older L0 driver. And they pass with the latest L0 Driver. But the CI, which has [level_zero:gpu][level_zero:0] Intel(R) oneAPI Unified Runtime over Level-Zero V2, Intel(R) Arc(TM) B580 Graphics 20.1.0 [1.14.37111] has them failing . Curious.

Older Driver
{code}
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_3D_write_unsampled.cpp (5 of 8)
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_1D_write_unsampled.cpp (6 of 8)
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_2D_write_unsampled.cpp (7 of 8)
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_1D_read.cpp (8 of 8)

Testing Time: 54.77s

Total Discovered Tests: 8
Unsupported: 4 (50.00%)
Passed : 4 (50.00%)

1 warning(s) in tests
BMG C:/iusers/cperkins/sycl_workspace/build $ sycl-ls
[level_zero:gpu][level_zero:0] Intel(R) oneAPI Unified Runtime over Level-Zero V2, Intel(R) Arc(TM) B580 Graphics 20.1.0 [1.13.35716]
[opencl:gpu][opencl:0] Intel(R) OpenCL Graphics, Intel(R) Arc(TM) B580 Graphics OpenCL 3.0 NEO [32.0.101.8331]
{code}

Newer Driver:
{code}
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_2D_write_unsampled.cpp (5 of 8)
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_3D_write_unsampled.cpp (6 of 8)
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_1D_write_unsampled.cpp (7 of 8)
PASS: SYCL :: bindless_images/dx12_interop/D3D12_sycl_interop_1D_read.cpp (8 of 8)

Testing Time: 71.21s

Total Discovered Tests: 8
Unsupported: 4 (50.00%)
Passed : 4 (50.00%)

1 warning(s) in tests
RUN!! ~/build $ sycl-ls
[level_zero:gpu][level_zero:0] Intel(R) oneAPI Unified Runtime over Level-Zero V2, Intel(R) Graphics d rebuild-gfx-driver-ci-master-20803-1 DCH-D 20.1.0 [1.15.37737]
[opencl:gpu][opencl:0] Intel(R) OpenCL Graphics, Intel(R) Graphics d rebuild-gfx-driver-ci-master-20803-1 DCH-D OpenCL 3.0 NEO [32.0.101.9999]
{code}

Hmm - works on BMG with same driver.

$ sycl-ls
[level_zero:gpu][level_zero:0] Intel(R) oneAPI Unified Runtime over Level-Zero V2, Intel(R) Arc(TM) Pro B50 Graphics 20.1.0 [1.14.37111]
[opencl:gpu][opencl:0] Intel(R) OpenCL Graphics, Intel(R) Arc(TM) Pro B50 Graphics OpenCL 3.0 NEO  [32.0.101.8626]

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 3, 2026

@intel/llvm-gatekeepers please consider merging

@sarnex sarnex merged commit 674d618 into intel:sycl Apr 3, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants