
RWByteAddressBuffer prevent_dce : register(u0);
RWTexture1D<float4> arg_0 : register(u0, space1);
float4 textureLoad_35a5e2() {
  int arg_1 = 1;
  RWTexture1D<float4> v = arg_0;
  float4 res = float4(v.Load(int2(int(arg_1), 0)));
  return res;
}

void fragment_main() {
  prevent_dce.Store4(0u, asuint(textureLoad_35a5e2()));
}

[numthreads(1, 1, 1)]
void compute_main() {
  prevent_dce.Store4(0u, asuint(textureLoad_35a5e2()));
}

