-
-
Notifications
You must be signed in to change notification settings - Fork 143
Closed
Labels
proposal 💡A proposal for a new featureA proposal for a new feature
Description
Description (optional)
This section should contain an expanded description
of the proposal, if the title is not sufficient.
Rationale
The globallycoherent keyword would be a useful addition to be supported in the hlsl generator.
Proposed API
Adding an attribute to tag specify a StructuredBuffer should be marked globallycoherent.
Drawbacks
None
Alternatives
None
Other thoughts
Here's how I expect code generation would change with this proposal.
C# Code
[AutoConstructor]
[EmbeddedBytecode(DispatchAxis.XY)]
public partial struct SampleShader : IComputeShader
{
[GloballyCoherent]
ReadWriteBuffer<int> buffer;
public void Execute()
{
...
}
}Generated HLSL
cbuffer _ : register(b0)
{
uint __x;
uint __y;
uint __z;
}
globallycoherent RWStructuredBuffer<int> sampleBuffer : register(u0);
[NumThreads(__GroupSize__get_X, __GroupSize__get_Y, __GroupSize__get_Z)]
void Execute(uint3 ThreadIds : SV_DispatchThreadID)
{
if (ThreadIds.x < __x && ThreadIds.y < __y && ThreadIds.z < __z)
{
...
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
proposal 💡A proposal for a new featureA proposal for a new feature