RWTexture2DArray<float4> t_rgba8unorm : register(u0);
RWTexture2DArray<float4> t_rgba8snorm : register(u1);
RWTexture2DArray<uint4> t_rgba8uint : register(u2);
RWTexture2DArray<int4> t_rgba8sint : register(u3);
RWTexture2DArray<uint4> t_rgba16uint : register(u4);
RWTexture2DArray<int4> t_rgba16sint : register(u5);
RWTexture2DArray<float4> t_rgba16float : register(u6);
RWTexture2DArray<uint4> t_r32uint : register(u7);
RWTexture2DArray<int4> t_r32sint : register(u8);
RWTexture2DArray<float4> t_r32float : register(u9);
RWTexture2DArray<uint4> t_rg32uint : register(u10);
RWTexture2DArray<int4> t_rg32sint : register(u11);
RWTexture2DArray<float4> t_rg32float : register(u12);
RWTexture2DArray<uint4> t_rgba32uint : register(u13);
RWTexture2DArray<int4> t_rgba32sint : register(u14);
RWTexture2DArray<float4> t_rgba32float : register(u15);

[numthreads(1, 1, 1)]
void main() {
  uint3 tint_tmp;
  t_rgba8unorm.GetDimensions(tint_tmp.x, tint_tmp.y, tint_tmp.z);
  uint2 dim1 = tint_tmp.xy;
  uint3 tint_tmp_1;
  t_rgba8snorm.GetDimensions(tint_tmp_1.x, tint_tmp_1.y, tint_tmp_1.z);
  uint2 dim2 = tint_tmp_1.xy;
  uint3 tint_tmp_2;
  t_rgba8uint.GetDimensions(tint_tmp_2.x, tint_tmp_2.y, tint_tmp_2.z);
  uint2 dim3 = tint_tmp_2.xy;
  uint3 tint_tmp_3;
  t_rgba8sint.GetDimensions(tint_tmp_3.x, tint_tmp_3.y, tint_tmp_3.z);
  uint2 dim4 = tint_tmp_3.xy;
  uint3 tint_tmp_4;
  t_rgba16uint.GetDimensions(tint_tmp_4.x, tint_tmp_4.y, tint_tmp_4.z);
  uint2 dim5 = tint_tmp_4.xy;
  uint3 tint_tmp_5;
  t_rgba16sint.GetDimensions(tint_tmp_5.x, tint_tmp_5.y, tint_tmp_5.z);
  uint2 dim6 = tint_tmp_5.xy;
  uint3 tint_tmp_6;
  t_rgba16float.GetDimensions(tint_tmp_6.x, tint_tmp_6.y, tint_tmp_6.z);
  uint2 dim7 = tint_tmp_6.xy;
  uint3 tint_tmp_7;
  t_r32uint.GetDimensions(tint_tmp_7.x, tint_tmp_7.y, tint_tmp_7.z);
  uint2 dim8 = tint_tmp_7.xy;
  uint3 tint_tmp_8;
  t_r32sint.GetDimensions(tint_tmp_8.x, tint_tmp_8.y, tint_tmp_8.z);
  uint2 dim9 = tint_tmp_8.xy;
  uint3 tint_tmp_9;
  t_r32float.GetDimensions(tint_tmp_9.x, tint_tmp_9.y, tint_tmp_9.z);
  uint2 dim10 = tint_tmp_9.xy;
  uint3 tint_tmp_10;
  t_rg32uint.GetDimensions(tint_tmp_10.x, tint_tmp_10.y, tint_tmp_10.z);
  uint2 dim11 = tint_tmp_10.xy;
  uint3 tint_tmp_11;
  t_rg32sint.GetDimensions(tint_tmp_11.x, tint_tmp_11.y, tint_tmp_11.z);
  uint2 dim12 = tint_tmp_11.xy;
  uint3 tint_tmp_12;
  t_rg32float.GetDimensions(tint_tmp_12.x, tint_tmp_12.y, tint_tmp_12.z);
  uint2 dim13 = tint_tmp_12.xy;
  uint3 tint_tmp_13;
  t_rgba32uint.GetDimensions(tint_tmp_13.x, tint_tmp_13.y, tint_tmp_13.z);
  uint2 dim14 = tint_tmp_13.xy;
  uint3 tint_tmp_14;
  t_rgba32sint.GetDimensions(tint_tmp_14.x, tint_tmp_14.y, tint_tmp_14.z);
  uint2 dim15 = tint_tmp_14.xy;
  uint3 tint_tmp_15;
  t_rgba32float.GetDimensions(tint_tmp_15.x, tint_tmp_15.y, tint_tmp_15.z);
  uint2 dim16 = tint_tmp_15.xy;
  return;
}
