Fix D3D11 DXGI format info tables
- Treat red/green views into depth/stencil formats as being red/green.
- Sort all AddDXGIFormat calls in a similar way and remove duplicate
AddDXGIFormat calls.
- Add info on typeless formats.
These changes are needed to make it possible to change integer texture
DXGI formats. Native mipmap generation support will still be
determined by querying the DXGI format info table with the texture
storage format, so the TYPELESS formats will need entries there.
The changes to format info used for depth/stencil formats will not
affect existing uses of GetDXGIFormatInfo:
- In Clear11.cpp, info is queried for rtvFormat and dsvFormat. Info
for possible values of rtvFormat and dsvFormat is not changed.
- In Renderer11::blitRenderbufferRect, info is queried for rtvFormat
and dsvFormat.
- In Renderer11::packPixels, GetDXGIFormaInfo is used to get a
fast-copy function. The function only exists for conversion from
BGRA to RGBA, so the changes do not affect this.
- In Renderer11::getVertexComponentType, the component type is
queried for vertex formats. The formats that might be queried here
are SINT, SNORM, UINT, UNORM, or FLOAT formats with regular RGBA
fields. Info is not changed for these.
- In TextureStorage11_Cube::createSRV, the SRV or blitSRV format is
queried for whether it has integer on unsigned integer channels.
This will not be affected by the changes done to the format table.
This change does not enable native mipmap generation for any new
formats to avoid any possible regressions.
BUG=angleproject:1244
TEST=angle_end2end_tests,
dEQP-GLES3.functional.texture.mipmap.* (no regressions),
dEQP-GLES3.functional.fbo.* (no regressions)
Change-Id: Ic5ed731ddf153ae97bce631b1634347f8d9ae75c
Reviewed-on: https://chromium-review.googlesource.com/329690Reviewed-by:
Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment