llvm / llvm/llvm-project

[HLSL] Add lowering of `HLSLGloballyCoherentAttr`

Open
#210,428 0 comments 0 reactions 1 assignee Claimed by @inbelic View on GitHub
HLSL
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

As described in https://github.com/llvm/wg-hlsl/blob/main/proposals/0049-resource-instance-property-annotations.md.

AC:
- Generate `llvm.[spv|dx].resource.annotatecoherence` intrinsics during codegen of resource accesses
- DX: Updating the `DXILResource` analysis pass to mark the properties with the corresponding coherence types
- DX: Update `dxil-op-lowering` to emit the right resource handle type in the dxil op and set appropriate metadata
- SPV: When in non-Vulkan memory model, convert the intrinsics to variable decorations of the resource
- SPV: When using Vulkan memory model, add an analysis pass that will mark each pointer of resource access with the appropriate decorations
- Add lit testing of each individual stage

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.