|
38e28257
|
2019-03-13T16:11:15
|
|
Fix ASSERT macro not printing message
ANGLE's ASSERT macro was often not printing the error message before
crashing. The printing happens in the destructor of a temporary object,
but the temporary object is not guaranteed to be destroyed before ASSERT
calls __builtin_trap(). This change fixes it by introducing a new FATAL
log severity that moves the __builtin_trap() call into the destructor
after the message is printed.
Bug: 780507, angleproject:2215
Change-Id: Ica91e00d67cc95d7b59c3d59e6925ac3a93c19c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521839
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
105bc9d7
|
2019-03-06T16:32:40
|
|
Revert "Allow enabling trace annotations"
This reverts commit f094bac949922dabc3dd6944f3dec04111e953b6.
Reason for revert: Causes timeouts on Debug bots in the BufferDataTest.NULLData
Original change's description:
> Allow enabling trace annotations
>
> Tracing was never allowed to happen because getStatus always returned
> false. Also want to allow tracing for release builds for perf analysis.
>
> Bug: angleproject:3176
> Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248
> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
> Reviewed-by: Jamie Madill <jmadill@google.com>
TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@google.com,courtneygo@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:3176
Change-Id: I91d28d15a092519551811a9a07c01987c9e028e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1505799
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f094bac9
|
2019-02-15T08:24:56
|
|
Allow enabling trace annotations
Tracing was never allowed to happen because getStatus always returned
false. Also want to allow tracing for release builds for perf analysis.
Bug: angleproject:3176
Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
573f76b3
|
2018-05-03T11:10:44
|
|
Debug: Add Systrace Markers
Update ScopedPerfEventHelper class to add systrace markers by default.
This change unifies ANGLE EVENT* macro system so that at the base level
in LoggingAnnotator class, systrace markers will be added by default.
Modify the base DebugLogger to use char* by default and move any
conversions to wchar_t to the Windows specializations where wchar is
used. This limits type conversions to only where they're needed.
This change also includes some new TRACE_EVENT() calls in the VK
backend which will result in systrace markers for those calls on the
Android platform.
The new build flag "angle_enable_trace" is added to enable the tracing
calls.
Bug: angleproject:2528
Change-Id: Icefc197d4407e1cd31338710e37865abae6a0b15
Reviewed-on: https://chromium-review.googlesource.com/c/1042785
Commit-Queue: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@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>
|
|
f5bb220f
|
2017-02-17T23:25:17
|
|
Restore Default Platform logging to stderr
Was lost in https://chromium-review.googlesource.com/434188
Also, don't reset pre-set Platform to Default,
otherwise Chrome's platform gets reset.
BUG=angleproject:1660, angleproject:1892
Change-Id: I052c86c513c8d89d2420a4724a8bd0dc7446c7c2
Reviewed-on: https://chromium-review.googlesource.com/444928
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b1eeba1f
|
2017-02-13T16:36:40
|
|
Use a C API for the ANGLE platform.
The main purpose of this change is to fix a fuzzer bug where we would
trigger undefined behaviour calling between Chrome and ANGLE. It's
not specced how virtual function calls work if the shared objects are
not directly linked together, and ANGLE and Chrome are not linked.
Replace the old class-style API with a C dispatch table.
Follow-up work will make the Platform owned by the Display instead of
using global variables, but fixing this is a bit tricky.
BUG=angleproject:1892
BUG=chromium:678870
Change-Id: Iad188bc2e50f2b5e4a03ce0de233d686f569c705
Reviewed-on: https://chromium-review.googlesource.com/441273
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
bcb3f9ba
|
2017-01-27T22:45:18
|
|
Direct logging to Platform when available
All logging should be done via ERR() and WARN(),
which call angle::Platform's logError and logWarning,
if there is current Platform which supports logging.
Otherwise, ERR() is directed to std::cerr.
Misc fixes to keep tests passing.
BUG=angleproject:1660, angleproject:1644
Change-Id: I2bca33a021537185d0c236a3083789af3236b5f3
Reviewed-on: https://chromium-review.googlesource.com/434188
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|