|
| 1 | + |
| 2 | +struct UniformIndex { |
| 3 | + uint index; |
| 4 | +}; |
| 5 | + |
| 6 | +struct FragmentIn { |
| 7 | + nointerpolation uint index : LOC0; |
| 8 | +}; |
| 9 | + |
| 10 | +Texture2D<float4> texture_array_unbounded[10] : register(t0); |
| 11 | +Texture2D<float4> texture_array_bounded[5] : register(t0, space1); |
| 12 | +Texture2DArray<float4> texture_array_2darray[5] : register(t0, space2); |
| 13 | +Texture2DMS<float4> texture_array_multisampled[5] : register(t0, space3); |
| 14 | +Texture2D<float> texture_array_depth[5] : register(t0, space4); |
| 15 | +RWTexture2D<float4> texture_array_storage[5] : register(u0, space5); |
| 16 | +SamplerState samp[5] : register(s0, space6); |
| 17 | +SamplerComparisonState samp_comp[5] : register(s0, space7); |
| 18 | +cbuffer uni : register(b0, space8) { UniformIndex uni; } |
| 19 | + |
| 20 | +struct FragmentInput_main { |
| 21 | + nointerpolation uint index : LOC0; |
| 22 | +}; |
| 23 | + |
| 24 | +int2 NagaDimensions2D(Texture2D<float4> tex) |
| 25 | +{ |
| 26 | + uint4 ret; |
| 27 | + tex.GetDimensions(0, ret.x, ret.y, ret.z); |
| 28 | + return ret.xy; |
| 29 | +} |
| 30 | + |
| 31 | +int NagaNumLayers2DArray(Texture2DArray<float4> tex) |
| 32 | +{ |
| 33 | + uint4 ret; |
| 34 | + tex.GetDimensions(0, ret.x, ret.y, ret.z, ret.w); |
| 35 | + return ret.w; |
| 36 | +} |
| 37 | + |
| 38 | +int NagaNumLevels2D(Texture2D<float4> tex) |
| 39 | +{ |
| 40 | + uint4 ret; |
| 41 | + tex.GetDimensions(0, ret.x, ret.y, ret.z); |
| 42 | + return ret.z; |
| 43 | +} |
| 44 | + |
| 45 | +int NagaMSNumSamples2D(Texture2DMS<float4> tex) |
| 46 | +{ |
| 47 | + uint4 ret; |
| 48 | + tex.GetDimensions(ret.x, ret.y, ret.z); |
| 49 | + return ret.z; |
| 50 | +} |
| 51 | + |
| 52 | +float4 main(FragmentInput_main fragmentinput_main) : SV_Target0 |
| 53 | +{ |
| 54 | + FragmentIn in_ = { fragmentinput_main.index }; |
| 55 | + int i1_ = 0; |
| 56 | + int2 i2_ = (int2)0; |
| 57 | + float v1_ = 0.0; |
| 58 | + float4 v4_ = (float4)0; |
| 59 | + |
| 60 | + uint uniform_index = uni.index; |
| 61 | + uint non_uniform_index = in_.index; |
| 62 | + i2_ = (0).xx; |
| 63 | + v4_ = (0.0).xxxx; |
| 64 | + float2 uv = (0.0).xx; |
| 65 | + int2 pix = (0).xx; |
| 66 | + int2 _expr27 = i2_; |
| 67 | + i2_ = (_expr27 + NagaDimensions2D(texture_array_unbounded[0])); |
| 68 | + int2 _expr32 = i2_; |
| 69 | + i2_ = (_expr32 + NagaDimensions2D(texture_array_unbounded[uniform_index])); |
| 70 | + int2 _expr36 = i2_; |
| 71 | + i2_ = (_expr36 + NagaDimensions2D(texture_array_unbounded[NonUniformResourceIndex(non_uniform_index)])); |
| 72 | + float4 _expr40 = v4_; |
| 73 | + float4 _expr45 = texture_array_bounded[0].Gather(samp[0], uv); |
| 74 | + v4_ = (_expr40 + _expr45); |
| 75 | + float4 _expr47 = v4_; |
| 76 | + float4 _expr50 = texture_array_bounded[uniform_index].Gather(samp[uniform_index], uv); |
| 77 | + v4_ = (_expr47 + _expr50); |
| 78 | + float4 _expr52 = v4_; |
| 79 | + float4 _expr55 = texture_array_bounded[NonUniformResourceIndex(non_uniform_index)].Gather(samp[NonUniformResourceIndex(non_uniform_index)], uv); |
| 80 | + v4_ = (_expr52 + _expr55); |
| 81 | + float4 _expr57 = v4_; |
| 82 | + float4 _expr63 = texture_array_depth[0].GatherCmp(samp_comp[0], uv, 0.0); |
| 83 | + v4_ = (_expr57 + _expr63); |
| 84 | + float4 _expr65 = v4_; |
| 85 | + float4 _expr69 = texture_array_depth[uniform_index].GatherCmp(samp_comp[uniform_index], uv, 0.0); |
| 86 | + v4_ = (_expr65 + _expr69); |
| 87 | + float4 _expr71 = v4_; |
| 88 | + float4 _expr75 = texture_array_depth[NonUniformResourceIndex(non_uniform_index)].GatherCmp(samp_comp[NonUniformResourceIndex(non_uniform_index)], uv, 0.0); |
| 89 | + v4_ = (_expr71 + _expr75); |
| 90 | + float4 _expr77 = v4_; |
| 91 | + float4 _expr81 = texture_array_unbounded[0].Load(int3(pix, 0)); |
| 92 | + v4_ = (_expr77 + _expr81); |
| 93 | + float4 _expr83 = v4_; |
| 94 | + float4 _expr86 = texture_array_unbounded[uniform_index].Load(int3(pix, 0)); |
| 95 | + v4_ = (_expr83 + _expr86); |
| 96 | + float4 _expr88 = v4_; |
| 97 | + float4 _expr91 = texture_array_unbounded[NonUniformResourceIndex(non_uniform_index)].Load(int3(pix, 0)); |
| 98 | + v4_ = (_expr88 + _expr91); |
| 99 | + int _expr93 = i1_; |
| 100 | + i1_ = (_expr93 + NagaNumLayers2DArray(texture_array_2darray[0])); |
| 101 | + int _expr98 = i1_; |
| 102 | + i1_ = (_expr98 + NagaNumLayers2DArray(texture_array_2darray[uniform_index])); |
| 103 | + int _expr102 = i1_; |
| 104 | + i1_ = (_expr102 + NagaNumLayers2DArray(texture_array_2darray[NonUniformResourceIndex(non_uniform_index)])); |
| 105 | + int _expr106 = i1_; |
| 106 | + i1_ = (_expr106 + NagaNumLevels2D(texture_array_bounded[0])); |
| 107 | + int _expr111 = i1_; |
| 108 | + i1_ = (_expr111 + NagaNumLevels2D(texture_array_bounded[uniform_index])); |
| 109 | + int _expr115 = i1_; |
| 110 | + i1_ = (_expr115 + NagaNumLevels2D(texture_array_bounded[NonUniformResourceIndex(non_uniform_index)])); |
| 111 | + int _expr119 = i1_; |
| 112 | + i1_ = (_expr119 + NagaMSNumSamples2D(texture_array_multisampled[0])); |
| 113 | + int _expr124 = i1_; |
| 114 | + i1_ = (_expr124 + NagaMSNumSamples2D(texture_array_multisampled[uniform_index])); |
| 115 | + int _expr128 = i1_; |
| 116 | + i1_ = (_expr128 + NagaMSNumSamples2D(texture_array_multisampled[NonUniformResourceIndex(non_uniform_index)])); |
| 117 | + float4 _expr132 = v4_; |
| 118 | + float4 _expr137 = texture_array_bounded[0].Sample(samp[0], uv); |
| 119 | + v4_ = (_expr132 + _expr137); |
| 120 | + float4 _expr139 = v4_; |
| 121 | + float4 _expr142 = texture_array_bounded[uniform_index].Sample(samp[uniform_index], uv); |
| 122 | + v4_ = (_expr139 + _expr142); |
| 123 | + float4 _expr144 = v4_; |
| 124 | + float4 _expr147 = texture_array_bounded[NonUniformResourceIndex(non_uniform_index)].Sample(samp[NonUniformResourceIndex(non_uniform_index)], uv); |
| 125 | + v4_ = (_expr144 + _expr147); |
| 126 | + float4 _expr149 = v4_; |
| 127 | + float4 _expr155 = texture_array_bounded[0].SampleBias(samp[0], uv, 0.0); |
| 128 | + v4_ = (_expr149 + _expr155); |
| 129 | + float4 _expr157 = v4_; |
| 130 | + float4 _expr161 = texture_array_bounded[uniform_index].SampleBias(samp[uniform_index], uv, 0.0); |
| 131 | + v4_ = (_expr157 + _expr161); |
| 132 | + float4 _expr163 = v4_; |
| 133 | + float4 _expr167 = texture_array_bounded[NonUniformResourceIndex(non_uniform_index)].SampleBias(samp[NonUniformResourceIndex(non_uniform_index)], uv, 0.0); |
| 134 | + v4_ = (_expr163 + _expr167); |
| 135 | + float _expr169 = v1_; |
| 136 | + float _expr175 = texture_array_depth[0].SampleCmp(samp_comp[0], uv, 0.0); |
| 137 | + v1_ = (_expr169 + _expr175); |
| 138 | + float _expr177 = v1_; |
| 139 | + float _expr181 = texture_array_depth[uniform_index].SampleCmp(samp_comp[uniform_index], uv, 0.0); |
| 140 | + v1_ = (_expr177 + _expr181); |
| 141 | + float _expr183 = v1_; |
| 142 | + float _expr187 = texture_array_depth[NonUniformResourceIndex(non_uniform_index)].SampleCmp(samp_comp[NonUniformResourceIndex(non_uniform_index)], uv, 0.0); |
| 143 | + v1_ = (_expr183 + _expr187); |
| 144 | + float _expr189 = v1_; |
| 145 | + float _expr195 = texture_array_depth[0].SampleCmpLevelZero(samp_comp[0], uv, 0.0); |
| 146 | + v1_ = (_expr189 + _expr195); |
| 147 | + float _expr197 = v1_; |
| 148 | + float _expr201 = texture_array_depth[uniform_index].SampleCmpLevelZero(samp_comp[uniform_index], uv, 0.0); |
| 149 | + v1_ = (_expr197 + _expr201); |
| 150 | + float _expr203 = v1_; |
| 151 | + float _expr207 = texture_array_depth[NonUniformResourceIndex(non_uniform_index)].SampleCmpLevelZero(samp_comp[NonUniformResourceIndex(non_uniform_index)], uv, 0.0); |
| 152 | + v1_ = (_expr203 + _expr207); |
| 153 | + float4 _expr209 = v4_; |
| 154 | + float4 _expr214 = texture_array_bounded[0].SampleGrad(samp[0], uv, uv, uv); |
| 155 | + v4_ = (_expr209 + _expr214); |
| 156 | + float4 _expr216 = v4_; |
| 157 | + float4 _expr219 = texture_array_bounded[uniform_index].SampleGrad(samp[uniform_index], uv, uv, uv); |
| 158 | + v4_ = (_expr216 + _expr219); |
| 159 | + float4 _expr221 = v4_; |
| 160 | + float4 _expr224 = texture_array_bounded[NonUniformResourceIndex(non_uniform_index)].SampleGrad(samp[NonUniformResourceIndex(non_uniform_index)], uv, uv, uv); |
| 161 | + v4_ = (_expr221 + _expr224); |
| 162 | + float4 _expr226 = v4_; |
| 163 | + float4 _expr232 = texture_array_bounded[0].SampleLevel(samp[0], uv, 0.0); |
| 164 | + v4_ = (_expr226 + _expr232); |
| 165 | + float4 _expr234 = v4_; |
| 166 | + float4 _expr238 = texture_array_bounded[uniform_index].SampleLevel(samp[uniform_index], uv, 0.0); |
| 167 | + v4_ = (_expr234 + _expr238); |
| 168 | + float4 _expr240 = v4_; |
| 169 | + float4 _expr244 = texture_array_bounded[NonUniformResourceIndex(non_uniform_index)].SampleLevel(samp[NonUniformResourceIndex(non_uniform_index)], uv, 0.0); |
| 170 | + v4_ = (_expr240 + _expr244); |
| 171 | + float4 _expr248 = v4_; |
| 172 | + texture_array_storage[0][pix] = _expr248; |
| 173 | + float4 _expr250 = v4_; |
| 174 | + texture_array_storage[uniform_index][pix] = _expr250; |
| 175 | + float4 _expr252 = v4_; |
| 176 | + texture_array_storage[NonUniformResourceIndex(non_uniform_index)][pix] = _expr252; |
| 177 | + int2 _expr253 = i2_; |
| 178 | + int _expr254 = i1_; |
| 179 | + float2 v2_ = float2((_expr253 + (_expr254).xx)); |
| 180 | + float4 _expr258 = v4_; |
| 181 | + float _expr265 = v1_; |
| 182 | + return ((_expr258 + float4(v2_.x, v2_.y, v2_.x, v2_.y)) + (_expr265).xxxx); |
| 183 | +} |
0 commit comments