SamplerComparisonState arg_0 : register(s0, space1);

void ignore_b469af() {
  arg_0;
}

struct tint_symbol {
  float4 value : SV_Position;
};

tint_symbol vertex_main() {
  ignore_b469af();
  const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
  return tint_symbol_1;
}

void fragment_main() {
  ignore_b469af();
  return;
}

[numthreads(1, 1, 1)]
void compute_main() {
  ignore_b469af();
  return;
}
