src/libGLESv2/entry_points_egl_ext.cpp


Log

Author Commit Date CI Message
Austin Kinross 063d9e78 2015-11-19T17:24:47 Add support for EGL_EXT_platform_device This allows an application to use EGLDeviceEXT to initialize EGL. For example, if an application wants to initialize EGL using an existing D3D11 device (instead of ANGLE creating its D3D device), then the app may create an EGLDeviceEXT using EGL_ANGLE_device_creation_d3d11, and use this device to initialize EGL via EGL_EXT_platform_device. BUG=angleproject:1190 Change-Id: Ife91ce95a63e29eb2b3f05aedfb668e4cac8f5ce Reviewed-on: https://chromium-review.googlesource.com/313444 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Austin Kinross fc1a44a1 2015-12-02T12:37:10 Revert "Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]"" This reverts commit dd5c5b79333fdde7858a77d39e91cc3d30b74c9e. BUG=angleproject:1190 Change-Id: I1bc1b232b6a916da6d18b546baf20e0854a2768f Reviewed-on: https://chromium-review.googlesource.com/315169 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill dd5c5b79 2015-12-02T08:41:28 Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]" Causes failures on Windows/GN: e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(108) : error C3861: 'eglCreateDeviceANGLE': identifier not found e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(113) : error C3861: 'eglQueryDeviceAttribEXT': identifier not found e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(119) : error C3861: 'eglReleaseDeviceANGLE': identifier not found e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(143) : error C3861: 'eglQueryDeviceAttribEXT': identifier not found e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(162) : error C3861: 'eglCreateDeviceANGLE': identifier not found e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(178) : error C3861: 'eglCreateDeviceANGLE': identifier not found This reverts commit 4029ad42d5ffe94a0a744532ab3577b982f847b8. BUG=angleproject:1190 Change-Id: Ibcdfd8cea7ba275cd67c0220f8d7a1069ec1cf97 Reviewed-on: https://chromium-review.googlesource.com/315480 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Austin Kinross 4029ad42 2015-10-29T10:14:47 Add and implement EGL_ANGLE_device_creation[_d3d11] BUG=angleproject:1190 Change-Id: I248935ef81803062cf9ba5776512cda456331f51 Reviewed-on: https://chromium-review.googlesource.com/309634 Tryjob-Request: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross a313f7aa 2015-10-28T12:58:03 Refactor EGLDeviceEXT to remove renderer dependency BUG=angleproject:1190 Change-Id: I38604de469c5f7efaf37bcebf20bc6425df35e62 Reviewed-on: https://chromium-review.googlesource.com/309512 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Jeff Muizelaar d17c016b 2014-10-27T14:10:35 Add support for RESOURCE_MISC_SHARED_KEYEDMUTEX Change-Id: I225f38b4616ac47e690dccbcb67074fedc571d61 Reviewed-on: https://chromium-review.googlesource.com/225642 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dcab33be 2015-07-21T13:03:16 Add stubs for EGL image entry points and validation. BUG=angleproject:970 Change-Id: Ic3b9f9f60146920571e0e5f00fac2273c35fff2f Reviewed-on: https://chromium-review.googlesource.com/287162 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 39fcf263 2015-06-08T14:39:07 Use both null and real renders for draw call perf. Introduce a "null" GL renderer for this specific benchmark, which does not do any work on drawArrays and drawElements. We could use the same kind of trick for buffer and texture updates, if we need it. This gives us a good baseline for comparing GL and D3D perf. BUG=angleproject:1040 Change-Id: I4bf7c75df01932de45ddd0a4e42e8fc82f15e37e Reviewed-on: https://chromium-review.googlesource.com/276192 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 6db6e0ae 2015-05-06T15:20:26 eglGetPlatformDisplayEXT: validate device types are set only on d3d BUG=angleproject:892 Change-Id: I0fa089f299abaab406384a05b096de19f04f3a5e Reviewed-on: https://chromium-review.googlesource.com/269771 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/269829
Jamie Madill 4c825e68 2015-05-07T15:31:46 Revert "eglGetPlatformDisplayEXT: validate device types are set only on d3d" Depends on patch which is causing a failure in EGLSurfaceTest.MakeCurrentTwice BUG=None This reverts commit 0e7ee498972e2d69e2d3bc3d99c798386aa2e950. Change-Id: I7d11900c784bdb2a8963a824e89019b39a184cbe Reviewed-on: https://chromium-review.googlesource.com/269856 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 0e7ee498 2015-05-06T15:20:26 eglGetPlatformDisplayEXT: validate device types are set only on d3d Change-Id: I15f0651fbe90b3572ea6b62f804492fbe100e591 Reviewed-on: https://chromium-review.googlesource.com/269771 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Cooper Partin 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>
Geoff Lang 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>
Cooper Partin 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>
Cooper Partin 0110e172 2015-03-11T12:26:30 Update ANGLE_platform_angle_d3d to be able to disable automatic trim. BUG=angleproject:946 Change-Id: I5652495842b057998318b1583f8e1a586eba39aa Reviewed-on: https://chromium-review.googlesource.com/258940 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 7825f619 2014-11-26T16:19:41 Update ANGLE_platform_angle_d3d to use a device type enum instead of WARP bool. BUG=angle:490 Change-Id: I1555e7f09b23138753e52ddf720d088587f7cadb Reviewed-on: https://chromium-review.googlesource.com/232104 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dd43fccc 2015-01-19T15:44:17 Add EGL validation helper files and move some validation to them. BUG=angle:658 Change-Id: Id560268a280f2fa7d75a7d0727dac830fe8de9f1 Reviewed-on: https://chromium-review.googlesource.com/242034 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 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>
Geoff Lang b931e721 2014-12-11T13:49:13 Check for EGL extension existance during validation. BUG=angle:658 Change-Id: I078d7f9ab4ab42bd7d3cd3865572ead8ed1f0b29 Reviewed-on: https://chromium-review.googlesource.com/234763 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 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>
Geoff Lang 130e6e8f 2014-12-05T12:17:40 Mark the exported entry points as stdcall. Because they may be returned as stdcall from eglGetProc address, the entry point functions must be stdcall. Fixes issues on 32-bit builds. BUG=angle:733 Change-Id: Ia20046a67fdc28c702837ec59b8299c6bb722006 Reviewed-on: https://chromium-review.googlesource.com/233471 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e7c6e43c 2014-12-03T14:48:07 Implement all entry points in libGLES and have libEGL act as a shim. This allows libANGLE to only be included in libGLESv2 and moves all TLS data to libGLESv2.dll. BUG=angle:733 Change-Id: I34f0b47987a5efbe906c290d3ca656142e69ea9a Reviewed-on: https://chromium-review.googlesource.com/232962 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>