yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
04e2dc16
main
1SamplerState g_sSamp ; 2 3RWTexture1D < float > g_tTex1df1 ; 4RWTexture1D < int > g_tTex1di1 ; 5RWTexture1D < uint > g_tTex1du1 ; 6 7RWTexture2D < float > g_tTex2df1 ; 8RWTexture2D < int > g_tTex2di1 ; 9RWTexture2D < uint > g_tTex2du1 ; 10 11RWTexture3D < float > g_tTex3df1 ; 12RWTexture3D < int > g_tTex3di1 ; 13RWTexture3D < uint > g_tTex3du1 ; 14 15RWTexture1DArray < float > g_tTex1df1a ; 16RWTexture1DArray < int > g_tTex1di1a ; 17RWTexture1DArray < uint > g_tTex1du1a ; 18 19RWTexture2DArray < float > g_tTex2df1a ; 20RWTexture2DArray < int > g_tTex2di1a ; 21RWTexture2DArray < uint > g_tTex2du1a ; 22 23RWBuffer < float > g_tBuffF ; 24RWBuffer < int > g_tBuffI ; 25RWBuffer < uint > g_tBuffU ; 26 27struct PS_OUTPUT 28{ 29float4 Color : SV_Target0 ; 30}; 31 32uniform uint u1 ; 33uniform uint2 u2 ; 34uniform uint3 u3 ; 35uniform uint u1b ; 36uniform uint u1c ; 37 38uniform int i1 ; 39uniform int2 i2 ; 40uniform int3 i3 ; 41uniform int i1b ; 42uniform int i1c ; 43 44PS_OUTPUT main () 45{ 46uint out_u1 ; 47int out_i1 ; 48 49// 1D int 50InterlockedAdd ( g_tTex1di1 [ i1 ], i1b ); 51InterlockedAdd ( g_tTex1di1 [ i1 ], i1 , out_i1 ); 52InterlockedAnd ( g_tTex1di1 [ i1 ], i1b ); 53InterlockedAnd ( g_tTex1di1 [ i1 ], i1 , out_i1 ); 54InterlockedCompareExchange ( g_tTex1di1 [ i1 ], i1b , i1c , out_i1 ); 55InterlockedExchange ( g_tTex1di1 [ i1 ], i1 , out_i1 ); 56InterlockedMax ( g_tTex1di1 [ i1 ], i1b ); 57InterlockedMax ( g_tTex1di1 [ i1 ], i1 , out_i1 ); 58InterlockedMin ( g_tTex1di1 [ i1 ], i1b ); 59InterlockedMin ( g_tTex1di1 [ i1 ], i1 , out_i1 ); 60InterlockedOr ( g_tTex1di1 [ i1 ], i1b ); 61InterlockedOr ( g_tTex1di1 [ i1 ], i1 , out_i1 ); 62InterlockedXor ( g_tTex1di1 [ i1 ], i1b ); 63InterlockedXor ( g_tTex1di1 [ i1 ], i1 , out_i1 ); 64 65// 1D uint 66InterlockedAdd ( g_tTex1du1 [ u1 ], u1 ); 67InterlockedAdd ( g_tTex1du1 [ u1 ], u1 , out_u1 ); 68InterlockedAnd ( g_tTex1du1 [ u1 ], u1 ); 69InterlockedAnd ( g_tTex1du1 [ u1 ], u1 , out_u1 ); 70InterlockedCompareExchange ( g_tTex1du1 [ u1 ], u1b , u1c , out_u1 ); 71InterlockedExchange ( g_tTex1du1 [ u1 ], u1 , out_u1 ); 72InterlockedMax ( g_tTex1du1 [ u1 ], u1 ); 73InterlockedMax ( g_tTex1du1 [ u1 ], u1 , out_u1 ); 74InterlockedMin ( g_tTex1du1 [ u1 ], u1 ); 75InterlockedMin ( g_tTex1du1 [ u1 ], u1 , out_u1 ); 76InterlockedOr ( g_tTex1du1 [ u1 ], u1 ); 77InterlockedOr ( g_tTex1du1 [ u1 ], u1 , out_u1 ); 78InterlockedXor ( g_tTex1du1 [ u1 ], u1 ); 79InterlockedXor ( g_tTex1du1 [ u1 ], u1 , out_u1 ); 80 81// 2D int 82InterlockedAdd ( g_tTex2di1 [ i2 ], i1b ); 83InterlockedAdd ( g_tTex2di1 [ i2 ], i1 , out_i1 ); 84InterlockedAnd ( g_tTex2di1 [ i2 ], i1b ); 85InterlockedAnd ( g_tTex2di1 [ i2 ], i1 , out_i1 ); 86InterlockedCompareExchange ( g_tTex2di1 [ i2 ], i1b , i1c , out_i1 ); 87InterlockedExchange ( g_tTex2di1 [ i2 ], i1 , out_i1 ); 88InterlockedMax ( g_tTex2di1 [ i2 ], i1b ); 89InterlockedMax ( g_tTex2di1 [ i2 ], i1 , out_i1 ); 90InterlockedMin ( g_tTex2di1 [ i2 ], i1b ); 91InterlockedMin ( g_tTex2di1 [ i2 ], i1 , out_i1 ); 92InterlockedOr ( g_tTex2di1 [ i2 ], i1b ); 93InterlockedOr ( g_tTex2di1 [ i2 ], i1 , out_i1 ); 94InterlockedXor ( g_tTex2di1 [ i2 ], i1b ); 95InterlockedXor ( g_tTex2di1 [ i2 ], i1 , out_i1 ); 96 97// 2D uint 98InterlockedAdd ( g_tTex2du1 [ u2 ], u1 ); 99InterlockedAdd ( g_tTex2du1 [ u2 ], u1 , out_u1 ); 100InterlockedAnd ( g_tTex2du1 [ u2 ], u1 ); 101InterlockedAnd ( g_tTex2du1 [ u2 ], u1 , out_u1 ); 102InterlockedCompareExchange ( g_tTex2du1 [ u2 ], u1b , u1c , out_u1 ); 103InterlockedExchange ( g_tTex2du1 [ u2 ], u1 , out_u1 ); 104InterlockedMax ( g_tTex2du1 [ u2 ], u1 ); 105InterlockedMax ( g_tTex2du1 [ u2 ], u1 , out_u1 ); 106InterlockedMin ( g_tTex2du1 [ u2 ], u1 ); 107InterlockedMin ( g_tTex2du1 [ u2 ], u1 , out_u1 ); 108InterlockedOr ( g_tTex2du1 [ u2 ], u1 ); 109InterlockedOr ( g_tTex2du1 [ u2 ], u1 , out_u1 ); 110InterlockedXor ( g_tTex2du1 [ u2 ], u1 ); 111InterlockedXor ( g_tTex2du1 [ u2 ], u1 , out_u1 ); 112 113// 3D int 114InterlockedAdd ( g_tTex3di1 [ i3 ], i1b ); 115InterlockedAdd ( g_tTex3di1 [ i3 ], i1 , out_i1 ); 116InterlockedAnd ( g_tTex3di1 [ i3 ], i1b ); 117InterlockedAnd ( g_tTex3di1 [ i3 ], i1 , out_i1 ); 118InterlockedCompareExchange ( g_tTex3di1 [ i3 ], i1b , i1c , out_i1 ); 119InterlockedExchange ( g_tTex3di1 [ i3 ], i1 , out_i1 ); 120InterlockedMax ( g_tTex3di1 [ i3 ], i1b ); 121InterlockedMax ( g_tTex3di1 [ i3 ], i1 , out_i1 ); 122InterlockedMin ( g_tTex3di1 [ i3 ], i1b ); 123InterlockedMin ( g_tTex3di1 [ i3 ], i1 , out_i1 ); 124InterlockedOr ( g_tTex3di1 [ i3 ], i1b ); 125InterlockedOr ( g_tTex3di1 [ i3 ], i1 , out_i1 ); 126InterlockedXor ( g_tTex3di1 [ i3 ], i1b ); 127InterlockedXor ( g_tTex3di1 [ i3 ], i1 , out_i1 ); 128 129// 3D uint 130InterlockedAdd ( g_tTex3du1 [ u3 ], u1 ); 131InterlockedAdd ( g_tTex3du1 [ u3 ], u1 , out_u1 ); 132InterlockedAnd ( g_tTex3du1 [ u3 ], u1 ); 133InterlockedAnd ( g_tTex3du1 [ u3 ], u1 , out_u1 ); 134InterlockedCompareExchange ( g_tTex3du1 [ u3 ], u1b , u1c , out_u1 ); 135InterlockedExchange ( g_tTex3du1 [ u3 ], u1 , out_u1 ); 136InterlockedMax ( g_tTex3du1 [ u3 ], u1 ); 137InterlockedMax ( g_tTex3du1 [ u3 ], u1 , out_u1 ); 138InterlockedMin ( g_tTex3du1 [ u3 ], u1 ); 139InterlockedMin ( g_tTex3du1 [ u3 ], u1 , out_u1 ); 140InterlockedOr ( g_tTex3du1 [ u3 ], u1 ); 141InterlockedOr ( g_tTex3du1 [ u3 ], u1 , out_u1 ); 142InterlockedXor ( g_tTex3du1 [ u3 ], u1 ); 143InterlockedXor ( g_tTex3du1 [ u3 ], u1 , out_u1 ); 144 145// 1D array int 146InterlockedAdd ( g_tTex1di1a [ i2 ], i1b ); 147InterlockedAdd ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 148InterlockedAnd ( g_tTex1di1a [ i2 ], i1b ); 149InterlockedAnd ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 150InterlockedCompareExchange ( g_tTex1di1a [ i2 ], i1b , i1c , out_i1 ); 151InterlockedExchange ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 152InterlockedMax ( g_tTex1di1a [ i2 ], i1b ); 153InterlockedMax ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 154InterlockedMin ( g_tTex1di1a [ i2 ], i1b ); 155InterlockedMin ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 156InterlockedOr ( g_tTex1di1a [ i2 ], i1b ); 157InterlockedOr ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 158InterlockedXor ( g_tTex1di1a [ i2 ], i1b ); 159InterlockedXor ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 160 161// 1D array uint 162InterlockedAdd ( g_tTex1du1a [ u2 ], u1 ); 163InterlockedAdd ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 164InterlockedAnd ( g_tTex1du1a [ u2 ], u1 ); 165InterlockedAnd ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 166InterlockedCompareExchange ( g_tTex1du1a [ u2 ], u1b , u1c , out_u1 ); 167InterlockedExchange ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 168InterlockedMax ( g_tTex1du1a [ u2 ], u1 ); 169InterlockedMax ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 170InterlockedMin ( g_tTex1du1a [ u2 ], u1 ); 171InterlockedMin ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 172InterlockedOr ( g_tTex1du1a [ u2 ], u1 ); 173InterlockedOr ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 174InterlockedXor ( g_tTex1du1a [ u2 ], u1 ); 175InterlockedXor ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 176 177// 2D array int 178InterlockedAdd ( g_tTex1di1a [ i2 ], i1b ); 179InterlockedAdd ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 180InterlockedAnd ( g_tTex1di1a [ i2 ], i1b ); 181InterlockedAnd ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 182InterlockedCompareExchange ( g_tTex1di1a [ i2 ], i1b , i1c , out_i1 ); 183InterlockedExchange ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 184InterlockedMax ( g_tTex1di1a [ i2 ], i1b ); 185InterlockedMax ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 186InterlockedMin ( g_tTex1di1a [ i2 ], i1b ); 187InterlockedMin ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 188InterlockedOr ( g_tTex1di1a [ i2 ], i1b ); 189InterlockedOr ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 190InterlockedXor ( g_tTex1di1a [ i2 ], i1b ); 191InterlockedXor ( g_tTex1di1a [ i2 ], i1 , out_i1 ); 192 193// 2D array uint 194InterlockedAdd ( g_tTex1du1a [ u2 ], u1 ); 195InterlockedAdd ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 196InterlockedAnd ( g_tTex1du1a [ u2 ], u1 ); 197InterlockedAnd ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 198InterlockedCompareExchange ( g_tTex1du1a [ u2 ], u1b , u1c , out_u1 ); 199InterlockedExchange ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 200InterlockedMax ( g_tTex1du1a [ u2 ], u1 ); 201InterlockedMax ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 202InterlockedMin ( g_tTex1du1a [ u2 ], u1 ); 203InterlockedMin ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 204InterlockedOr ( g_tTex1du1a [ u2 ], u1 ); 205InterlockedOr ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 206InterlockedXor ( g_tTex1du1a [ u2 ], u1 ); 207InterlockedXor ( g_tTex1du1a [ u2 ], u1 , out_u1 ); 208 209// buffer int 210InterlockedAdd ( g_tBuffI [ i1 ], i1b ); 211InterlockedAdd ( g_tBuffI [ i1 ], i1 , out_i1 ); 212InterlockedAnd ( g_tBuffI [ i1 ], i1b ); 213InterlockedAnd ( g_tBuffI [ i1 ], i1 , out_i1 ); 214InterlockedCompareExchange ( g_tBuffI [ i1 ], i1b , i1c , out_i1 ); 215InterlockedExchange ( g_tBuffI [ i1 ], i1 , out_i1 ); 216InterlockedMax ( g_tBuffI [ i1 ], i1b ); 217InterlockedMax ( g_tBuffI [ i1 ], i1 , out_i1 ); 218InterlockedMin ( g_tBuffI [ i1 ], i1b ); 219InterlockedMin ( g_tBuffI [ i1 ], i1 , out_i1 ); 220InterlockedOr ( g_tBuffI [ i1 ], i1b ); 221InterlockedOr ( g_tBuffI [ i1 ], i1 , out_i1 ); 222InterlockedXor ( g_tBuffI [ i1 ], i1b ); 223InterlockedXor ( g_tBuffI [ i1 ], i1 , out_i1 ); 224 225// buffer uint 226InterlockedAdd ( g_tBuffU [ u1 ], u1 ); 227InterlockedAdd ( g_tBuffU [ u1 ], u1 , out_u1 ); 228InterlockedAnd ( g_tBuffU [ u1 ], u1 ); 229InterlockedAnd ( g_tBuffU [ u1 ], u1 , out_u1 ); 230InterlockedCompareExchange ( g_tBuffU [ u1 ], u1b , u1c , out_u1 ); 231InterlockedExchange ( g_tBuffU [ u1 ], u1 , out_u1 ); 232InterlockedMax ( g_tBuffU [ u1 ], u1 ); 233InterlockedMax ( g_tBuffU [ u1 ], u1 , out_u1 ); 234InterlockedMin ( g_tBuffU [ u1 ], u1 ); 235InterlockedMin ( g_tBuffU [ u1 ], u1 , out_u1 ); 236InterlockedOr ( g_tBuffU [ u1 ], u1 ); 237InterlockedOr ( g_tBuffU [ u1 ], u1 , out_u1 ); 238InterlockedXor ( g_tBuffU [ u1 ], u1 ); 239InterlockedXor ( g_tBuffU [ u1 ], u1 , out_u1 ); 240 241PS_OUTPUT psout ; 242psout . Color = 1.0 ; 243return psout ; 244}