|   | de09f8db | 2021-09-02T18:21:37 |  | Revert "GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY"
This reverts commit 4b5a774e855af2493d64b0635f56053bd795c5c5.
Reason for revert: broken on iOS and Skia
Original change's description:
> GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY
>
> Bug: angleproject:3020
> Change-Id: Iff460a1012d06e1c5feff84d91117de87e7c870a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123167
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:3020
Change-Id: I54d81a7b734d007f65ff97990008f5e6eb8536f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140453
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 4b5a774e | 2020-04-03T14:56:36 |  | GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY
Bug: angleproject:3020
Change-Id: Iff460a1012d06e1c5feff84d91117de87e7c870a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123167
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org> | 
            
              |   | f3bccd9d | 2021-08-26T18:04:13 |  | Revert "GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY"
This reverts commit 8d7f4cc986778bfff0b242dbea6083346da6c54d.
Reason for revert: Broke CrOS build.
Original change's description:
> GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY
>
> Bug: angleproject:3020
> Change-Id: If60448f80daaeeb1503b41db8ac309e45923fd13
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135929
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:3020
Change-Id: I0930c1bdb5356d533fae563428893aa8a9f91a52
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3123266
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> | 
            
              |   | 8d7f4cc9 | 2020-04-03T14:56:36 |  | GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY
Bug: angleproject:3020
Change-Id: If60448f80daaeeb1503b41db8ac309e45923fd13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135929
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 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> | 
            
              |   | 7c985f5c | 2018-11-29T18:16:17 |  | Make angle::Result an enum.
This moves away from a class type to a value type. This should improve
performance when using angle::Result as a return value. Previously the
generated code would return a pointer instead of a value.
Improves performance in the most targeted microbenchmark by 10%. In
more realistic scanarios it will have a smaller improvement. Also
simplifies the class implementation and usage.
Includes some unrelated code generation changes.
Bug: angleproject:2491
Change-Id: Ifcf86870bf1c00a2f73c39ea6e4f05ca705050aa
Reviewed-on: https://chromium-review.googlesource.com/c/1356139
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 4f6592fa | 2018-11-27T16:37:45 |  | Remove gl::Error.
Removes several TODOs. Only egl::Error remains.
Also slightly decreases binary size.
Bug: angleproject:2491
Change-Id: I3a9d1c22eb0884ca9e37362463fddd0083faf826
Reviewed-on: https://chromium-review.googlesource.com/c/1337462
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> | 
            
              |   | 785e8a0b | 2018-10-04T17:42:00 |  | Remove gl::LinkResult.
Instead of returning a small struct from LinkProgram calls we use
angle::Result. Linking can have 3 cases:
- the link was successful -> angle::Result::Continue
- the link failed -> angle::Result::Incomplete
- there was an internal error -> angle::Result::Stop
Note that any unexpected Incomplete is still an error. Each function
that accepts Incomplete must check explicitly.
This is the last user of ErrorOrResult.
Bug: angleproject:2491
Change-Id: Idba23be27efe4b561720a4bdd8fe486b40779497
Reviewed-on: https://chromium-review.googlesource.com/c/1255645
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com> | 
            
              |   | 996628a4 | 2018-09-24T16:39:26 |  | Vulkan: Add support for VkPipelineCache
The cache is initialized from the application's blob cache and is
occasionally written back to it for disk storage.
Bug: angleproject:2516
Change-Id: I4cba4b00a7b9641c2983ef07159bc62cd10a5519
Reviewed-on: https://chromium-review.googlesource.com/1241373
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 
            
              |   | 6b873dd7 | 2018-07-12T23:56:30 |  | Add gl::ErrorSet and angle::Result.
gl::ErrorSet can handle errors and is accessible from ContextImpl.
It allows the implementation to mutate the error set without using
the gl::Context directly.
angle::Result is the faster POD return value class. It should generate
optimal code. It can also be used seamlessly with the ANGLE_TRY macro.
Also introduces an internal enum as a workaround for generating and
consuming errors in the back-end. When the internal enum is used as
an error return value the error is not consumed in the front-end. This
is a temporary workaround only.
Bug: angleproject:2491
Bug: angleproject:2713
Change-Id: I6cbdaadd075ccbdf241844cbcbc4ed5c3be40a8b
Reviewed-on: https://chromium-review.googlesource.com/1133200
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org> | 
            
              |   | b0e9ddb5 | 2018-05-23T11:30:04 |  | Refactor a hex streaming into a generic FmtHex function.
The length of the printed value can be determined from size of the type.
BUG=angleproject:2546
Change-Id: I39a4f9550f381dd82183f50019b3f7d117c52472
Reviewed-on: https://chromium-review.googlesource.com/1070220
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org> | 
            
              |   | ee6884e7 | 2017-11-09T16:51:11 |  | Generate generic error messages for Error objects without messages.
Makes sure that the debug output is fired for all generated errors.
BUG=783054
Change-Id: Ia30870cd950c53da892554e0862276d4be5360ac
Reviewed-on: https://chromium-review.googlesource.com/761760
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org> | 
            
              |   | c4d18aac | 2017-03-09T18:45:02 |  | Use ErrorStream everywhere
Eliminates one more usage of FormatString and its static initializer.
Add more ErrorStream types
and replace gl::Error and egl::Error with them.
BUG=angleproject:1644
Change-Id: Ib498d0ae4b81a332ec71aed7cf709993b154e6bb
Reviewed-on: https://chromium-review.googlesource.com/505429
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | d73f852f | 2017-01-13T17:48:57 |  | Reland "Replace gl::trace logging with Chromium style logging"
Removing one usage of FormatString() and its static buffer.
And preparation for Platform logging.
Fix incorrect enabling of ERR() calls in UNIMPLEMENTED() and
UNREACHABLE(), resulting in increased code size and
<iostream> adding 5 static initializers to chrome because of
cerr referenced in statically linked translator.
BUG=angleproject:1660
Change-Id: I7caa18036118d532e0544f75278602559172ae04
Reviewed-on: https://chromium-review.googlesource.com/431457
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 6a6b09c9 | 2017-01-12T21:52:29 |  | Revert "Replace gl::trace logging with Chromium style logging"
Failing Chromium static initializers check:
FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower
Possibly due to the static initializer for std::array for
the log severity types. We should change it to POD.
BUG=angleproject:1660
This reverts commit afcc41cee4ff63e7f6c9e60e55fc061adbba7dd4.
Change-Id: Ifb362a4af78542608397c7a0b19e6afe076f2cf3
Reviewed-on: https://chromium-review.googlesource.com/427235
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org> | 
            
              |   | afcc41ce | 2016-12-13T12:59:39 |  | Replace gl::trace logging with Chromium style logging
Removing one usage of FormatString() and its static buffer.
And preparation for Platform logging.
BUG=angleproject:1660
Change-Id: I58192988ad16196706fe48d0c0ab0fd1a10c0210
Reviewed-on: https://chromium-review.googlesource.com/424173
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | 
            
              |   | 4d0bf557 | 2016-12-28T15:45:24 |  | Vulkan: Initialize the draw surface.
This also involves initializing the swap chain and queue.
BUG=angleproject:1319
Change-Id: Ia3a2141905f17b2cdddddab07336f33a737d4fc1
Reviewed-on: https://chromium-review.googlesource.com/367752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 47c0e048 | 2016-11-30T13:44:45 |  | Use ComPtr references for D3D objects.
This is an work-in-progress CL to prototype using ComPtr.
It also has a new design for internal errors that doesn't use
FormatString, preferring a stream-based approach.
One thing to be aware of is that the address operator does not
behave as expected with ComPtr - we should use ::AddressOf.
BUG=angleproject:530
BUG=angleproject:1644
Change-Id: If5643e9e5726fd9aa5cbd422fca12ae169eb5b1f
Reviewed-on: https://chromium-review.googlesource.com/415027
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org> | 
            
              |   | ce95d05b | 2015-12-20T22:20:14 |  | Fixed memory leak in egl::Error and gl::Error
Move assignment operator of both classes contained a memory leak.
Changed type of mMessage from mutable std::string *to mutable
std::unique_ptr<std::string>
BUG=angleproject:1264
Change-Id: I7d1419b2e9f385b36afebfd6371983be33ee9e61
Reviewed-on: https://chromium-review.googlesource.com/319520
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Tibor Ouden, den <tibordenouden@gmail.com>
Tested-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 70d0f499 | 2015-12-10T17:45:46 |  | Implement GL_KHR_debug.
BUG=angleproject:520
Change-Id: I9ced3e7ab1515feddf2ec103c26b2610a45b1784
Reviewed-on: https://chromium-review.googlesource.com/319830
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org> | 
            
              |   | 66988745 | 2015-12-22T19:39:19 |  | Revert "Implement GL_KHR_debug."
This reverts commit 6c521b7a70a53b1c9f7762e53e34b5a8146b0f7b.
Change-Id: I6ff981198e31f34d3e405edea6277ee75516d6ee
Reviewed-on: https://chromium-review.googlesource.com/319820
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org> | 
            
              |   | 6c521b7a | 2015-12-10T17:45:46 |  | Implement GL_KHR_debug.
BUG=angleproject:520
Change-Id: I78d14cc8c94f5cef58604220f0ca847473b25bf8
Reviewed-on: https://chromium-review.googlesource.com/317820
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org> | 
            
              |   | e79b1e14 | 2015-11-04T16:36:37 |  | D3D11: Restrict use of MAX_UINT element indexes.
We need to block the app from using MAX_UINT on D3D11 because we can't
disable primitive restart on this platform. Instead generate an
INVALID_OPERATION error, which is spec-compliant in ES3 because the
result is undefined behaviour. This is also compliant with WebGL which
explicitly defines an error here.
BUG=angleproject:597
Change-Id: I7ebc5371b63ff860dc6dddf79939e9629ebb2a3c
Reviewed-on: https://chromium-review.googlesource.com/309638
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 45795dbe | 2015-03-25T12:25:01 |  | Inline commonly used Error methods and add move operators.
The function call overhead of the constructors and assignement operators
ended up being a hotspot even though the functions didn't do any
significant work.
BUG=angleproject:959
Change-Id: I96769879dabdbba7a222f98d87c5be0a829cb7dd
Reviewed-on: https://chromium-review.googlesource.com/262335
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org> | 
            
              |   | b9293977 | 2015-02-19T11:07:54 |  | Add UMA histogram for D3D11 init failures.
This will give ANGLE in Chrome a sense of device init calls fails in
D3D11, and why.
BUG=436191
Change-Id: Ia7b1bfa334cec595b6f0265357385d0dcc2d6cbf
Reviewed-on: https://chromium-review.googlesource.com/248632
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | d2d21dca | 2015-02-17T18:07:01 |  | Revert "Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time""
Causes errors in Clang-Win. We can fix the error and then resubmit, but need to do a roll now.
This reverts commit 310184861bab5e95139e0f34b1f8e88fe8c677b8.
Change-Id: I1c91b0a97031df33c2261089f6b54ccd3270306b
Reviewed-on: https://chromium-review.googlesource.com/250430
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 31018486 | 2015-01-30T13:06:52 |  | Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time"
The original change caused a Chromium build break due to
"__uncaught_exception" not being defined in concrt.h. This is because Chromium
defines "_HAS_EXCEPTIONS=0" in its GYP, but ANGLE doesn't do this.
This change defines "_HAS_EXCEPTIONS=0" in ANGLE's GYP to match Chromium,
and refines it in ProgramD3D.cpp before including <future>.
Change-Id: Ic324702569bac8f4ae1381f308c4f3f11f190f9e
Reviewed-on: https://chromium-review.googlesource.com/244860
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 198e9e39 | 2015-01-30T15:24:25 |  | Fix parity bug in egl::Error::createMessageString.
The check should be "==" instead of "!=". This gave a crash any time
we would generate an Error with a message.
Change-Id: I7c5d57e30053591b4713d8c829e89fd1c0703da0
Reviewed-on: https://chromium-review.googlesource.com/244820
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | b82e1a9c | 2015-01-30T15:20:09 |  | Fix parity bug in Error::createMessageString.
The check should be "==" instead of "!=". This gave a crash any time
we would generate an Error with a message.
Change-Id: I9217e6237ee8a2d3a4d6caa799b8508edbf4e774
Reviewed-on: https://chromium-review.googlesource.com/244754
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 9d294c33 | 2015-01-30T19:58:39 |  | Revert "Compile the D3D11 VS and PS on separate threads at GL link time"
Failing compile on Chromium bots:
FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\goma/gomacc "C:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj.rsp /c ..\..\third_party\angle\src\libANGLE\renderer\d3d\ProgramD3D.cpp /Foobj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj /Fdobj\third_party\angle\src\libANGLE.cc.pdb 
c:\b\depot_tools\win_toolchain\vs2013_files\vc\include\concrt.h(4774) : error C3861: '__uncaught_exception': identifier not found
ninja: build stopped: subcommand failed.
This reverts commit 6d51f2629a8118f7afd450ea832c93143a84c330.
Change-Id: Iebb2843dfbc3795290fbb33e1a111ddad59c3126
Reviewed-on: https://chromium-review.googlesource.com/244792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org> | 
            
              |   | 6d51f262 | 2015-01-26T16:34:48 |  | Compile the D3D11 VS and PS on separate threads at GL link time
BUG=angle:900
Change-Id: Iad5dbbcc676e2a2b6dfc3d7bc6ab5957154de33e
Reviewed-on: https://chromium-review.googlesource.com/240490
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com> | 
            
              |   | 3940a453 | 2015-01-14T17:26:32 |  | Only call std::string constructor in gl::Error when necessary
std::string's constructor is very expensive in debug builds.
In some applications we have seen it use 10% of the CPU.
This change makes (e)gl::Error store a pointer to an std::string,
and only create a string when necessary.
Change-Id: I78bfbda86568944681517fe32df9d1556e4ebee7
Reviewed-on: https://chromium-review.googlesource.com/240495
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org> | 
            
              |   | 2b5420c0 | 2014-11-19T14:20:15 |  | Merge libGLESv2 and libEGL classes into libANGLE.
BUG=angle:733
Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org> |