RWTexture2D sourceTargetTexture : register(u0); [numthreads(8,8,1)] void main(uint3 vDispatchThreadId : SV_DispatchThreadID) { const uint3 pixelPos = vDispatchThreadId; uint width, height; sourceTargetTexture.GetDimensions(width, height); if (pixelPos.x >= width || pixelPos.y >= height) return; float4 color = sourceTargetTexture[pixelPos.xy]; color.a = saturate(color.a); sourceTargetTexture[pixelPos.xy] = color; }