[cts.https.html?q=webgpu:shader,validation,shader_io,group_and_binding:binding_attributes:*]
  implementation-status: backlog
  expected:
    if os == "win" and debug: [OK, TIMEOUT]
    if os == "win" and not debug: TIMEOUT
    if os == "linux": TIMEOUT
    if os == "mac": TIMEOUT
  [:stage="compute";has_group=false;has_binding=false;resource="sampler"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="storage"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_external"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=false;resource="uniform"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="sampler"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="storage"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_external"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=false;has_binding=true;resource="uniform"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="sampler"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="storage"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_external"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=false;resource="uniform"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="sampler"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="storage"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_external"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";has_group=true;has_binding=true;resource="uniform"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="sampler"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="storage"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_external"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=false;resource="uniform"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="sampler"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="storage"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_external"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=false;has_binding=true;resource="uniform"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="sampler"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="storage"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_external"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=false;resource="uniform"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="sampler"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="storage"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_external"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="fragment";has_group=true;has_binding=true;resource="uniform"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="sampler"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="storage"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_cube_array"]
    expected:
      if os == "win": [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_external"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=false;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=false;resource="uniform"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";has_group=false;has_binding=true;resource="sampler"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="storage"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_external"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=false;has_binding=true;resource="uniform"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="sampler"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="storage"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_external"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=false;resource="uniform"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="sampler"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="sampler_comparison"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="storage"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_depth_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_depth_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_depth_cube"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_depth_cube_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_depth_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_external"]
    expected: FAIL

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_multisampled_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_storage_1d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_storage_2d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_storage_2d_array"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="texture_storage_3d"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:stage="vertex";has_group=true;has_binding=true;resource="uniform"]
    expected:
      if os == "win" and debug: [PASS, FAIL]


[cts.https.html?q=webgpu:shader,validation,shader_io,group_and_binding:different_entry_points:*]
  implementation-status: backlog
  expected:
    if os == "win" and debug: [OK, TIMEOUT]
    if os == "win" and not debug: TIMEOUT
    if os == "linux": TIMEOUT
    if os == "mac": TIMEOUT
  [:a_stage="compute";b_stage="compute";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="compute";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="fragment";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected: [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="compute";b_stage="vertex";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux": [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="compute";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="fragment";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="fragment";b_stage="vertex";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="fragment";b_stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="fragment";b_stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: FAIL
      if os == "mac": [FAIL, TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="fragment";b_stage="vertex";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:a_stage="vertex";b_stage="compute";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="compute";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="compute";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="compute";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="compute";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="fragment";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="fragment";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected: FAIL

  [:a_stage="vertex";b_stage="vertex";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected: FAIL

  [:a_stage="vertex";b_stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: [PASS, FAIL]

  [:a_stage="vertex";b_stage="vertex";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: [PASS, FAIL]


[cts.https.html?q=webgpu:shader,validation,shader_io,group_and_binding:function_scope:*]
  [:]


[cts.https.html?q=webgpu:shader,validation,shader_io,group_and_binding:function_scope_texture:*]
  [:]


[cts.https.html?q=webgpu:shader,validation,shader_io,group_and_binding:private_function_scope:*]
  [:]


[cts.https.html?q=webgpu:shader,validation,shader_io,group_and_binding:private_module_scope:*]
  [:]


[cts.https.html?q=webgpu:shader,validation,shader_io,group_and_binding:single_entry_point:*]
  implementation-status: backlog
  expected:
    if os == "win" and not debug: [OK, TIMEOUT]
    if os == "linux": [OK, TIMEOUT]
  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac": [TIMEOUT, NOTRUN]

  [:stage="compute";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="compute";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux" and debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and not debug: [PASS, TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [FAIL, TIMEOUT, NOTRUN]
      if os == "linux" and debug: FAIL
      if os == "linux" and not debug: [TIMEOUT, NOTRUN]
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if debug: FAIL
      if not debug: [TIMEOUT, NOTRUN]

  [:stage="fragment";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="fragment";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="storage";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="storage";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_2d";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="texture_external";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected: FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected: FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_3d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [FAIL, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="uniform";b_kind="texture_storage_1d";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=0;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=0;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=0;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=0;b_binding=3;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="direct"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=0;usage="transitive"]
    expected:
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="direct"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";a_group=3;b_group=3;a_binding=3;b_binding=3;usage="transitive"]
    expected:
      if os == "win": FAIL
      if os == "linux": FAIL
      if os == "mac" and debug: FAIL
      if os == "mac" and not debug: [TIMEOUT, NOTRUN]

  [:stage="vertex";a_kind="uniform";b_kind="uniform";usage="direct"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL

  [:stage="vertex";a_kind="uniform";b_kind="uniform";usage="transitive"]
    expected:
      if os == "win" and debug: FAIL
      if os == "win" and not debug: [PASS, FAIL]
      if os == "linux": [PASS, FAIL]
      if os == "mac": FAIL
