|
ce232678
|
2015-05-28T13:26:02
|
|
Add a perf test for eglInitialize.
Also shutdown performance, since it's not easy to only test one.
BUG=angleproject:1014
Change-Id: I9d06426788ed336031271f8876589b111f1294b7
Reviewed-on: https://chromium-review.googlesource.com/273974
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
51e2ad14
|
2015-05-26T11:32:58
|
|
Do not always use X11 for Linux builds, inherit Chromium's settings
This fixes project generation for Chromium for non-X11 builds
BUG=angleproject:1011
Change-Id: If528f63fb186d834d56a43ca379497d99e74777e
Reviewed-on: https://chromium-review.googlesource.com/273163
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7c2acaf3
|
2015-05-21T11:47:09
|
|
Add timer histogram for egl::Initialize time.
This can help is track startup time regressions within ANGLE.
BUG=436191
BUG=angleproject:944
Change-Id: I73cf2449661b909dced4ddc11957037ed5535fc0
Reviewed-on: https://chromium-review.googlesource.com/272613
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f0fce530
|
2015-05-15T11:25:17
|
|
eglGetConfigAttrib: handle EGL_NATIVE_VISUAL_ID
BUG=angleproject:892
Change-Id: Idf5496de7006f8fd0658e9d40a4f16dba00d90ea
Reviewed-on: https://chromium-review.googlesource.com/271473
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9477dc94
|
2015-05-06T13:13:33
|
|
Add GLX EGL implementation stubs
BUG=angleproject:892
Change-Id: I1ef1bd0ce60f4585e473f9750c748a1b41c09da2
Reviewed-on: https://chromium-review.googlesource.com/269741
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
443e1d9b
|
2015-05-05T12:57:55
|
|
Refactor egl::Surface constructors.
We can reduce the code in these classes quite a bit by calling
the common code in egl::Display.
BUG=angleproject:994
Change-Id: Idf0ffa054fc6a70cf8c65a0b98fd963911715591
Reviewed-on: https://chromium-review.googlesource.com/269258
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
77a72f6e
|
2015-04-14T11:18:32
|
|
Release Surface when calling makeCurrent with null.
Refactorings to egl::Surface to enable ref-counting were causing
a situation where we could have two Window surfaces alive at the
same time. This would confuse the window procedure logic in
SurfaceD3D. Releasing the surface fixes this issue and conforms
closely to the wording on the spec on when Surfaces should be
deleted. Also add a test for message loops and surfaces.
BUG=475085
BUG=angleproject:963
Change-Id: Icdee3a7db97c9b54d779dabf1e1f82a89fefc546
Reviewed-on: https://chromium-review.googlesource.com/265064
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c9d13d2d
|
2015-04-14T14:53:06
|
|
Add trace events for D3D11 initialization.
This helps a local user profile their D3D11 startup time.
BUG=436191
BUG=angleproject:966
Change-Id: Ib1b3d62194233cd502980d87c316a95e9bd3a04c
Reviewed-on: https://chromium-review.googlesource.com/264935
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
97d61eb5
|
2015-04-14T09:08:16
|
|
Add extension EGL_ANGLE_device_d3d
Access to the D3D device is needed for some advanced scenarios.
New entry points eglQueryDisplayAttribANGLE and
eglQueryDeviceAttribANGLE have been added in this change
to implement this extension.
BUG=angleproject:935
Change-Id: Ie39e86a2b6c6d8d05a08964b2907fb9fba5dec13
Reviewed-on: https://chromium-review.googlesource.com/265591
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1ea8284d
|
2015-04-14T15:28:56
|
|
Revert "Add extension EGL_ANGLE_device_d3d"
Compile error on clang:
src/libANGLE/Display.cpp:259:23: error: allocation of incomplete type 'egl::Device'
mDevice = new Device(this, impl);
^~~~~~
src/libANGLE/Display.h:36:7: note: forward declaration of 'egl::Device'
class Device;
^
In file included from src/libANGLE/Display.cpp:11:
In file included from src/libANGLE/Display.h:17:
In file included from src/libANGLE/Error.h:80:
In file included from src/libANGLE/Error.inl:9:
src/common/angleutils.h:66:5: error: deleting pointer to incomplete type 'egl::Device' may cause undefined behavior [-Werror,-Wdelete-incomplete]
delete resource;
^ ~~~~~~~~
src/libANGLE/Display.cpp:209:5: note: in instantiation of function template specialization 'SafeDelete<egl::Device>' requested here
SafeDelete(mDevice);
^
src/libANGLE/Display.h:36:7: note: forward declaration of 'egl::Device'
class Device;
^
2 errors generated.
This reverts commit 6dacaff4e03d4f6b4c444a3fff018c1297cd25ba.
Change-Id: Ide348e156324a5af668604362c0b249ea73b6083
Reviewed-on: https://chromium-review.googlesource.com/265626
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6dacaff4
|
2015-02-19T16:31:57
|
|
Add extension EGL_ANGLE_device_d3d
Access to the D3D device is needed for some advanced scenarios.
New entry points eglQueryDisplayAttribANGLE and
eglQueryDeviceAttribANGLE have been added in this change
to implement this extension.
BUG=angleproject:935
Change-Id: Id1560b0887fa5882b9858af7bad9043ada67038d
Reviewed-on: https://chromium-review.googlesource.com/251610
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7dcd2c7b
|
2015-03-18T17:22:38
|
|
Add stubs for EGL pixmap surface creation.
BUG=angleproject:795
Change-Id: I76b44e837eb6919f9d3c1eb56c2d3af84bc5ab09
Reviewed-on: https://chromium-review.googlesource.com/260943
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
9d3ae5fe
|
2015-03-18T17:20:33
|
|
Use the Surface type for validation and fix incorrect window validation.
The window passed to surface creation should not be used by any surface
owned by any display, not just the current one. Store a global window
surface list for validation.
BUG=angleproject:795
Change-Id: I2314979f2f27848b21fcb00676194d7671d1db68
Reviewed-on: https://chromium-review.googlesource.com/260942
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4b91262a
|
2015-03-18T17:17:59
|
|
Pass the Surface type, config and attributes to the constructor.
BUG=angleproject:795
Change-Id: I15e7f2f51ecc243edf83d9a9544eba137d8bb599
Reviewed-on: https://chromium-review.googlesource.com/260941
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6bd58312
|
2015-03-13T10:45:27
|
|
Make Platform methods global.
This will allow them to be imported dynamically without name
mangling. This is necessary because sometimes SwiftShader
overrides libGLESv2 and libEGL, so we need to determine at
run-time if we are running with "actual" ANGLE.
BUG=466735
Change-Id: I396d717b79066feb8ed0d577ee7386b33eb1d160
Reviewed-on: https://chromium-review.googlesource.com/259954
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
86803677
|
2015-02-23T14:35:20
|
|
Update Display to allow for changing implementation objects.
Previously it was possible to change from a D3D9 to D3D11 display because
both were implemented with a DisplayD3D. Now that there is a DisplayGL,
the DisplayImpl must be updated while maintaining the same EGLDisplay
value.
Allow the value of Display::mImplementation to be updated when the display
is not already initialized.
BUG=angle:890
Change-Id: Ic18a8a120218cd130a71b9aa044b6ec00006d6a0
Reviewed-on: https://chromium-review.googlesource.com/252250
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5feea562
|
2015-02-17T16:03:16
|
|
Add ANGLE platform implementation template.
The platform implementation allows the app layer to pass in an
object, on which ANGLE can call virtual methods. Our current
platform will handle trace events, for app profiling, and
histogram records for statistics. The platform approach gives
a much more robust approach than using entry points for every
piece of functionality, and is based on the interop with Blink.
The default platform implementation does a no-op on every call.
The destructor is also private, to ensure we do not call the
destructor of the passed-in class.
BUG=436191
Change-Id: I05641b89a48a9cff81ced059518fceb5aa6c883b
Reviewed-on: https://chromium-review.googlesource.com/248631
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
f9a6f084
|
2015-01-22T13:32:49
|
|
Add GL and WGL renderer stubs.
BUG=angle:890
Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4
Reviewed-on: https://chromium-review.googlesource.com/242573
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f6bf23fd
|
2015-01-20T11:43:54
|
|
Split up the Display::create*Surface and have them match the API.
BUG=angle:658
Change-Id: Id0054406a5ce6f6ffef28ce84737547c1869efde
Reviewed-on: https://chromium-review.googlesource.com/242038
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
38832d17
|
2015-02-09T10:01:47
|
|
Add Display getters for native display and attribs.
This simplifies the logic in the Renderer init.
BUG=angle:905
Change-Id: I01bf3701dd85f50e369e2c11e0e2a7cb638ccf00
Reviewed-on: https://chromium-review.googlesource.com/247650
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f81b6a15
|
2015-01-19T16:51:55
|
|
Move eglCreatePbuffer* validation into validationEGL.
BUG=angle:658
Change-Id: I25d1be1ef86f82892186b08c9a8ff0133d520ac6
Reviewed-on: https://chromium-review.googlesource.com/242037
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0eef0826
|
2015-01-19T16:22:40
|
|
Move eglCreateWindowSurface validation into validationEGL.
BUG=angle:658
Change-Id: Iaa7e6033fb323c1089907c9ed753746729887061
Reviewed-on: https://chromium-review.googlesource.com/242036
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
33b6ae54
|
2015-01-19T15:58:09
|
|
Move eglCreateContext validation into validationEGL.
BUG=angle:658
Change-Id: Ibdf601725536edf40c0499aba0402fb160b2c841
Reviewed-on: https://chromium-review.googlesource.com/242035
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1d8ae673
|
2015-01-19T14:44:29
|
|
Add a makeCurrent method to Display.
BUG=angle:658
Change-Id: If1830fb164d31e2ee8092414d012e127ec344d69
Reviewed-on: https://chromium-review.googlesource.com/242033
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c223dc6b
|
2015-01-09T13:10:01
|
|
Change Config to a struct and rename it's members.
BUG=angle:658
Change-Id: I18dab915730fc28815db8080b3614da821f9c8b1
Reviewed-on: https://chromium-review.googlesource.com/239901
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6812a55c
|
2015-01-06T17:26:42
|
|
Rewrite ConfigSet and make EGLConfig synonymous with egl::Config.
BUG=angle:658
Change-Id: I3c33faf18af0bfda00dc5babe6356d6c8661f032
Reviewed-on: https://chromium-review.googlesource.com/238862
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5c39f688
|
2015-01-06T15:19:35
|
|
Have the DisplayImpl create the Renderer and Contexts.
BUG=angle:658
Change-Id: I726d87b90be8382c5dd8964e4d8686711e404ffe
Reviewed-on: https://chromium-review.googlesource.com/238861
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c51113d0
|
2015-01-06T10:28:47
|
|
Generate egl configs from the DisplayImpl.
Still do the actual generation in the Renderer9/11 for now but route it
through the DisplayImpl.
BUG=angle:658
Change-Id: Ib976fbd1b9e349146dc068bbdd4e6a3d2a5ddc69
Reviewed-on: https://chromium-review.googlesource.com/238860
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1b765456
|
2014-12-11T11:58:39
|
|
Move display extension initialization to DisplayImpl.
BUG=angle:658
Change-Id: I44d95fad4e1be5cc76f443d724defd37da4a268f
Reviewed-on: https://chromium-review.googlesource.com/234762
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
40856813
|
2014-12-11T11:37:35
|
|
Add EGL extensions structs.
BUG=angle:658
Change-Id: Iffb26caf16416313abc114ba779e6311f2c00848
Reviewed-on: https://chromium-review.googlesource.com/234760
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
22bcf7cf
|
2014-12-30T16:02:46
|
|
Implement KHR_create_context.
We need the functionality of this extension to support dEQP. Likely
we only needed the minor version enum to not generate an error, but
we can take the time to implement the few cases for the other enums
as well.
We don't support any debug context functionality currently, but we
may want to support it in the future.
BUG=angle:501
Change-Id: Ib74cd2e4581e054f8153bb358824d9296b9f8a1c
Reviewed-on: https://chromium-review.googlesource.com/238083
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2445143a
|
2014-12-30T14:53:16
|
|
Advertise EGL_EXT_platform_base.
We were not advertising the extension, though we require it for
ANGLE_platform_angle. This was blocking dEQP functionality.
Change-Id: I8781867e772b4b1af62f1387faa863f8ce21de76
Reviewed-on: https://chromium-review.googlesource.com/238082
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4eae6dfa
|
2014-12-04T13:48:45
|
|
Move native display check to the DisplayImpl.
This fixes another Linux compile error in the EGL layer.
BUG=angle:773
Change-Id: Iba643a72fb7b0d5994fe69e46184256e07aa3aad
Reviewed-on: https://chromium-review.googlesource.com/232945
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5d94a2b1
|
2014-12-04T11:16:00
|
|
Move native window check to the DisplayImpl.
This hides the D3D-specific methods from the EGL side of things.
BUG=angle:773
Change-Id: I5a1c2bbff865e02bc1a07b3295347469ef9792e3
Reviewed-on: https://chromium-review.googlesource.com/232943
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
870352a1
|
2014-12-01T11:01:17
|
|
MANGLE egl::Display.
BUG=angle:794
Change-Id: Id131f3119100030d6ee630e357a8d28396a6a813
Reviewed-on: https://chromium-review.googlesource.com/231852
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f626df96
|
2014-12-01T11:01:15
|
|
Remove Display::recreateSwapChains.
This method was unused and dead code.
BUG=angle:794
Change-Id: I1348f5ffc62ff57f3c6503c6842cc68bcbefb550
Reviewed-on: https://chromium-review.googlesource.com/231851
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
ac59273c
|
2014-12-01T11:01:14
|
|
Clean up Adapter LUID queries.
We might need to revisit this when we implement other GL
back-ends.
BUG=angle:773
Change-Id: I6e742254bd0df8cc899ea02a523992b4d66dfd68
Reviewed-on: https://chromium-review.googlesource.com/229061
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
fb0580a6
|
2014-11-27T14:03:52
|
|
MANGLE egl::Surface.
This class has its fingers in a lot of other classes. In particular,
we will likely need to revisit the context lost handling methods when
we implement the robustness extensions on top of desktop GL. For now,
we can leave them tied pretty tightly to the D3D implementation.
BUG=angle:795
Change-Id: I9b3ac90dfd393f52c5b49bc2bd6b97fb5536ed91
Reviewed-on: https://chromium-review.googlesource.com/228916
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5ce48e21
|
2014-11-24T11:38:54
|
|
Use EGLClientBuffer in place of HANDLE in EGL.
BUG=angle:795
Change-Id: I7af47e9306e0e12b980cfd3f061bbbe0951ac4e4
Reviewed-on: https://chromium-review.googlesource.com/228913
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
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>
|