D3D11: implement image load/store format reinterpretation. Reinterpretation requires all UAV textures to be in a TYPELESS format. Implement an ensureUnorderedAccess() that converts the texture's storage to one with the D3D11_BIND_UNORDERED_ACCESS flag, which, prior to this change, was set unconditionally for all textures in an >= ES 3.1 context. If this flag is set at D3D texture creation time, use the appropriate TYPELESS format. Implementation uses a BindFlags struct, which subsumes the existing renderTarget for clarity. Factor out the relevant bits of ensureRenderTarget() into an ensureBindFlags() helper function, and make ensureRenderTarget() and ensureUnorderedAccess() wrappers around it. Add the corresponding typeless formats to the texture format table. Bug: angleproject:7501, angleproject:7520 Change-Id: Id21b9db3229aceca121da6ba6507704417034ec4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780588 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>