|
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>
|
|
9d737966
|
2019-08-14T12:25:12
|
|
Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
"The ANGLE Project Authors"
These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.
BUG=angleproject:3811
Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
acf2f3ad
|
2017-11-21T19:22:44
|
|
Apply Chromium style fixes.
This addresses several minor code quality issues that are validated
in Chromium, but not yet applied to ANGLE:
* constructors and destructors must be defined out-of-line
* auto is not allowed for simple pointer types
* use override everywhere instead of virtual
* virtual functions must also be defined out-of-line
Slightly reduces binary size for me (~2k on Win, 150k on Linux).
Bug: angleproject:1569
Change-Id: I073ca3365188caf5f29fb28d9eb207903c1843e6
Reviewed-on: https://chromium-review.googlesource.com/779959
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6d94f064
|
2017-10-21T22:19:40
|
|
Add more complete NULL driver for the GL back-end.
This implements a NULL driver in OpenGL by stubbing out most of the
GL functions in FunctionsGL except a few static "Gets" that are needed
for initialization with Chromium and the tests. It is intended to be
used for performance testing ONLY and will not have correct behaviour.
It also adds a define to enable conditionally excluding the null entry
points for implementations that wish to save on a bit of binary size.
Also fixes some of the typedefs in functionsgl_typesdefs.h that were
turned up after implementing the direct assignment from NULL stub
entry point, generated from gl.xml, to the function pointer with type
defined from functionsgl_typedefs.h.
BUG=angleproject:2188
Change-Id: Ifa1e4739cb471ab6b52a4bf24c16d9eb4b334ac5
Reviewed-on: https://chromium-review.googlesource.com/727530
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
29ddcc99
|
2017-10-21T16:10:02
|
|
Add an auto-generated dispatch table for GL bindings.
This will more easily allow us to extend our implementation to make a
NULL or "stub" set of bindings. It also exposes a lot more function
permutations via extension variations.
It might improve the loading speed for bindings obtained via
extensions. Instead of generating a list every time an extension is
checked, we use a single std::set for a fast query. However because
more extensions are checked for more entry points, it might not make
a huge difference.
This also fixes an issue where the "real" ANGLE GL headers were being
propagated to the entry point dispatch table definitions, instead of
being in a totally isolated file. This patch adds the missing typedefs
to our proxy headers.
It also fixes the naming of a few entry points which was inconsistent
with the spec. It also makes an XML adjustment to GL_NV_path_rendering
to accomodate a hole in the spec where glLoadMatrixfEXT was not ever
defined in OpenGL ES. A spec oddity with the TexStorage extension is
not resolved - in this case, some methods are only exposed if other
extensions are present, but this information is missing from gl.xml.
BUG=angleproject:2188
Change-Id: I0fd61dd32de6fadd55fa6bd79295833392d51104
Reviewed-on: https://chromium-review.googlesource.com/726949
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
50c562de
|
2017-06-06T14:43:30
|
|
Re-land: Don't expose non-conformant multisampling modes on GL
Re-landing with a fallback for failed internal format queries to work
around issue seen on Shield TV. Also fixed wrong handling of integer
RG formats in isRequiredRenderbufferFormat.
Some NVIDIA GL drivers expose non-conformant multisampling modes. The
conformance of multisampling modes can be queried using the extension
NV_internalformat_sample_query. Use it to filter out the
non-conformant modes from the modes that are exposed by ANGLE.
The MAX_SAMPLES value and other similar values stored in caps also
need to be lowered to match the maximum number of samples exposed
for required formats.
There seems to be an NVIDIA driver bug related to querying
STENCIL_INDEX8 multisample format. Work around this by querying
DEPTH24_STENCIL8 instead.
There's also some confusion around whether RGB9_E5 should be
renderable. Once the floating point texture extensions got rolled
into the core GL spec, it was eventually made clear that RGB9_E5
is intended not to be renderable. The extension specs that predate
float textures in the core spec do suggest that it would be
renderable, but in practice drivers that advertise the extension
strings don't reliably implement RGB9_E5 as renderable. Solve this
by disabling it as a renderable format and adding an explanatory
comment.
BUG=chromium:682815
TEST=angle_end2end_tests,
dEQP-GLES31.functional.state_query.internal_format.renderbuffer.*
Change-Id: I727f03045a1534d6764b571e6d839243705d25b3
Reviewed-on: https://chromium-review.googlesource.com/551957
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c8a8b843
|
2017-06-28T01:16:41
|
|
Revert "Don't expose non-conformant multisampling modes on GL"
This reverts commit 3cd0dd370f08e7126fe19b761206280c64f80cd1.
Reason for revert: crashes on NVIDIA Shield TV
https://build.chromium.org/p/chromium.gpu.fyi/builders/Android%20Release%20%28NVIDIA%20Shield%20TV%29/builds/1816
Original change's description:
> Don't expose non-conformant multisampling modes on GL
>
> Some NVIDIA GL drivers expose non-conformant multisampling modes. The
> conformance of multisampling modes can be queried using the extension
> NV_internalformat_sample_query. Use it to filter out the
> non-conformant modes from the modes that are exposed by ANGLE.
>
> The MAX_SAMPLES value and other similar values stored in caps also
> need to be lowered to match the maximum number of samples exposed
> for required formats.
>
> There seems to be an NVIDIA driver bug related to querying
> STENCIL_INDEX8 multisample format. Work around this by querying
> DEPTH24_STENCIL8 instead.
>
> There's also some confusion around whether RGB9_E5 should be
> renderable. Once the floating point texture extensions got rolled
> into the core GL spec, it was eventually made clear that RGB9_E5
> is intended not to be renderable. The extension specs that predate
> float textures in the core spec do suggest that it would be
> renderable, but in practice drivers that advertise the extension
> strings don't reliably implement RGB9_E5 as renderable. Solve this
> by disabling it as a renderable format and adding an explanatory
> comment.
>
> BUG=chromium:682815
> TEST=angle_end2end_tests,
> dEQP-GLES31.functional.state_query.internal_format.renderbuffer.*
>
> Change-Id: I2218e3a23ea7b48a0615fea77a91897dc7d5fe9e
> Reviewed-on: https://chromium-review.googlesource.com/525515
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,oetuaho@nvidia.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:682815
Change-Id: I1ebdf52c3fab1526f5a561ac4c8555e305ef2243
Reviewed-on: https://chromium-review.googlesource.com/551164
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
3cd0dd37
|
2017-06-06T14:43:30
|
|
Don't expose non-conformant multisampling modes on GL
Some NVIDIA GL drivers expose non-conformant multisampling modes. The
conformance of multisampling modes can be queried using the extension
NV_internalformat_sample_query. Use it to filter out the
non-conformant modes from the modes that are exposed by ANGLE.
The MAX_SAMPLES value and other similar values stored in caps also
need to be lowered to match the maximum number of samples exposed
for required formats.
There seems to be an NVIDIA driver bug related to querying
STENCIL_INDEX8 multisample format. Work around this by querying
DEPTH24_STENCIL8 instead.
There's also some confusion around whether RGB9_E5 should be
renderable. Once the floating point texture extensions got rolled
into the core GL spec, it was eventually made clear that RGB9_E5
is intended not to be renderable. The extension specs that predate
float textures in the core spec do suggest that it would be
renderable, but in practice drivers that advertise the extension
strings don't reliably implement RGB9_E5 as renderable. Solve this
by disabling it as a renderable format and adding an explanatory
comment.
BUG=chromium:682815
TEST=angle_end2end_tests,
dEQP-GLES31.functional.state_query.internal_format.renderbuffer.*
Change-Id: I2218e3a23ea7b48a0615fea77a91897dc7d5fe9e
Reviewed-on: https://chromium-review.googlesource.com/525515
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
57ce9ea2
|
2016-11-24T12:03:14
|
|
Implement EXT_discard_framebuffer for the GL backend.
BUG=angleproject:1634
Change-Id: I3822b99b59d4653e4d9a2c1d3dd16734f2050fae
Reviewed-on: https://chromium-review.googlesource.com/414437
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f7417801
|
2016-10-12T17:59:31
|
|
FramebufferGL: only work around SRGB blits on Desktop GL
BUG=angleproject:1492
Change-Id: I6c210243dffb775efd61c33160dabcbf7406a757
Reviewed-on: https://chromium-review.googlesource.com/397798
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
46eaa946
|
2016-06-29T10:26:37
|
|
Support CHROMIUM_path_rendering fragment operations
This brings two new APIs, BindFragmentInputLocation and
ProgramPathFragmentInputGen that together dictate how the
fragment shader varyings are used.
BUG=angleproject:1382
Change-Id: I4b52fd8a3555235a73aecd4f3dba2d500789cbb0
Reviewed-on: https://chromium-review.googlesource.com/357071
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
d59ca052
|
2016-06-21T16:10:00
|
|
Support instanced CHROMIUM_path_rendering
This implements instanced path rendering.
BUG=angleproject:1382
Change-Id: I4654251882975d707b22c7bb522af14ae34eb1a1
Reviewed-on: https://chromium-review.googlesource.com/355401
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
e45e53bd
|
2016-05-25T10:36:04
|
|
Support CHROMIUM_path_rendering
This is partial support for CHROMIUM_path_rendering
and implements basic path management and non-instanced
rendering.
BUG=angleproject:1382
Change-Id: I9c0e88183e0a915d522889323933439d25b45b5f
Reviewed-on: https://chromium-review.googlesource.com/348630
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a797e066
|
2016-05-12T15:23:40
|
|
Support CHROMIUM_framebuffer_mixed_samples in the GL backend
BUG=angleproject:1378
Change-Id: I634c41f3507dbdeaa56234c4de1b498f81c848ed
Reviewed-on: https://chromium-review.googlesource.com/344520
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
9d81989d
|
2016-01-22T16:56:04
|
|
Add GL_OES_EGL_image functions.
Needed to work on Chrome OS.
BUG=angleproject:1297
Change-Id: I78e18472780745f73257c8954f263d236ff92180
Reviewed-on: https://chromium-review.googlesource.com/323470
Tryjob-Request: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
b2d9ab67
|
2016-01-20T10:50:09
|
|
Update FunctionsGL to load OpenGL ES entry points.
BUG=angleproject:1145
BUG=angleproject:879
Change-Id: I04eb900df28909f97469691a6c05a6af775d7465
Reviewed-on: https://chromium-review.googlesource.com/322693
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8b0f0b3b
|
2015-07-20T15:59:28
|
|
Add a profile mask member to the FunctionsGL structure.
BUG=angleproject:883
Change-Id: I3cdf88391e77a26a77e120de0fd32296a2b079d1
Reviewed-on: https://chromium-review.googlesource.com/286822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
464a6b8b
|
2015-06-15T21:25:28
|
|
Revert "Enable point sprites in StateManagerGL."
Speculative fix for failures on the AMD FYI bot.
This reverts commit 67e04be12dda07ac9b37798558e842f50bd42776.
Change-Id: Ia57e3c800a6ff9e81e31bf5b37a95e97460ceda4
Reviewed-on: https://chromium-review.googlesource.com/277681
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
67e04be1
|
2015-06-08T11:05:40
|
|
Enable point sprites in StateManagerGL.
Fixes:
* conformance/rendering/point-size.html
* conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
* PointSpritesTest
* particle_system sample
BUG=angleproject:883
Change-Id: Idb3352fa916cf08817496f0a8425c95ece9bfa49
Reviewed-on: https://chromium-review.googlesource.com/275860
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
862c0ba4
|
2015-05-25T15:31:16
|
|
Implement the remaining caps queries.
Limit the supported ES version based on these caps.
BUG=angleproject:879
Change-Id: If3a097576465b33af0015fcb28dab10e88fdc4d9
Reviewed-on: https://chromium-review.googlesource.com/273160
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
08dcfed6
|
2015-05-25T13:38:42
|
|
Encapsulate GL version and standard into a struct and enum.
Change-Id: I9f51971c1bfd51424605b2687b5fd107d58c9a67
Reviewed-on: https://chromium-review.googlesource.com/273139
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/273572
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
51d4f044
|
2015-05-27T21:10:42
|
|
Revert "Encapsulate GL version and standard into a struct and enum."
Linux didn't like compiling this.
This reverts commit 03f589122ed796060f1345f9ccfc64455c547fef.
Change-Id: Ifd0824caeb02791b4acc5e4bca330ecdc8164b11
Reviewed-on: https://chromium-review.googlesource.com/273583
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
03f58912
|
2015-05-25T13:38:42
|
|
Encapsulate GL version and standard into a struct and enum.
Change-Id: Ib3c37627298976040d5a333f4c845a7b2620dd30
Reviewed-on: https://chromium-review.googlesource.com/273139
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f34d1db9
|
2015-05-20T14:10:46
|
|
Add table entries for almost all the remaining GL texture formats.
BUG=angleproject:884
BUG=angleproject:967
Change-Id: I113757dd9e1fae8fe0241a7286be979a90891b53
Reviewed-on: https://chromium-review.googlesource.com/270275
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/273135
|
|
859dcb88
|
2015-05-25T15:12:54
|
|
Revert "Add table entries for almost all the remaining GL texture formats."
Missing include of <limits> for linux.
This reverts commit aa3a5fadebb2bad0be07eb2963a9d23f901c4c49.
Change-Id: Iafebfbc6154b4fe3a94e3f8b91b5ff496631c1f1
Reviewed-on: https://chromium-review.googlesource.com/273134
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aa3a5fad
|
2015-05-20T14:10:46
|
|
Add table entries for almost all the remaining GL texture formats.
BUG=angleproject:884
BUG=angleproject:967
Change-Id: I0b05841272f4410c33ee4e4c3654846f07b7c39b
Reviewed-on: https://chromium-review.googlesource.com/270275
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b80360f1
|
2015-05-04T15:01:31
|
|
Load the KHR_debug extension entry points and print debug messages.
Change-Id: If1b64a7d5cc80205683062586a56fb50da6c1a21
Reviewed-on: https://chromium-review.googlesource.com/269143
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b11ad26b
|
2015-04-09T14:43:34
|
|
Implement FenceNVGL.
BUG=angleproject:888
Change-Id: Iea6993fe5459cf829f4bd23b0df5e223f22903f5
Reviewed-on: https://chromium-review.googlesource.com/264989
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a4903b70
|
2015-03-02T16:02:48
|
|
Support multisampled framebuffers with the GL backend.
Move validation of sample counts into the Renderbuffer implementations
because the exact supported sample counts are not always known.
BUG=angleoproject:886
Change-Id: I9c90d9d435e940b852343a29a6aa11d6cb1ad23b
Reviewed-on: https://chromium-review.googlesource.com/255513
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f0d10f89
|
2015-03-31T12:56:52
|
|
Replace non-copyable macro with a helper class.
This class provides a simpler scheme for blocking default copy
and assignment operators. It also reduces the amount of code
needed since it's inherited to child classes. This also fixes
the conflict between our macro and the same-named macro in
Chromium code.
BUG=angleproject:956
Change-Id: If0dc72aa3f63fbc7b8fa34907418821c64c39e2f
Reviewed-on: https://chromium-review.googlesource.com/263257
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
56cf9af2
|
2015-02-17T10:16:49
|
|
Add a FunctionsGL class for loading GL entry points.
BUG=angle:879
Change-Id: I35384f078d2ed86a6c72cc243753b56bc58617b0
Reviewed-on: https://chromium-review.googlesource.com/250390
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|