|
c9955641
|
2023-09-25T14:31:01
|
|
Avoid malloc in angle::Mat4 by using array instead of vector
angle::Matrix<float>::inverse() showed up in cpu profile of "minetest"
trace at ~10%. It's a gles1 trace. Multiple objects are constructed
and require malloc due to the use of std::vector.
Called here:
https://crsrc.org/c/third_party/angle/src/libANGLE/GLES1Renderer.cpp;drc=eb0d59973d21f845b5785563f5d56b8ebb617478;l=371
This CL decouples Mat4 from angle::Matrix (some of the functionality had
to be copied over) to switch from std::vector to std::array.
Testing "minetest" on a phone I saw a ~20% cpu power improvement due to
this CL.
There is an existing unit test coverage: MatrixUtilsTest.Mat4InvTr
Moved 4x4 cofactor matrix code to a helper with transposition included
Bug: b/301977186
Change-Id: I1e4c2201d19759dd37c0fee44fb44f4d24a58a6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4885501
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
e815afbf
|
2020-09-07T22:09:22
|
|
First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code
Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
|
|
7098cff5
|
2019-01-15T18:33:42
|
|
Make BUILD.gn targets into templates.
This allows us to "globally" add and remove certain configs as long as
we use the new templates. This simplifies the logic of adding configs
for stuff like extra warnings and default include dirs. As well it
simplifies removing certain common unwanted configs.
Generally simplifies the logic in BUILD.gn. Will allow for easily
suppressing the clang-plugins config instead of using a global setting
in .gn. Then we can enable the additional warnings config-by-config.
Also fixes some warnings that turned up after we enabled the extra
warnings config in our tests. Also moves the dEQP tests main to be
consistent with the other test main files.
Bug: angleproject:3069
Change-Id: I5a8166cd0f5a7926822c171fcaf473fc86b3ffc1
Reviewed-on: https://chromium-review.googlesource.com/c/1409871
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a41af64
|
2018-04-09T07:28:56
|
|
GLES1: glLoadIdentity / glLoadMatrix(f|x)
BUG=angleproject:2306
Change-Id: I46fe961e6eb87b2f41c39afe1e943d9146a0abfa
Reviewed-on: https://chromium-review.googlesource.com/1002913
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
710aa5c7
|
2018-02-08T10:57:55
|
|
GLES1: Mat4 transform library
GLES1 has functions like glFrustum / glTranslatef which are baked 4x4
matrix operations. The purpose of this CL is to add those operations as
library functions in ANGLE, to make it convenient later on.
This is inspired by GLM and tested against GLM-generated numbers.
BUG=angleproject:2306
Change-Id: I3b428a115a935ee4f0d00585ad38745a38cc128c
Reviewed-on: https://chromium-review.googlesource.com/909578
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4d61f7ed
|
2015-08-12T10:56:50
|
|
Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
Additional warnings found with more testing and added C4267 warning disable only for angle_libpng
BUG=angleproject:1120
Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb
Reviewed-on: https://chromium-review.googlesource.com/293028
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7fa3355f
|
2015-06-10T15:15:18
|
|
Add constant folding support for matrix built-ins
This change adds constant folding support for following matrix
built-ins:
- matrixCompMult, outerProduct, transpose, determinant and
inverse.
BUG=angleproject:913
TEST=angle_unittests(new: MatrixUtilsTest, ConstantFoldingTest.*Matrix*),
dEQP Tests:
dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix.*
(All 54 tests started passing with this change)
Change-Id: I7b9bf04b9a2cbff72c48216cab04df58c5f008d6
Reviewed-on: https://chromium-review.googlesource.com/276574
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|