Hash :
2d87c31d
Author :
Date :
2023-08-09T07:47:20
Revert "Metal: initialize std::arrays in mtl_render_utils" This reverts commit c40d31b02690788cf61f93d71bbe094ddbb1a004. Reason for revert: Invalid rationale, it does not solve the problem. std::array does run the default constructors of the AutoObjCPtrs held in them. Original change's description: > Metal: initialize std::arrays in mtl_render_utils > > The std::array default constructor does not initialize the memory. > This leads to uninitialized access in mtl_render_utils *Utils. > > Fix by initializing them. > > Bug: angleproject:8293 > Change-Id: I597df067f3c19907a038bb4899a178734158302c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4756783 > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:8293 Change-Id: Ibacacd70fc196b5ecb3d0bc971d6565f7f578d4c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4765207 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
This folder contains shared back-end-specific implementation files. The classes
and types in renderer are not specified by GLES. They instead are common to
all the various ANGLE implementations.
See renderer_utils.h for various cross back-end utilties.
The ANGLE format class, angle::Format, works as a union
between GLES and all the various back-end formats. It can represent any type
of format in ANGLE. e.g. Formats in Vulkan that don’t exist in GLES, or DXGI
formats that don’t exist in GLES, or Windows/Android surface configs that
don’t exist anywhere else.
The glInternalFormat member of angle::Format represents the “closest” GL
format for an ANGLE format. For formats that don’t exist in GLES this will
not be exactly what the format represents.
The back-ends also define their own format tables. See the Vulkan Format table docs and the [D3D11 format table docs][D23D11FormatDocs].
DXGI formats are used in both the GL and D3D11 back-end. Therefore the generated info table lives in this common shared location.
The DXGI info table is generated by gen_dxgi_format_table.py
and sources data from dxgi_format_data.json. The
main purpose of the table is to convert from a DXGI format to an ANGLE
format, where the ANGLE format should have all the necessary information.