struct ColorRGBA {
uint R : 8;
uint G : 8;
uint B : 8;
uint A : 8;
};
StructuredBuffer<ColorRGBA> testBuffer;
float4 PSMain() : SV_TARGET
{
InterlockedAdd(testBuffer[0].G, 1);
return 0.0f;
}
%3 = call i32 @dx.op.atomicBinOp.i32(i32 78, %dx.types.Handle %2, i32 0, i32 0, i32 0, i32 undef, i32 1) ; AtomicBinOp(handle,atomicOp,offset0,offset1,offset2,newValue)
It should not compile, since there are no instruction that could allow arbitrary bit width atomics