mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-12-08 21:26:17 +00:00
28 lines
991 B
HLSL
28 lines
991 B
HLSL
struct NagaConstants {
|
|
int first_vertex;
|
|
int first_instance;
|
|
uint other;
|
|
};
|
|
ConstantBuffer<NagaConstants> _NagaConstants: register(b0, space1);
|
|
|
|
RWTexture2D<uint> image_u : register(u0);
|
|
RWTexture2D<int> image_s : register(u1);
|
|
|
|
[numthreads(2, 1, 1)]
|
|
void cs_main(uint3 id : SV_GroupThreadID)
|
|
{
|
|
InterlockedMax(image_u[int2(int(0), int(0))],1u);
|
|
InterlockedMin(image_u[int2(int(0), int(0))],1u);
|
|
InterlockedAdd(image_u[int2(int(0), int(0))],1u);
|
|
InterlockedAnd(image_u[int2(int(0), int(0))],1u);
|
|
InterlockedOr(image_u[int2(int(0), int(0))],1u);
|
|
InterlockedXor(image_u[int2(int(0), int(0))],1u);
|
|
InterlockedMax(image_s[int2(int(0), int(0))],int(1));
|
|
InterlockedMin(image_s[int2(int(0), int(0))],int(1));
|
|
InterlockedAdd(image_s[int2(int(0), int(0))],int(1));
|
|
InterlockedAnd(image_s[int2(int(0), int(0))],int(1));
|
|
InterlockedOr(image_s[int2(int(0), int(0))],int(1));
|
|
InterlockedXor(image_s[int2(int(0), int(0))],int(1));
|
|
return;
|
|
}
|