1void ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0) 2{ 3 uint out_u1; 4 5 // AllMemoryBarrier(); // invalid in fragment stage TODO: parser currently crashes on empty arg list 6 // AllMemoryBarrierWithGroupSync(); // invalid in fragment stage TODO: parser currently crashes on empty arg list 7 // asdouble(inF0, inF1); // expected error: only integer inputs 8 // CheckAccessFullyMapped(3.0); // expected error: only valid on integers 9 // clip(inF0); // expected error: only valid in pixel stage 10 // countbits(inF0); // expected error: only integer inputs 11 // cross(inF0, inF1); // expected error: only on float3 inputs 12 // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs 13 // ddx(inF0); // expected error: only valid in pixel stage 14 // ddx_coarse(inF0); // expected error: only valid in pixel stage 15 // ddx_fine(inF0); // expected error: only valid in pixel stage 16 // ddy(inF0); // expected error: only valid in pixel stage 17 // ddy_coarse(inF0); // expected error: only valid in pixel stage 18 // ddy_fine(inF0); // expected error: only valid in pixel stage 19 // determinant(inF0); // expected error: only valid on mats 20 // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant 21 // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant 22 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant 23 // f16tof32(inF0); // expected error: only integer inputs 24 // firstbithigh(inF0); // expected error: only integer inputs 25 // firstbitlow(inF0); // expected error: only integer inputs 26 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC 27 // fwidth(inF0); // expected error: only valid in pixel stage 28 // InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage 29 // InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage 30 // InterlockedAnd(gs_ua, gs_ub); // expected error: only valid in pixel stage 31 // InterlockedAnd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage 32 // InterlockedCompareExchange(gs_ua, gs_ub, gs_uc, out_u1); // expected error: only valid in pixel stage 33 // InterlockedExchange(gs_ua, gs_ub, out_u1);// expected error: only valid in pixel stage 34 // InterlockedMax(gs_ua, gs_ub); // expected error: only valid in pixel stage 35 // InterlockedMax(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage 36 // InterlockedMin(gs_ua, gs_ub); // expected error: only valid in pixel stage 37 // InterlockedMin(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage 38 // InterlockedOr(gs_ua, gs_ub); // expected error: only valid in pixel stage 39 // InterlockedOr(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage 40 // InterlockedXor(gs_ua, gs_ub); // expected error: only valid in pixel stage 41 // InterlockedXor(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage 42 // length(inF0); // expect error: invalid on scalars 43 // msad4(inF0, float2(0), float4(0)); // expected error: only integer inputs 44 // normalize(inF0); // expect error: invalid on scalars 45 // reflect(inF0, inF1); // expect error: invalid on scalars 46 // refract(inF0, inF1, inF2); // expect error: invalid on scalars 47 // refract(float2(0), float2(0), float2(0)); // expected error: last parameter only scalar 48 // reversebits(inF0); // expected error: only integer inputs 49 // transpose(inF0); // expect error: only valid on mats 50 51 // TODO: texture intrinsics, when we can declare samplers. 52} 53 54void ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0) 55{ 56 // TODO: ... add when float1 prototypes are generated 57 58 // GetRenderTargetSamplePosition(inF0); // expected error: only integer inputs 59} 60 61void ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0) 62{ 63 uint2 out_u2; 64 65 // asdouble(inF0, inF1); // expected error: only integer inputs 66 // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars 67 // countbits(inF0); // expected error: only integer inputs 68 // cross(inF0, inF1); // expected error: only on float3 inputs 69 // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs 70 // ddx(inF0); // only valid in pixel stage 71 // ddx_coarse(inF0); // only valid in pixel stage 72 // ddx_fine(inF0); // only valid in pixel stage 73 // ddy(inF0); // only valid in pixel stage 74 // ddy_coarse(inF0); // only valid in pixel stage 75 // ddy_fine(inF0); // only valid in pixel stage 76 // determinant(inF0); // expect error: only valid on mats 77 // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant 78 // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant 79 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant 80 // f16tof32(inF0); // expected error: only integer inputs 81 // firstbithigh(inF0); // expected error: only integer inputs 82 // firstbitlow(inF0); // expected error: only integer inputs 83 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC 84 // fwidth(inF0); // expected error: only valid in pixel stage 85 // InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage 86 // InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage 87 // InterlockedAnd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage 88 // InterlockedAnd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage 89 // InterlockedCompareExchange(gs_ua2, gs_ub2, gs_uc2, out_u2); // expected error: only valid in pixel stage 90 // InterlockedExchange(gs_ua2, gs_ub2, out_u2);// expected error: only valid in pixel stage 91 // InterlockedMax(gs_ua2, gs_ub2); // expected error: only valid in pixel stage 92 // InterlockedMax(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage 93 // InterlockedMin(gs_ua2, gs_ub2); // expected error: only valid in pixel stage 94 // InterlockedMin(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage 95 // InterlockedOr(gs_ua2, gs_ub2); // expected error: only valid in pixel stage 96 // InterlockedOr(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage 97 // InterlockedXor(gs_ua2, gs_ub2); // expected error: only valid in pixel stage 98 // InterlockedXor(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage 99 // noise(inF0); // expected error: only valid in pixel stage 100 // reversebits(inF0); // expected error: only integer inputs 101 // transpose(inF0); // expect error: only valid on mats 102 103 // TODO: texture intrinsics, when we can declare samplers. 104} 105 106void ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0) 107{ 108 uint3 out_u3; 109 110 // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars 111 // countbits(inF0); // expected error: only integer inputs 112 // ddx(inF0); // only valid in pixel stage 113 // ddx_coarse(inF0); // only valid in pixel stage 114 // ddx_fine(inF0); // only valid in pixel stage 115 // ddy(inF0); // only valid in pixel stage 116 // ddy_coarse(inF0); // only valid in pixel stage 117 // ddy_fine(inF0); // only valid in pixel stage 118 // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs 119 // determinant(inF0); // expect error: only valid on mats 120 // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant 121 // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant 122 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant 123 // f16tof32(inF0); // expected error: only integer inputs 124 // firstbithigh(inF0); // expected error: only integer inputs 125 // firstbitlow(inF0); // expected error: only integer inputs 126 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC 127 // fwidth(inF0); // expected error: only valid in pixel stage 128 // InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage 129 // InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage 130 // InterlockedAnd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage 131 // InterlockedAnd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage 132 // InterlockedCompareExchange(gs_ua3, gs_ub3, gs_uc3, out_u3); // expected error: only valid in pixel stage 133 // InterlockedExchange(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage 134 // InterlockedMax(gs_ua3, gs_ub3); // expected error: only valid in pixel stage 135 // InterlockedMax(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage 136 // InterlockedMin(gs_ua3, gs_ub3); // expected error: only valid in pixel stage 137 // InterlockedMin(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage 138 // InterlockedOr(gs_ua3, gs_ub3); // expected error: only valid in pixel stage 139 // InterlockedOr(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage 140 // InterlockedXor(gs_ua3, gs_ub3); // expected error: only valid in pixel stage 141 // InterlockedXor(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage 142 // noise(inF0); // expected error: only valid in pixel stage 143 // reversebits(inF0); // expected error: only integer inputs 144 // transpose(inF0); // expect error: only valid on mats 145 146 // TODO: texture intrinsics, when we can declare samplers. 147} 148 149void ComputeShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0) 150{ 151 uint4 out_u4; 152 153 // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars 154 // countbits(inF0); // expected error: only integer inputs 155 // cross(inF0, inF1); // expected error: only on float3 inputs 156 // determinant(inF0); // expect error: only valid on mats 157 // ddx(inF0); // only valid in pixel stage 158 // ddx_coarse(inF0); // only valid in pixel stage 159 // ddx_fine(inF0); // only valid in pixel stage 160 // ddy(inF0); // only valid in pixel stage 161 // ddy_coarse(inF0); // only valid in pixel stage 162 // ddy_fine(inF0); // only valid in pixel stage 163 // EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage 164 // EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage 165 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage 166 // f16tof32(inF0); // expected error: only integer inputs 167 // firstbithigh(inF0); // expected error: only integer inputs 168 // firstbitlow(inF0); // expected error: only integer inputs 169 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC 170 // fwidth(inF0); // expected error: only valid in pixel stage 171 // InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage 172 // InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage 173 // InterlockedAnd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage 174 // InterlockedAnd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage 175 // InterlockedCompareExchange(gs_ua4, gs_ub4, gs_uc4, out_u4); // expected error: only valid in pixel stage 176 // InterlockedExchange(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage 177 // InterlockedMax(gs_ua4, gs_ub4); // expected error: only valid in pixel stage 178 // InterlockedMax(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage 179 // InterlockedMin(gs_ua4, gs_ub4); // expected error: only valid in pixel stage 180 // InterlockedMin(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage 181 // InterlockedOr(gs_ua4, gs_ub4); // expected error: only valid in pixel stage 182 // InterlockedOr(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage 183 // InterlockedXor(gs_ua4, gs_ub4); // expected error: only valid in pixel stage 184 // InterlockedXor(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage 185 // noise(inF0); // expected error: only valid in pixel stage 186 // reversebits(inF0); // expected error: only integer inputs 187 // transpose(inF0); // expect error: only valid on mats 188 189 // TODO: texture intrinsics, when we can declare samplers. 190} 191 192