1617a3babSopenharmony_ciSamplerState g_sSamp; 2617a3babSopenharmony_ci 3617a3babSopenharmony_ciRWTexture1D <float> g_tTex1df1; 4617a3babSopenharmony_ciRWTexture1D <int> g_tTex1di1; 5617a3babSopenharmony_ciRWTexture1D <uint> g_tTex1du1; 6617a3babSopenharmony_ci 7617a3babSopenharmony_ciRWTexture2D <float> g_tTex2df1; 8617a3babSopenharmony_ciRWTexture2D <int> g_tTex2di1; 9617a3babSopenharmony_ciRWTexture2D <uint> g_tTex2du1; 10617a3babSopenharmony_ci 11617a3babSopenharmony_ciRWTexture3D <float> g_tTex3df1; 12617a3babSopenharmony_ciRWTexture3D <int> g_tTex3di1; 13617a3babSopenharmony_ciRWTexture3D <uint> g_tTex3du1; 14617a3babSopenharmony_ci 15617a3babSopenharmony_ciRWTexture1DArray <float> g_tTex1df1a; 16617a3babSopenharmony_ciRWTexture1DArray <int> g_tTex1di1a; 17617a3babSopenharmony_ciRWTexture1DArray <uint> g_tTex1du1a; 18617a3babSopenharmony_ci 19617a3babSopenharmony_ciRWTexture2DArray <float> g_tTex2df1a; 20617a3babSopenharmony_ciRWTexture2DArray <int> g_tTex2di1a; 21617a3babSopenharmony_ciRWTexture2DArray <uint> g_tTex2du1a; 22617a3babSopenharmony_ci 23617a3babSopenharmony_ciRWBuffer <float> g_tBuffF; 24617a3babSopenharmony_ciRWBuffer <int> g_tBuffI; 25617a3babSopenharmony_ciRWBuffer <uint> g_tBuffU; 26617a3babSopenharmony_ci 27617a3babSopenharmony_cistruct PS_OUTPUT 28617a3babSopenharmony_ci{ 29617a3babSopenharmony_ci float4 Color : SV_Target0; 30617a3babSopenharmony_ci}; 31617a3babSopenharmony_ci 32617a3babSopenharmony_ciuniform uint u1; 33617a3babSopenharmony_ciuniform uint2 u2; 34617a3babSopenharmony_ciuniform uint3 u3; 35617a3babSopenharmony_ciuniform uint u1b; 36617a3babSopenharmony_ciuniform uint u1c; 37617a3babSopenharmony_ci 38617a3babSopenharmony_ciuniform int i1; 39617a3babSopenharmony_ciuniform int2 i2; 40617a3babSopenharmony_ciuniform int3 i3; 41617a3babSopenharmony_ciuniform int i1b; 42617a3babSopenharmony_ciuniform int i1c; 43617a3babSopenharmony_ci 44617a3babSopenharmony_ciPS_OUTPUT main() 45617a3babSopenharmony_ci{ 46617a3babSopenharmony_ci uint out_u1; 47617a3babSopenharmony_ci int out_i1; 48617a3babSopenharmony_ci 49617a3babSopenharmony_ci // 1D int 50617a3babSopenharmony_ci InterlockedAdd(g_tTex1di1[i1], i1b); 51617a3babSopenharmony_ci InterlockedAdd(g_tTex1di1[i1], i1, out_i1); 52617a3babSopenharmony_ci InterlockedAnd(g_tTex1di1[i1], i1b); 53617a3babSopenharmony_ci InterlockedAnd(g_tTex1di1[i1], i1, out_i1); 54617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex1di1[i1], i1b, i1c, out_i1); 55617a3babSopenharmony_ci InterlockedExchange(g_tTex1di1[i1], i1, out_i1); 56617a3babSopenharmony_ci InterlockedMax(g_tTex1di1[i1], i1b); 57617a3babSopenharmony_ci InterlockedMax(g_tTex1di1[i1], i1, out_i1); 58617a3babSopenharmony_ci InterlockedMin(g_tTex1di1[i1], i1b); 59617a3babSopenharmony_ci InterlockedMin(g_tTex1di1[i1], i1, out_i1); 60617a3babSopenharmony_ci InterlockedOr(g_tTex1di1[i1], i1b); 61617a3babSopenharmony_ci InterlockedOr(g_tTex1di1[i1], i1, out_i1); 62617a3babSopenharmony_ci InterlockedXor(g_tTex1di1[i1], i1b); 63617a3babSopenharmony_ci InterlockedXor(g_tTex1di1[i1], i1, out_i1); 64617a3babSopenharmony_ci 65617a3babSopenharmony_ci // 1D uint 66617a3babSopenharmony_ci InterlockedAdd(g_tTex1du1[u1], u1); 67617a3babSopenharmony_ci InterlockedAdd(g_tTex1du1[u1], u1, out_u1); 68617a3babSopenharmony_ci InterlockedAnd(g_tTex1du1[u1], u1); 69617a3babSopenharmony_ci InterlockedAnd(g_tTex1du1[u1], u1, out_u1); 70617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex1du1[u1], u1b, u1c, out_u1); 71617a3babSopenharmony_ci InterlockedExchange(g_tTex1du1[u1], u1, out_u1); 72617a3babSopenharmony_ci InterlockedMax(g_tTex1du1[u1], u1); 73617a3babSopenharmony_ci InterlockedMax(g_tTex1du1[u1], u1, out_u1); 74617a3babSopenharmony_ci InterlockedMin(g_tTex1du1[u1], u1); 75617a3babSopenharmony_ci InterlockedMin(g_tTex1du1[u1], u1, out_u1); 76617a3babSopenharmony_ci InterlockedOr(g_tTex1du1[u1], u1); 77617a3babSopenharmony_ci InterlockedOr(g_tTex1du1[u1], u1, out_u1); 78617a3babSopenharmony_ci InterlockedXor(g_tTex1du1[u1], u1); 79617a3babSopenharmony_ci InterlockedXor(g_tTex1du1[u1], u1, out_u1); 80617a3babSopenharmony_ci 81617a3babSopenharmony_ci // 2D int 82617a3babSopenharmony_ci InterlockedAdd(g_tTex2di1[i2], i1b); 83617a3babSopenharmony_ci InterlockedAdd(g_tTex2di1[i2], i1, out_i1); 84617a3babSopenharmony_ci InterlockedAnd(g_tTex2di1[i2], i1b); 85617a3babSopenharmony_ci InterlockedAnd(g_tTex2di1[i2], i1, out_i1); 86617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex2di1[i2], i1b, i1c, out_i1); 87617a3babSopenharmony_ci InterlockedExchange(g_tTex2di1[i2], i1, out_i1); 88617a3babSopenharmony_ci InterlockedMax(g_tTex2di1[i2], i1b); 89617a3babSopenharmony_ci InterlockedMax(g_tTex2di1[i2], i1, out_i1); 90617a3babSopenharmony_ci InterlockedMin(g_tTex2di1[i2], i1b); 91617a3babSopenharmony_ci InterlockedMin(g_tTex2di1[i2], i1, out_i1); 92617a3babSopenharmony_ci InterlockedOr(g_tTex2di1[i2], i1b); 93617a3babSopenharmony_ci InterlockedOr(g_tTex2di1[i2], i1, out_i1); 94617a3babSopenharmony_ci InterlockedXor(g_tTex2di1[i2], i1b); 95617a3babSopenharmony_ci InterlockedXor(g_tTex2di1[i2], i1, out_i1); 96617a3babSopenharmony_ci 97617a3babSopenharmony_ci // 2D uint 98617a3babSopenharmony_ci InterlockedAdd(g_tTex2du1[u2], u1); 99617a3babSopenharmony_ci InterlockedAdd(g_tTex2du1[u2], u1, out_u1); 100617a3babSopenharmony_ci InterlockedAnd(g_tTex2du1[u2], u1); 101617a3babSopenharmony_ci InterlockedAnd(g_tTex2du1[u2], u1, out_u1); 102617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex2du1[u2], u1b, u1c, out_u1); 103617a3babSopenharmony_ci InterlockedExchange(g_tTex2du1[u2], u1, out_u1); 104617a3babSopenharmony_ci InterlockedMax(g_tTex2du1[u2], u1); 105617a3babSopenharmony_ci InterlockedMax(g_tTex2du1[u2], u1, out_u1); 106617a3babSopenharmony_ci InterlockedMin(g_tTex2du1[u2], u1); 107617a3babSopenharmony_ci InterlockedMin(g_tTex2du1[u2], u1, out_u1); 108617a3babSopenharmony_ci InterlockedOr(g_tTex2du1[u2], u1); 109617a3babSopenharmony_ci InterlockedOr(g_tTex2du1[u2], u1, out_u1); 110617a3babSopenharmony_ci InterlockedXor(g_tTex2du1[u2], u1); 111617a3babSopenharmony_ci InterlockedXor(g_tTex2du1[u2], u1, out_u1); 112617a3babSopenharmony_ci 113617a3babSopenharmony_ci // 3D int 114617a3babSopenharmony_ci InterlockedAdd(g_tTex3di1[i3], i1b); 115617a3babSopenharmony_ci InterlockedAdd(g_tTex3di1[i3], i1, out_i1); 116617a3babSopenharmony_ci InterlockedAnd(g_tTex3di1[i3], i1b); 117617a3babSopenharmony_ci InterlockedAnd(g_tTex3di1[i3], i1, out_i1); 118617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex3di1[i3], i1b, i1c, out_i1); 119617a3babSopenharmony_ci InterlockedExchange(g_tTex3di1[i3], i1, out_i1); 120617a3babSopenharmony_ci InterlockedMax(g_tTex3di1[i3], i1b); 121617a3babSopenharmony_ci InterlockedMax(g_tTex3di1[i3], i1, out_i1); 122617a3babSopenharmony_ci InterlockedMin(g_tTex3di1[i3], i1b); 123617a3babSopenharmony_ci InterlockedMin(g_tTex3di1[i3], i1, out_i1); 124617a3babSopenharmony_ci InterlockedOr(g_tTex3di1[i3], i1b); 125617a3babSopenharmony_ci InterlockedOr(g_tTex3di1[i3], i1, out_i1); 126617a3babSopenharmony_ci InterlockedXor(g_tTex3di1[i3], i1b); 127617a3babSopenharmony_ci InterlockedXor(g_tTex3di1[i3], i1, out_i1); 128617a3babSopenharmony_ci 129617a3babSopenharmony_ci // 3D uint 130617a3babSopenharmony_ci InterlockedAdd(g_tTex3du1[u3], u1); 131617a3babSopenharmony_ci InterlockedAdd(g_tTex3du1[u3], u1, out_u1); 132617a3babSopenharmony_ci InterlockedAnd(g_tTex3du1[u3], u1); 133617a3babSopenharmony_ci InterlockedAnd(g_tTex3du1[u3], u1, out_u1); 134617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex3du1[u3], u1b, u1c, out_u1); 135617a3babSopenharmony_ci InterlockedExchange(g_tTex3du1[u3], u1, out_u1); 136617a3babSopenharmony_ci InterlockedMax(g_tTex3du1[u3], u1); 137617a3babSopenharmony_ci InterlockedMax(g_tTex3du1[u3], u1, out_u1); 138617a3babSopenharmony_ci InterlockedMin(g_tTex3du1[u3], u1); 139617a3babSopenharmony_ci InterlockedMin(g_tTex3du1[u3], u1, out_u1); 140617a3babSopenharmony_ci InterlockedOr(g_tTex3du1[u3], u1); 141617a3babSopenharmony_ci InterlockedOr(g_tTex3du1[u3], u1, out_u1); 142617a3babSopenharmony_ci InterlockedXor(g_tTex3du1[u3], u1); 143617a3babSopenharmony_ci InterlockedXor(g_tTex3du1[u3], u1, out_u1); 144617a3babSopenharmony_ci 145617a3babSopenharmony_ci // 1D array int 146617a3babSopenharmony_ci InterlockedAdd(g_tTex1di1a[i2], i1b); 147617a3babSopenharmony_ci InterlockedAdd(g_tTex1di1a[i2], i1, out_i1); 148617a3babSopenharmony_ci InterlockedAnd(g_tTex1di1a[i2], i1b); 149617a3babSopenharmony_ci InterlockedAnd(g_tTex1di1a[i2], i1, out_i1); 150617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex1di1a[i2], i1b, i1c, out_i1); 151617a3babSopenharmony_ci InterlockedExchange(g_tTex1di1a[i2], i1, out_i1); 152617a3babSopenharmony_ci InterlockedMax(g_tTex1di1a[i2], i1b); 153617a3babSopenharmony_ci InterlockedMax(g_tTex1di1a[i2], i1, out_i1); 154617a3babSopenharmony_ci InterlockedMin(g_tTex1di1a[i2], i1b); 155617a3babSopenharmony_ci InterlockedMin(g_tTex1di1a[i2], i1, out_i1); 156617a3babSopenharmony_ci InterlockedOr(g_tTex1di1a[i2], i1b); 157617a3babSopenharmony_ci InterlockedOr(g_tTex1di1a[i2], i1, out_i1); 158617a3babSopenharmony_ci InterlockedXor(g_tTex1di1a[i2], i1b); 159617a3babSopenharmony_ci InterlockedXor(g_tTex1di1a[i2], i1, out_i1); 160617a3babSopenharmony_ci 161617a3babSopenharmony_ci // 1D array uint 162617a3babSopenharmony_ci InterlockedAdd(g_tTex1du1a[u2], u1); 163617a3babSopenharmony_ci InterlockedAdd(g_tTex1du1a[u2], u1, out_u1); 164617a3babSopenharmony_ci InterlockedAnd(g_tTex1du1a[u2], u1); 165617a3babSopenharmony_ci InterlockedAnd(g_tTex1du1a[u2], u1, out_u1); 166617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex1du1a[u2], u1b, u1c, out_u1); 167617a3babSopenharmony_ci InterlockedExchange(g_tTex1du1a[u2], u1, out_u1); 168617a3babSopenharmony_ci InterlockedMax(g_tTex1du1a[u2], u1); 169617a3babSopenharmony_ci InterlockedMax(g_tTex1du1a[u2], u1, out_u1); 170617a3babSopenharmony_ci InterlockedMin(g_tTex1du1a[u2], u1); 171617a3babSopenharmony_ci InterlockedMin(g_tTex1du1a[u2], u1, out_u1); 172617a3babSopenharmony_ci InterlockedOr(g_tTex1du1a[u2], u1); 173617a3babSopenharmony_ci InterlockedOr(g_tTex1du1a[u2], u1, out_u1); 174617a3babSopenharmony_ci InterlockedXor(g_tTex1du1a[u2], u1); 175617a3babSopenharmony_ci InterlockedXor(g_tTex1du1a[u2], u1, out_u1); 176617a3babSopenharmony_ci 177617a3babSopenharmony_ci // 2D array int 178617a3babSopenharmony_ci InterlockedAdd(g_tTex1di1a[i2], i1b); 179617a3babSopenharmony_ci InterlockedAdd(g_tTex1di1a[i2], i1, out_i1); 180617a3babSopenharmony_ci InterlockedAnd(g_tTex1di1a[i2], i1b); 181617a3babSopenharmony_ci InterlockedAnd(g_tTex1di1a[i2], i1, out_i1); 182617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex1di1a[i2], i1b, i1c, out_i1); 183617a3babSopenharmony_ci InterlockedExchange(g_tTex1di1a[i2], i1, out_i1); 184617a3babSopenharmony_ci InterlockedMax(g_tTex1di1a[i2], i1b); 185617a3babSopenharmony_ci InterlockedMax(g_tTex1di1a[i2], i1, out_i1); 186617a3babSopenharmony_ci InterlockedMin(g_tTex1di1a[i2], i1b); 187617a3babSopenharmony_ci InterlockedMin(g_tTex1di1a[i2], i1, out_i1); 188617a3babSopenharmony_ci InterlockedOr(g_tTex1di1a[i2], i1b); 189617a3babSopenharmony_ci InterlockedOr(g_tTex1di1a[i2], i1, out_i1); 190617a3babSopenharmony_ci InterlockedXor(g_tTex1di1a[i2], i1b); 191617a3babSopenharmony_ci InterlockedXor(g_tTex1di1a[i2], i1, out_i1); 192617a3babSopenharmony_ci 193617a3babSopenharmony_ci // 2D array uint 194617a3babSopenharmony_ci InterlockedAdd(g_tTex1du1a[u2], u1); 195617a3babSopenharmony_ci InterlockedAdd(g_tTex1du1a[u2], u1, out_u1); 196617a3babSopenharmony_ci InterlockedAnd(g_tTex1du1a[u2], u1); 197617a3babSopenharmony_ci InterlockedAnd(g_tTex1du1a[u2], u1, out_u1); 198617a3babSopenharmony_ci InterlockedCompareExchange(g_tTex1du1a[u2], u1b, u1c, out_u1); 199617a3babSopenharmony_ci InterlockedExchange(g_tTex1du1a[u2], u1, out_u1); 200617a3babSopenharmony_ci InterlockedMax(g_tTex1du1a[u2], u1); 201617a3babSopenharmony_ci InterlockedMax(g_tTex1du1a[u2], u1, out_u1); 202617a3babSopenharmony_ci InterlockedMin(g_tTex1du1a[u2], u1); 203617a3babSopenharmony_ci InterlockedMin(g_tTex1du1a[u2], u1, out_u1); 204617a3babSopenharmony_ci InterlockedOr(g_tTex1du1a[u2], u1); 205617a3babSopenharmony_ci InterlockedOr(g_tTex1du1a[u2], u1, out_u1); 206617a3babSopenharmony_ci InterlockedXor(g_tTex1du1a[u2], u1); 207617a3babSopenharmony_ci InterlockedXor(g_tTex1du1a[u2], u1, out_u1); 208617a3babSopenharmony_ci 209617a3babSopenharmony_ci // buffer int 210617a3babSopenharmony_ci InterlockedAdd(g_tBuffI[i1], i1b); 211617a3babSopenharmony_ci InterlockedAdd(g_tBuffI[i1], i1, out_i1); 212617a3babSopenharmony_ci InterlockedAnd(g_tBuffI[i1], i1b); 213617a3babSopenharmony_ci InterlockedAnd(g_tBuffI[i1], i1, out_i1); 214617a3babSopenharmony_ci InterlockedCompareExchange(g_tBuffI[i1], i1b, i1c, out_i1); 215617a3babSopenharmony_ci InterlockedExchange(g_tBuffI[i1], i1, out_i1); 216617a3babSopenharmony_ci InterlockedMax(g_tBuffI[i1], i1b); 217617a3babSopenharmony_ci InterlockedMax(g_tBuffI[i1], i1, out_i1); 218617a3babSopenharmony_ci InterlockedMin(g_tBuffI[i1], i1b); 219617a3babSopenharmony_ci InterlockedMin(g_tBuffI[i1], i1, out_i1); 220617a3babSopenharmony_ci InterlockedOr(g_tBuffI[i1], i1b); 221617a3babSopenharmony_ci InterlockedOr(g_tBuffI[i1], i1, out_i1); 222617a3babSopenharmony_ci InterlockedXor(g_tBuffI[i1], i1b); 223617a3babSopenharmony_ci InterlockedXor(g_tBuffI[i1], i1, out_i1); 224617a3babSopenharmony_ci 225617a3babSopenharmony_ci // buffer uint 226617a3babSopenharmony_ci InterlockedAdd(g_tBuffU[u1], u1); 227617a3babSopenharmony_ci InterlockedAdd(g_tBuffU[u1], u1, out_u1); 228617a3babSopenharmony_ci InterlockedAnd(g_tBuffU[u1], u1); 229617a3babSopenharmony_ci InterlockedAnd(g_tBuffU[u1], u1, out_u1); 230617a3babSopenharmony_ci InterlockedCompareExchange(g_tBuffU[u1], u1b, u1c, out_u1); 231617a3babSopenharmony_ci InterlockedExchange(g_tBuffU[u1], u1, out_u1); 232617a3babSopenharmony_ci InterlockedMax(g_tBuffU[u1], u1); 233617a3babSopenharmony_ci InterlockedMax(g_tBuffU[u1], u1, out_u1); 234617a3babSopenharmony_ci InterlockedMin(g_tBuffU[u1], u1); 235617a3babSopenharmony_ci InterlockedMin(g_tBuffU[u1], u1, out_u1); 236617a3babSopenharmony_ci InterlockedOr(g_tBuffU[u1], u1); 237617a3babSopenharmony_ci InterlockedOr(g_tBuffU[u1], u1, out_u1); 238617a3babSopenharmony_ci InterlockedXor(g_tBuffU[u1], u1); 239617a3babSopenharmony_ci InterlockedXor(g_tBuffU[u1], u1, out_u1); 240617a3babSopenharmony_ci 241617a3babSopenharmony_ci PS_OUTPUT psout; 242617a3babSopenharmony_ci psout.Color = 1.0; 243617a3babSopenharmony_ci return psout; 244617a3babSopenharmony_ci} 245