|
e58e77f5
|
2022-11-10T12:49:03
|
|
Support timestamp behind flag enableTimestampQueries
All timestamp queries happen in the same disjoint query in one
Context11.
The whole design is that we start a disjoint query in D3D11 at the first
timestamp request and keep it continuously running in current context.
Only end it and read it back when the user queries if there is a
disjoint. We cache the frequency and assume it doesn't change. For the
first timestamp, we create a temporary D3D disjoint query and end it so
we have a frequency to convert the ticks to nanoseconds.
This task is taken over from
https://chromium-review.googlesource.com/c/angle/angle/+/3694732
Bug: angleproject:7367
Change-Id: I747c9b00e10ac58362df66332efd01a24aa395f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4021139
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
86800e3d
|
2022-11-10T17:07:29
|
|
Move disjoint status from RendererD3D to Context11
Make disjoint status per-context instead of one in renderer.
This is in preparation for timestamp query support.
Bug: angleproject:7367
Change-Id: I6380e55cac29b2d40edfbcd32e360e8da5546a80
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4018970
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a6206854
|
2019-10-24T12:55:09
|
|
Enable "-Wmissing-field-initializers".
This is another warning required by Skia. This one didn't find
anything that surprising. Enabling the warning does help enforce
code consistency and avoids a bit of possible undefined behaviour.
Bug: angleproject:4046
Change-Id: Ifec7f4afad49cd820bf3c0a79df3f46559473ee2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877477
Commit-Queue: Jamie Madill <jmadill@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>
|
|
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>
|
|
f4a789f9
|
2018-10-18T16:56:20
|
|
Use angle::Result in front-end (Part 6)
Refactors the gl::Program, gl::Compiler and gl::Query classes.
Bug: angleproject:2491
Change-Id: I96acecdc6af301a89201bd7f5222a180433e5eb2
Reviewed-on: https://chromium-review.googlesource.com/c/1289711
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7a5814e2
|
2018-07-27T08:12:50
|
|
D3D11: Use angle::Result error pattern. 3/3
This completes the initial refactor for the D3D11 back-end.
Bug: angleproject:2738
Change-Id: I6bc59d6a1a724b3c64d6cd904e6748c2acf8f67d
Reviewed-on: https://chromium-review.googlesource.com/1151452
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
306b6c16
|
2018-07-27T08:12:49
|
|
D3D11: Use angle::Result error pattern. 1/3
This CL improves performance on the draw call microbenchmark by 10%
when no-oping driver calls.
Bug: angleproject:2738
Change-Id: I4f5c11db90d9056ce4557b2a4432bc55b42b5bba
Reviewed-on: https://chromium-review.googlesource.com/1150093
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
5188a274
|
2018-07-25T10:53:56
|
|
Pass Context to Query Impl methods.
The Context needed for the error refactor and Vulkan implementation.
Bug: angleproject:2738
Change-Id: Id816b61ebf342c953a320ab29b6386e356dc64e8
Reviewed-on: https://chromium-review.googlesource.com/1150092
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ad3ae90a
|
2018-03-09T13:40:42
|
|
Use packed enums for QueryType.
BUG=angleproject:2169
Change-Id: I129a9d8e295859daa071a298dab9fe1895315cc0
Reviewed-on: https://chromium-review.googlesource.com/957318
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
5528d11f
|
2018-04-24T11:25:10
|
|
D3D: Don't test for device loss as frequenty in tight loops.
BUG=angleproject:1472
BUG=621240
Change-Id: I723839bd7961167adddcccc680638ae066eacea3
Reviewed-on: https://chromium-review.googlesource.com/1025645
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@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>
|
|
63fa2e94
|
2017-06-01T17:11:41
|
|
D3D11: Consolidate Query allocation.
This compiles the resource refactor for D3D11. The only remaining
non-smart handles are for things like SwapChains and ID3D11Blob.
This might be more easily managed by using angle::ComPtr or
similar smart pointers instead of the Resource Manager class.
BUG=angleproject:2034
Change-Id: I53c753a1c19b05c4e72859dd5046e3ed10866847
Reviewed-on: https://chromium-review.googlesource.com/506777
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
acd1898e
|
2017-01-04T10:46:42
|
|
Replace Error(GL_NO_ERROR) with NoError().
In order to make the errors be consistent throughout ANGLE.
BUG=angleproject:1686
Change-Id: I0a2d86091d640aedeac94beae345c1fb6971b00d
Reviewed-on: https://chromium-review.googlesource.com/424835
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7efe747c
|
2016-10-07T16:12:46
|
|
D3D11: Fix style in the entire back-end.
BUG=None
Change-Id: I32cbcd4daa1f386654ea5e8f0a25d8635b5df731
Reviewed-on: https://chromium-review.googlesource.com/402016
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8234e7b3
|
2016-10-07T15:12:10
|
|
Refactor some errors into ANGLE_TRY macros.
BUG=None
Change-Id: I00ff2523995cb49d1af60cae62c2bba0d020eed4
Reviewed-on: https://chromium-review.googlesource.com/395569
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e2e406c3
|
2016-06-02T13:04:10
|
|
Add base::numerics for safe math and conversions.
This replaces are "IsUnsignedXXXSafe" family of methods.
Also add overflow checks to unpack block sizes.
BUG=angleproject:1397
Change-Id: Ib47be149b0486c70f795b0d0f8899441faac9340
Reviewed-on: https://chromium-review.googlesource.com/348062
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2b4ce80c
|
2016-04-28T13:34:50
|
|
Implement GL_CHROMIUM_sync_query for D3D9 and D3D11.
BUG=angleproject:1366
Change-Id: Iadde61968f45b969c76578a6dd9116a25d63fb4b
Reviewed-on: https://chromium-review.googlesource.com/341230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d2f02c2a
|
2016-02-26T13:39:54
|
|
Fix a memory leak in the Query11 class.
The destructor did not release D3D objects that could be in the
mPendingQueries list when the destructor is called. This fix now iterates
through the list and releases them.
BUG=angleproject:1325
Change-Id: Ia3bd2a8a611f8dbf85051ab5bfea18ab72038af5
Reviewed-on: https://chromium-review.googlesource.com/329426
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
|
|
89f2845c
|
2016-02-10T11:33:07
|
|
Context virtualization for D3D11 queries
Queries in D3D11 are now virtualized such that they work as expected with
multiple contexts. Timer queries now only time the operations that their
context is responsible for and the operations of other contexts are
ignored.
BUG=angleproject:657
Change-Id: I667de594bdb5831d126d5801c0e692ded4c88bf4
Reviewed-on: https://chromium-review.googlesource.com/327150
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
|
|
f04f6671
|
2016-02-03T10:50:16
|
|
Add support for timer queries in D3D11
Timer queries without context virtualization are now supported in the
Direct3D11 backend. Only the elapsed time portion of the GL extension is
supported though due to limitations of D3D11 preventing a reliable
implementation of the timestamp functionality. As a result of this, the
counter bits for the timestamp is set to 0 and any queries of the
timestamp will always return 0.
BUG=angleproject:657
Change-Id: I51ca1a1a6bd6bc13155cebeacdca414b764db168
Reviewed-on: https://chromium-review.googlesource.com/325780
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3ffd78bc
|
2016-01-22T16:09:42
|
|
Add initial support for EXT_disjoint_timer_query.
Basic timer queries are supported and tested in the OpenGL backend
but are not enabled by default. A good portion of the existing query
code was also refactored for improved validation - specifically for
validating that the appropriate extensions are available.
BUG=angleproject:1265
Change-Id: Iebae994cd7a8d3ed3e9fc3776fe2f3d99caa9237
Reviewed-on: https://chromium-review.googlesource.com/323450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Ian Ewell <ewell@google.com>
Tested-by: Ian Ewell <ewell@google.com>
|
|
4c76feac
|
2014-11-24T11:38:52
|
|
Remove notify parameter from testDeviceLost.
We can get rid of this parameter now that we call notify
directly on the display in cases where we need to.
BUG=angle:795
Change-Id: I2024b70d0d725e755f7aa742ba221c2d0179d8b6
Reviewed-on: https://chromium-review.googlesource.com/228911
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9dd0cf0a
|
2014-11-24T11:38:51
|
|
Do not use notify feature of testDeviceLost.
This is part one of a simplification of testDeviceLost. This
patch changes the instances where we would use the notify
parameter to notify the Display directly. We can do this
by using the Display attached to the Renderer in some cases.
BUG=angle:795
Change-Id: I24fd827989d47b0b2cefef7afb99fa62581ddc1b
Reviewed-on: https://chromium-review.googlesource.com/228910
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1edac3b1
|
2014-11-20T13:49:27
|
|
Fixed Visual Studio 2013 Update 4 build failures for WinRT
Change-Id: I393e9800d1c2e902f60728e1f7d0debca66b76a0
Reviewed-on: https://chromium-review.googlesource.com/231140
Tested-by: Cooper Partin <coopp@microsoft.com>
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>
|