Reland "GraphiteDawn: use dawn's LoadResolveTexture extension." x2

This is a reland of commit 6165e26f33aca1de3e6d87674113174b7153a136

What're changed:
- Include "load-resolve-to-msaa" bit flag in graphics pipeline keys.
The chromium test failures were caused by a cached pipeline being
returned but not compatible with the current render pass.

Original change's description:
> Reland "GraphiteDawn: use dawn's LoadResolveTexture extension."
>
> This is a reland of commit cb016dd7154aa0d8fd8a178d9f830ea3ba8f2a4b
>
> What're changed:
> - Restructure DawnCaps to avoid EMSCRIPTEN #ifdef
> - Use MultisampleStateExpandResolveTextureDawn chained struct
> to create graphics pipeline that is compatible with a render pass
> loading a resove texture.
>
> Original change's description:
> > GraphiteDawn: use dawn's LoadResolveTexture extension.
> >
> > This extension allows loading the resolve texture to MSAA texture
> > using a load op. The MSAA texture's memory will be controlled by
> > graphite unlike the old MSAARenderToSingleSampled feature.
> >
> > Bug: b/258652999
> > Change-Id: I3f537e278bd7787afc7404e611518cfa75136379
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/849496
> > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
>
> Bug: b/258652999
> Change-Id: I8b4c4b4392256b509505cfca6116de2c4ce19178
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/853476
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Bug: b/258652999
Change-Id: I631195b2883b0414099df03a6f625509b718fb8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/855616
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
7 files changed