Skip to content

Remove the deprecated hlsl_coopvec_poc capability that was for POC CoopVec#9213

Merged
jkwak-work merged 2 commits intoshader-slang:masterfrom
jkwak-work:refector/remove-poc-coopvec
Dec 6, 2025
Merged

Remove the deprecated hlsl_coopvec_poc capability that was for POC CoopVec#9213
jkwak-work merged 2 commits intoshader-slang:masterfrom
jkwak-work:refector/remove-poc-coopvec

Conversation

@jkwak-work
Copy link
Copy Markdown
Collaborator

This commit removes all POC (Proof of Concept) cooperative vector support that was deprecated since May 2025. The POC support was added as a backward compatibility layer for NVIDIA's DXC branch, but the official Microsoft DXC now has native cooperative vector support.

Changes:

  • Remove hlsl_coopvec_poc and hlsl_coopvec_poc_sm_6_9 capability definitions
  • Remove all POC-specific intrinsic implementations from hlsl.meta.slang
  • Remove POC code generation logic from emit layer (slang-emit-c-like.cpp/h)
  • Remove POC type emission from HLSL backend
  • Update test files to remove POC capability requirements
  • Update documentation to remove POC references

The standard cooperative vector implementation remains and is now the only supported approach for HLSL targets.

Resolves #9209
Related to #7108

This commit removes all POC (Proof of Concept) cooperative vector support
that was deprecated since May 2025. The POC support was added as a backward
compatibility layer for NVIDIA's DXC branch, but the official Microsoft DXC
now has native cooperative vector support.

Changes:
- Remove hlsl_coopvec_poc and hlsl_coopvec_poc_sm_6_9 capability definitions
- Remove all POC-specific intrinsic implementations from hlsl.meta.slang
- Remove POC code generation logic from emit layer (slang-emit-c-like.cpp/h)
- Remove POC type emission from HLSL backend
- Update test files to remove POC capability requirements
- Update documentation to remove POC references

The standard cooperative vector implementation remains and is now the only
supported approach for HLSL targets.

Resolves shader-slang#9209
@jkwak-work jkwak-work self-assigned this Dec 3, 2025
@jkwak-work jkwak-work requested a review from a team as a code owner December 3, 2025 22:21
@jkwak-work jkwak-work added the pr: breaking change PRs with breaking changes label Dec 3, 2025
@jkwak-work jkwak-work changed the title Remove the deprecated POC support that was for POC CoopVec Remove the deprecated hlsl_coopvec_poc capability that was for POC CoopVec Dec 3, 2025
@shader-slang shader-slang deleted a comment from slangbot Dec 4, 2025
@kaizhangNV
Copy link
Copy Markdown
Contributor

what's the alternative? DXC doesn't standardize it yet, right? So we just drop the support now?

@jkwak-work
Copy link
Copy Markdown
Collaborator Author

jkwak-work commented Dec 6, 2025

DXC did standardized it. And we implemented as the regular sm_6_9.

The Slang user was able to use sm_6_9 successfully:

@jkwak-work jkwak-work added this pull request to the merge queue Dec 6, 2025
Merged via the queue into shader-slang:master with commit cc73e8d Dec 6, 2025
37 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Dec 10, 2025
When generating the release note, the script was missing the new line
characters for the breaking changes.

The following is an example of the problem:
> === Breaking changes ===

72761cc
Add error diagnostic for integer literals that don't fit into uint64_t
(#9208
Remove the deprecated hlsl_coopvec_poc capability that was for POC
CoopVec
(#9213
Add type-flow analysis pass for specialized dynamic dispatch
(#7968)

With this PR, it will be fixed as below:
>=== Breaking changes ===

72761cc
Add error diagnostic for integer literals that don't fit into uint64_t
(#9208)

cc73e8d
Remove the deprecated hlsl_coopvec_poc capability that was for POC
CoopVec (#9213)

4280f24
Add type-flow analysis pass for specialized dynamic dispatch
(#7968)
gtong-nv pushed a commit that referenced this pull request Dec 15, 2025
When generating the release note, the script was missing the new line
characters for the breaking changes.

The following is an example of the problem:
> === Breaking changes ===

72761cc
Add error diagnostic for integer literals that don't fit into uint64_t
(#9208
Remove the deprecated hlsl_coopvec_poc capability that was for POC
CoopVec
(#9213
Add type-flow analysis pass for specialized dynamic dispatch
(#7968)

With this PR, it will be fixed as below:
>=== Breaking changes ===

72761cc
Add error diagnostic for integer literals that don't fit into uint64_t
(#9208)

cc73e8d
Remove the deprecated hlsl_coopvec_poc capability that was for POC
CoopVec (#9213)

4280f24
Add type-flow analysis pass for specialized dynamic dispatch
(#7968)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: breaking change PRs with breaking changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CoopVec] Remove the deprecated POC support.

3 participants