[cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:color_space_conversion:*]
  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="display-p3";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="display-p3";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="bgra8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="r8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rg8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgb10a2unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba16float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba32float";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm";dstPremultiplied=true;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=false;srcDoFlipYDuringCopy=true]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=false]

  [:srcColorSpace="srgb";dstColorSpace="srgb";dstColorFormat="rgba8unorm-srgb";dstPremultiplied=true;srcDoFlipYDuringCopy=true]


[cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_2d_context_canvas:*]
  implementation-status: backlog
  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]


[cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_bitmaprenderer_context_canvas:*]
  implementation-status: backlog
  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="offscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="bgra8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="r8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rg8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgb10a2unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba16float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba32float";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";dstColorFormat="rgba8unorm-srgb";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL


[cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_gl_context_canvas:*]
  tags: [webgpu, webgpu-long]
  implementation-status: backlog
  expected:
    if os == "linux": TIMEOUT
    if os == "mac" and debug: TIMEOUT
    if os == "mac" and not debug: [OK, TIMEOUT]
  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [FAIL, TIMEOUT, NOTRUN]
      if os == "mac": FAIL

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="offscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux" and debug: [TIMEOUT, NOTRUN]
      if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]
      if os == "mac" and debug: [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="offscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "linux": [TIMEOUT, NOTRUN]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="bgra8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="r8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rg8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgb10a2unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected: FAIL

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba16float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba32float";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=false;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]

  [:canvasType="onscreen";contextName="webgl2";dstColorFormat="rgba8unorm-srgb";srcPremultiplied=true;dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]


[cts.https.html?q=webgpu:web_platform,copyToTexture,canvas:copy_contents_from_gpu_context_canvas:*]
  implementation-status: backlog
  expected:
    if debug: CRASH
  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="offscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=false;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="bgra8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="r8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rg8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgb10a2unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba16float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba32float";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="opaque";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=false]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL

  [:canvasType="onscreen";srcAndDstInSameGPUDevice=true;dstColorFormat="rgba8unorm-srgb";srcAlphaMode="premultiplied";dstAlphaMode="premultiplied";srcDoFlipYDuringCopy=true]
    expected:
      if os == "win": FAIL
      if os == "linux" and not debug: FAIL
      if os == "mac" and not debug: FAIL
