|
01ee134b
|
2023-08-02T13:43:36
|
|
Revert "GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE"
This reverts commit 4e0250f1926d25e39023c4ad7862ed358a0ec4b6.
Reason for revert: Chromium change was reverted. crbug.com/1468956
Original change's description:
> GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE
>
> Now that Chromium no longer uses it.
>
> Bug: angleproject:5509
> Change-Id: Ibb8d9cdc4d67dad77ca50437423b18d81e838203
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4724768
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:5509
Change-Id: Id8143b1715ec8162be9351437fbd34a2aa4c2e00
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4742521
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4e0250f1
|
2023-07-27T10:51:07
|
|
GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE
Now that Chromium no longer uses it.
Bug: angleproject:5509
Change-Id: Ibb8d9cdc4d67dad77ca50437423b18d81e838203
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4724768
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7ea61cb3
|
2023-07-23T21:53:50
|
|
GL: Complete EGL_ANGLE_external_context_and_surface
This change implements two new entry points added for
EGL_ANGLE_external_context_and_surface: glAcquireExternalContextANGLE
and glReleaseExternalContextANGLE.
These functions remove the need to overload eglMakeCurrent for the
purposes of syncing to and from the external context.
Bug: angleproject:5509
Change-Id: I5d46299ee0c8addaef7066914a8a8aacb0ea2c17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706027
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
42bd78b2
|
2023-05-23T14:21:14
|
|
Remove assertion in SyncEGL::onDestroy that the sync is valid
When a egl::Sync objecct is created in egl::Display, it's wrapped in
the RAII object angle::UniqueObjectPointer which calls onDestroy and
the destructor on the sync when leaving scope due to an error. If the
SyncEGL fails to initialize, it will still have onDestroy called. This
patch makes sure that we don't assert in that case.
Bug: chromium:1434602
Change-Id: I501a0173328e4d9d01474d1084c64ef178896f17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4556167
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3625b749
|
2023-04-27T08:19:05
|
|
[ContextEGL] Synchronize state only when first making current
ContextEGL::onMakeCurrent() can be called when this context is already
current, which introduces complexities for the case where this context
is wrapping an external context. This CL ensures that in this case we
save state from the native context only when first transitioning this
context to be current.
To test: Exercise the repro steps in crbug.com/1434657: No assert
should go off.
Bug: chromium:1434657
Change-Id: I9690a76917fcb6d0fa31361bfbd3766bb6074d41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4483695
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Colin Blundell <blundell@chromium.org>
|
|
d6d7e551
|
2023-04-24T14:42:06
|
|
[ContextEGL] Check for default FBO being null in onUnmakeCurrent
https://chromium-review.googlesource.com/c/angle/angle/+/4451908
added restoring of the default FBO ID when making external contexts
un-current. However, it turns out that onUnmakeCurrent() will be called
during destruction even if it was previously called without an
intervening makeCurrent() call [1], with the first call having un-set
the default FBO [2]. Hence, we need to check for whether the default
FBO exists in this flow to avoid crashes [3].
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/Context.cpp;l=766-787?q=Context.cpp&ss=chromium
[2] https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:third_party/angle/src/libANGLE/Context.cpp;l=931;drc=a61b95c63b0b75c1cfe872d9c8cdf927c226046e;bpv=1;bpt=1
[3] https://crash.corp.google.com/browse?q=product_name%3D%22AndroidWebView%22+AND+EXISTS+%28SELECT+1+FROM+UNNEST%28expanded_custom_data.ChromeCrashProto.experiments.ids%29+expanded_custom_data_ChromeCrashProto_experiments_ids+WHERE+expanded_custom_data_ChromeCrashProto_experiments_ids%3D%2741e765a5-991da97%27%29+AND+product.Version%3D%27114.0.5730.0%27+AND+expanded_custom_data.ChromeCrashProto.magic_signature_1.name%3D%27rx%3A%3AContextEGL%3A%3AonUnMakeCurrent%27+AND+EXISTS+%28SELECT+1+FROM+UNNEST%28CrashedStackTrace.StackFrame%29+WHERE+FunctionName%3D%27rx%3A%3AContextEGL%3A%3AonUnMakeCurrent%28gl%3A%3AContext+const*%29%27%29+AND+EXISTS+%28SELECT+1+FROM+UNNEST%28CrashedStackTrace.StackFrame%29+WHERE+FunctionName%3D%27rx%3A%3AContextEGL%3A%3AonUnMakeCurrent%28gl%3A%3AContext+const*%29%27%29&stbtiq=&reportid=&index=0
Bug: chromium:1434315, chromium:1436354
Change-Id: I676dad65dc249e87ee0cae169ba93f605f776341
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4467147
Auto-Submit: Colin Blundell <blundell@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
cf91a5e6
|
2023-04-20T09:07:41
|
|
[ContextEGL] Restore default FBO ID in onUnmakeCurrent()
When making an external context current, ContextEGL sets the default FBO
ID to that bound by the external context. However, we don't currently
restore it to its previous value (expected to be 0) in
onUnmakeCurrent(). Aside from being generally problematic, this
specifically causes an assert to go off when later destroying this
framebuffer (see the linked bug).
This CL adds this restoration. This should be sufficient to resolve the
linked bug, as we don't expect ANGLE to process destruction of an
external context while it is current due to the GL spec [1].
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1434315#c6
Bug: chromium:1434315
Change-Id: I6da1880aea4c5245f1506ccc22f92370babd1917
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4451908
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Colin Blundell <blundell@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
abbbe970
|
2023-03-24T08:10:40
|
|
[GL backend] Get texture bindings size from frontend caps
EGLContext currently sets the texture bindings size to be
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS. StateManagerGL later copies
these bindings into its own textures array [1]. However, the latter
texture array is clamped to a size of max 96 [2], and thus this copy
can overflow (see crash in crbug.com/1418842).
This CL changes the texture bindings size to be set from the frontend
caps rather than the native caps. The former have the same clamping
as for StateManagerGL's textures.
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp;drc=c85c710dec58dfdcf2f35af647a0a5155639edd5;l=3274
[2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/angletypes.h;drc=4a77b0f5237515960673b9bd1bc5a229f0eeaa95;l=952
[3] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/Context.cpp;l=4050-4059;drc=b4bc946c63b2b95e1f05dec4e84adcadd10499c6
Bug: chromium:1418842
Change-Id: I66c10b640f70d9dc6c7d41925f12ffb7a3ba78e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4369699
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8d23f34e
|
2023-01-18T16:20:05
|
|
Reland: DisplayEGL should support targeting specific EGL platforms
This is a reland of 01c641d58c7b4e4809163e48f570145af89c4acc
Updated changes:
The value is used only if non-zero
and marked as one of the supported platforms. For the moment the only
platform listed as supported is EGL_PLATFORM_SURFACELESS_MESA since
it's the only relevant platform value that the EGL_ANGLE_platform_angle
extension is listing as acceptable value for the
EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE attribute.
When validated, and with relevant EGL extensions listed in the client
EGL extensions list, a display object for the desired EGL platform is
retrieved through the eglGetPlatformDisplayEXT entrypoint.
Original change's description:
> DisplayEGL should support targeting specific EGL platforms
>
> DisplayEGL should use the
EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
> value, if provided, to target specific platforms when constructing the
> native EGL display.
>
> The value is retrieved from the display attributes map and propagated
> to FunctionsEGL::initialize(). If non-zero, and if the
> eglGetPlatformDisplayEXT entrypoint is successfully loaded, then a
> display object for the desired EGL platform is retrieved.
>
> Bug: angleproject:7942
> Change-Id: I3d8dd70c4c5c80259ae647dce039cfe741b0cf7d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152531
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Bug: angleproject:7942
Change-Id: I75212b48e0e0edceef92e38bf68791017fb30a56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178310
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ca14a9f
|
2023-02-10T13:58:19
|
|
EGL: No-op dma_buf import modifiers on some Mali devices.
Some of the vendor checks in the EGL_EXT_image_dma_buf_import_modifiers
enablement logic disable the extension on older Mali devices while
Chrome depends on the presence of this extension, even if the
implementation is no-op'ed.
Refactor the logic into DisplayEGL with a tri-state:
* Extension exposed and forwarded to the driver
* Extension exposed and no-op'ed (Mali)
* Extension not exposed (ARM)
Bug: angleproject:7664
Change-Id: Idca7bb609423366779a65cd65093c9d5a65f0c19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4241483
Reviewed-by: Brian Ho <hob@chromium.org>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
734cf7ce
|
2023-01-16T20:32:35
|
|
Revert "DisplayEGL should support targeting specific EGL platforms"
This reverts commit 01c641d58c7b4e4809163e48f570145af89c4acc.
Reason for revert: Failing initialization on ChromeOS Kevin and possibly others.
Bug: b/265600434
Original change's description:
> DisplayEGL should support targeting specific EGL platforms
>
> DisplayEGL should use the EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
> value, if provided, to target specific platforms when constructing the
> native EGL display.
>
> The value is retrieved from the display attributes map and propagated
> to FunctionsEGL::initialize(). If non-zero, and if the
> eglGetPlatformDisplayEXT entrypoint is successfully loaded, then a
> display object for the desired EGL platform is retrieved.
>
> Bug: angleproject:7942
> Change-Id: I3d8dd70c4c5c80259ae647dce039cfe741b0cf7d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152531
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Bug: angleproject:7942
Change-Id: Ic9466f8ab7354fd14cbee74dcc454df07b568664
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4168456
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
01c641d5
|
2023-01-10T14:54:45
|
|
DisplayEGL should support targeting specific EGL platforms
DisplayEGL should use the EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
value, if provided, to target specific platforms when constructing the
native EGL display.
The value is retrieved from the display attributes map and propagated
to FunctionsEGL::initialize(). If non-zero, and if the
eglGetPlatformDisplayEXT entrypoint is successfully loaded, then a
display object for the desired EGL platform is retrieved.
Bug: angleproject:7942
Change-Id: I3d8dd70c4c5c80259ae647dce039cfe741b0cf7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152531
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
9ded03b4
|
2022-12-20T07:09:36
|
|
Revert "Vulkan: Make available GLInternalFormatToGbmFourCCFormat"
This reverts commit 402e7f7a634b1170d0feae52a44168731a7489f9.
Reason for revert: Chromium android-binary-size build failed.
Original change's description:
> Vulkan: Make available GLInternalFormatToGbmFourCCFormat
>
> GLInternalFormatToGbmFourCCFormat() is not available on Linux
> because of the guard with the wrong definition, ANGLE_USES_GBM.
> This also fixes build errors that were occurred after enabling.
>
> Bug: angleproject:7829
> Change-Id: If7c7543270cc127945149927be0fc3ffdd49163b
> Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022963
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7901
Bug: angleproject:7829
Change-Id: I256d51f78ff0d3ced9920c3ea1d2bfceba43a1ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113577
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
402e7f7a
|
2022-11-11T15:51:55
|
|
Vulkan: Make available GLInternalFormatToGbmFourCCFormat
GLInternalFormatToGbmFourCCFormat() is not available on Linux
because of the guard with the wrong definition, ANGLE_USES_GBM.
This also fixes build errors that were occurred after enabling.
Bug: angleproject:7829
Change-Id: If7c7543270cc127945149927be0fc3ffdd49163b
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022963
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f37a32f0
|
2022-11-14T14:11:06
|
|
Remove DisplayGbm and SurfaceGbm.
The Gbm classes were used to emulate WindowSurfaces on ChromeOS for
testing. These emulated features are not used in any shipping
configuration and cause issues because ANGLE opens drm devices
uneccessarily.
Bug: chromium:1344962
Change-Id: If564e40744f7825035bbbd63c141b154c534ed72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4023096
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Brian Ho <hob@chromium.org>
|
|
5b7113b6
|
2022-09-21T10:05:42
|
|
EGL: Implement EGL_EXT_device_drm and EXT_device_drm_render_node
These extensions are needed by Exo for zwp_linux_dmabuf v4 support.
Add the needed infrastructure to the EGL backend to support device
queries and expose the extensions there.
In the future we will want to support the extensions on Vulkan as well,
however unfortunately this is not trivial, so leave it out for now.
Bug: angleproject:7686
Change-Id: I0a54bf58dbaa9e87c8baac760cb9ac9027fea4c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3964272
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
67915fb4
|
2022-09-19T15:08:54
|
|
Reland "Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers""
This is a reland of commit f53eac299fb2e0083fa386af1f04038b32faebe4
New changes:
- Disable the extension on old proprietary Mali drivers
Original change's description:
> Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers"
>
> This is a reland of commit 1d8dce2587a23b59f911c801856372996bdb2f64
>
> New changes:
> - fail softly on buggy drivers (which are part of the CI)
>
> Original change's description:
> > EGL: Implement EGL_EXT_image_dma_buf_import_modifiers
> >
> > This reverts Ifbb0a182171646df8161f6f42eafe2a476fea6b2 and implements
> > the previously missing bits. Inspired by the corresponding Vulkan
> > implementation.
> >
> > The extension is used by an upcoming Exo feature which was successfully
> > tested with this patch, see
> > https://chromium-review.googlesource.com/c/chromium/src/+/3857556
> >
> > Bug: angleproject:7664
> > Change-Id: I951d1a787e1db3a77b19fcea6186b7aa0a29872f
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904345
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: angleproject:7664
> Change-Id: I732fc9dad54366553987104fa035bde2afe08ecd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3924350
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7664
Change-Id: I1f4cf04eb725d789d3dadb35fb6e59b0d3e470a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949029
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
219af5de
|
2022-10-11T18:05:47
|
|
Revert "Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers""
This reverts commit f53eac299fb2e0083fa386af1f04038b32faebe4.
Reason for revert: Suspected of causing problems on kevin
devices again.
Original change's description:
> Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers"
>
> This is a reland of commit 1d8dce2587a23b59f911c801856372996bdb2f64
>
> New changes:
> - fail softly on buggy drivers (which are part of the CI)
>
> Original change's description:
> > EGL: Implement EGL_EXT_image_dma_buf_import_modifiers
> >
> > This reverts Ifbb0a182171646df8161f6f42eafe2a476fea6b2 and implements
> > the previously missing bits. Inspired by the corresponding Vulkan
> > implementation.
> >
> > The extension is used by an upcoming Exo feature which was successfully
> > tested with this patch, see
> > https://chromium-review.googlesource.com/c/chromium/src/+/3857556
> >
> > Bug: angleproject:7664
> > Change-Id: I951d1a787e1db3a77b19fcea6186b7aa0a29872f
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904345
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: angleproject:7664
> Change-Id: I732fc9dad54366553987104fa035bde2afe08ecd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3924350
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7664
Change-Id: I2ffc508ea4cc9e95055084fed4f63a52d9afdbd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3946903
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f53eac29
|
2022-09-19T15:08:54
|
|
Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers"
This is a reland of commit 1d8dce2587a23b59f911c801856372996bdb2f64
New changes:
- fail softly on buggy drivers (which are part of the CI)
Original change's description:
> EGL: Implement EGL_EXT_image_dma_buf_import_modifiers
>
> This reverts Ifbb0a182171646df8161f6f42eafe2a476fea6b2 and implements
> the previously missing bits. Inspired by the corresponding Vulkan
> implementation.
>
> The extension is used by an upcoming Exo feature which was successfully
> tested with this patch, see
> https://chromium-review.googlesource.com/c/chromium/src/+/3857556
>
> Bug: angleproject:7664
> Change-Id: I951d1a787e1db3a77b19fcea6186b7aa0a29872f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904345
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7664
Change-Id: I732fc9dad54366553987104fa035bde2afe08ecd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3924350
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0a288f29
|
2022-09-30T18:25:04
|
|
Revert "EGL: Stop announcing EGL_EXT_image_dma_buf_import_modifiers"
This reverts commit 11ac69d0a4942a0bbbf71193c10a39eb054d1448.
Reason for revert: Breaks ChromeOS tests crbug.com/1368287
Original change's description:
> EGL: Stop announcing EGL_EXT_image_dma_buf_import_modifiers
>
> The extension was enabled in
> https://chromium-review.googlesource.com/c/angle/angle/+/2128190 without
> implementing the required functions, `DisplayImpl::queryDmaBufFormats`
> and `DisplayImpl::queryDmaBufModifiers`, resulting in crashes.
>
> Bug: angleproject:7664
> Change-Id: Ifbb0a182171646df8161f6f42eafe2a476fea6b2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3902321
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7664
Change-Id: Idfeecffc18bebfbda5256ad510ee0c60aeb1338f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3930547
Reviewed-by: Roman Lavrov <romanl@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Roger Tawa <rogerta@chromium.org>
|
|
5c995ef3
|
2022-09-28T08:06:13
|
|
Revert "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers"
This reverts commit 1d8dce2587a23b59f911c801856372996bdb2f64.
Reason for revert: causes test failures on chromeos kevin bot b/248404756
Original change's description:
> EGL: Implement EGL_EXT_image_dma_buf_import_modifiers
>
> This reverts Ifbb0a182171646df8161f6f42eafe2a476fea6b2 and implements
> the previously missing bits. Inspired by the corresponding Vulkan
> implementation.
>
> The extension is used by an upcoming Exo feature which was successfully
> tested with this patch, see
> https://chromium-review.googlesource.com/c/chromium/src/+/3857556
>
> Bug: angleproject:7664
> Change-Id: I951d1a787e1db3a77b19fcea6186b7aa0a29872f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904345
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7664,b/248404756
Change-Id: Ib46d3ca76ce575be593dfa5322315621fb006158
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3924955
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
3cfea56c
|
2022-09-21T13:55:02
|
|
Avoid ANGLE formats on dmabuf-backed EGL images
DrmFourCCFormatToGLInternalFormat can return ANGLE-internal formats
that are only used on the Vulkan backend. This CL adds special logic
to dmabuf-backed EGL images to convert those formats back to GL_RGB8.
Bug: chromium:1353374
Change-Id: Id270d3d47d289620730c522d2e29d7fc67dc8321
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3911355
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
|
|
1d8dce25
|
2022-09-19T15:08:54
|
|
EGL: Implement EGL_EXT_image_dma_buf_import_modifiers
This reverts Ifbb0a182171646df8161f6f42eafe2a476fea6b2 and implements
the previously missing bits. Inspired by the corresponding Vulkan
implementation.
The extension is used by an upcoming Exo feature which was successfully
tested with this patch, see
https://chromium-review.googlesource.com/c/chromium/src/+/3857556
Bug: angleproject:7664
Change-Id: I951d1a787e1db3a77b19fcea6186b7aa0a29872f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904345
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
11ac69d0
|
2022-09-16T15:40:17
|
|
EGL: Stop announcing EGL_EXT_image_dma_buf_import_modifiers
The extension was enabled in
https://chromium-review.googlesource.com/c/angle/angle/+/2128190 without
implementing the required functions, `DisplayImpl::queryDmaBufFormats`
and `DisplayImpl::queryDmaBufModifiers`, resulting in crashes.
Bug: angleproject:7664
Change-Id: Ifbb0a182171646df8161f6f42eafe2a476fea6b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3902321
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
79aa846e
|
2022-08-17T13:40:33
|
|
Reland "Not recreate Framebuffer for eglMakeCurrent() call"
This is a reland of commit bf9c815263455403e587a9d2b0fdb9fb8e964208
Original change's description:
> Not recreate Framebuffer for eglMakeCurrent() call
>
> Right now, in eglMakeCurrent() call, ANGLE always release the
> default framebuffer object associated to the current context,
> and create a new default framebuffer object for the new current
> context. It impacts chrome performance, since chrome call
> eglMakeCurrent() a lot. With this CL, the default framebuffer
> will be created with gl::Context. When the surface is changed
> by eglMakeCurrent() call, ANGLE will detach the previous surface
> from the associated framebuffer, and attach the new surface to
> the next current context's default framebuffer.
>
> Bug: chromium:1336126
> Change-Id: Iaa747669250ae250245db383a716b4634df59ea4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827751
> Commit-Queue: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: chromium:1336126
Change-Id: Iade19004a4335ac7bc6ca176a3c14d34afff8c9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877405
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
02e8497f
|
2022-09-07T01:12:31
|
|
Revert "Not recreate Framebuffer for eglMakeCurrent() call"
This reverts commit bf9c815263455403e587a9d2b0fdb9fb8e964208.
Reason for revert: compile errors
https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1303510/overview
Original change's description:
> Not recreate Framebuffer for eglMakeCurrent() call
>
> Right now, in eglMakeCurrent() call, ANGLE always release the
> default framebuffer object associated to the current context,
> and create a new default framebuffer object for the new current
> context. It impacts chrome performance, since chrome call
> eglMakeCurrent() a lot. With this CL, the default framebuffer
> will be created with gl::Context. When the surface is changed
> by eglMakeCurrent() call, ANGLE will detach the previous surface
> from the associated framebuffer, and attach the new surface to
> the next current context's default framebuffer.
>
> Bug: chromium:1336126
> Change-Id: Iaa747669250ae250245db383a716b4634df59ea4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827751
> Commit-Queue: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: chromium:1336126
Change-Id: I7c07f62236f57523b29c536c04f9a9de79da2f4b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877404
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
bf9c8152
|
2022-08-17T13:40:33
|
|
Not recreate Framebuffer for eglMakeCurrent() call
Right now, in eglMakeCurrent() call, ANGLE always release the
default framebuffer object associated to the current context,
and create a new default framebuffer object for the new current
context. It impacts chrome performance, since chrome call
eglMakeCurrent() a lot. With this CL, the default framebuffer
will be created with gl::Context. When the surface is changed
by eglMakeCurrent() call, ANGLE will detach the previous surface
from the associated framebuffer, and attach the new surface to
the next current context's default framebuffer.
Bug: chromium:1336126
Change-Id: Iaa747669250ae250245db383a716b4634df59ea4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827751
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ba87b195
|
2022-09-01T13:38:17
|
|
OpenGL: Pass EGL_GL_COLORSPACE_KHR to OGL backend
When we create NativeBufferImageSiblingAndroid, the attributes is lost,
which caused a few AHB tests failed. This CL ensures we pass the
EGL_GL_COLORSPACE_KHR attribute to NativeBufferImageSiblingAndroid and
OpenGLES backend now passes.
Bug: b/205995945
Change-Id: I5a0a9dc1d34dbc0167890791b397c3c83b0adef4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3869368
Auto-Submit: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
|
|
f18b6335
|
2022-08-29T11:53:01
|
|
Replace std::this_thread::get_id() use with a unique thread id.
std::this_thread::get_id() gets recycled. It's pthread_self()
under the hood on Linux and Android which gets recycled, for
example when one thread terminates and another one starts
it is likely to return the same value.
Bug: angleproject:7602
Change-Id: I83d818bc17ead5cce8bce7f7d88fc1c7c0fa860c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855041
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44791792
|
2022-08-12T00:13:45
|
|
Use angle::FlatUnorderedSet for ImageSibling::mSourcesOf
As my test with Chromium on Android, ImageSibling::mSourcesOf only
contains one item, so change it to angle::FlatUnorderedSet with
default size 2.
Bug: chromium:1336126
Change-Id: Ie1ba3ebb195170ad5c9f4713b599a91de5052702
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828444
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6b248a68
|
2022-08-06T10:20:41
|
|
Use angle::FastVector in ImageEGL::initialize to avoid heap allocation
Bug: chromium:1336126
Change-Id: I40349c618b648f3a96c19b2f2b032275af90086b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812564
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0d5ba4dc
|
2022-08-05T19:43:54
|
|
Minor performance improvement
Use angle::FixedVector to replace std::vector in SyncEGL::initialize()
Use std::move() to avoid copy in Display::destroyInvalidEglObjects
Bug: chromium:1336126
Change-Id: If4c13babb14ed9995caf3c3dd3cfc362124b24cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812561
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fc6b747d
|
2022-01-10T17:01:30
|
|
EGL: Fallback to native device if no display available
On some Google-internal platforms, eglGetDisplay() fails. The
EXT_device_enumeration extension is the recommended way to initialize
an EGL display on these platforms.
Bug: chromium:1276086
Change-Id: I68969c19d643a46e8362ae265b1115b18ca3bbc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3378824
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b6e2e8a0
|
2021-11-16T13:13:14
|
|
GL: Fix share groups for display texture sharing.
Chrome uses display-level texture share groups for WebGL contexts. When
this extension is in use, make sure all internal contexts are created in
the same share group.
Bug: chromium:1268830, chromium:1268389, chromium:1268218
Change-Id: I3925dffb9bb23fbbc7adcd3bee8cd62323b993e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3285213
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d2c01d2c
|
2021-09-17T12:57:14
|
|
GL: Allow selecting virtualization groups at context creation
Rewrite EGL_ANGLE_platform_angle_context_virtualization to
EGL_ANGLE_context_virtualization, changing the context virtualization
parameter to an identifier for what virtualization group the frontend
context should be added to.
This allows ANGLE's GL backend to be used by multiple threads if the
user creates contexts with different virtualization groups.
Bug: angleproject:6406
Change-Id: I7414d4705ce10bdf63a9b824043d5dd040dad875
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169193
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4e22c2c3
|
2021-01-19T12:42:38
|
|
EGL: Merge DisplayAndroid/Gmb into DisplayEGL.
These classes classes have a lot of duplicated code for no reason.
DisplayGmb still needs more work.
Bug: angleproject:5563
Change-Id: Ia3d3d7f0bd7c03b4ac1aece4369c49118426b9de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140498
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
458389f2
|
2021-09-02T22:41:40
|
|
Vulkan: Support Linux dma-bufs
This change adds support for EGL_EXT_image_dma_buf_import and
EGL_EXT_image_dma_buf_import_modifiers on top of Vulkan's
VK_EXT_external_memory_dma_buf and VK_EXT_image_drm_format_modifier.
Bug: angleproject:6248
Change-Id: I581987f88e9ddcf351dc721f499f63912dca05f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3145610
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e1bc8de3
|
2021-09-08T07:59:37
|
|
Change links from 'master' to 'main' branch.
Bug: chromium:1226949
Change-Id: Ie7b28b2fa094cf0c0a407968d681e580519cbb88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148210
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8bb3c827
|
2021-07-22T19:06:40
|
|
Fix Multithreaded eglDestroyContext()/eglTerminate()
The following EGL calls can lead to a crash in eglMakeCurrent():
Thread A: eglMakeCurrent(context A)
Thread B: eglDestroyContext(context A)
B: eglTerminate() <<--- this release context A
Thread A: eglMakeCurrent(context B)
The eglMakeCurrent(context B) call will assert when attempting to
unMakeCurrent(), since thread A doesn't know that context A was already
destroyed by thread B.
To fix this:
1.) A Context will only be released once there are no Threads that
currently have a reference to it (no longer have the Context current).
- Context::mIsCurrent is being removed, since it was inaccurate and not
thread-safe. For example, when eglTerminate() was called, the
eglTerminate()'ing-Thread would "steal" the Context that was current on
another Thread to destroy it.
2.) A Display will only be fully terminated and its resources released
once all Contexts have been destroyed and are no longer current.
Otherwise, Display::terminate() will return if any Contexts are still in
use by a Thread.
EGL 1.5 Specification
3.2 Initialization
If contexts or surfaces, created with respect to dpy are current (see
section 3.7.3) to any thread, then they are not actually destroyed
while they remain current. If other resources created with respect to
dpy are in use by any current context or surface, then they are also
not destroyed until the corresponding context or surface is no longer
current.
With this fix, the app com.netmarble.sknightsmmo can start.
This also exposed an issue with GlslangFinalize(), since glslang can
only be initialized/finalized once per process. Otherwise, the
following EGL commands will call GlslangFinalize() without ever being
able to GlslangInitialize() again, leading to crashes since
GlslangFinalize() cleans up glslang for the entire process.
dpy1 = eglGetPlatformDisplay() |
eglInitialize(dpy1) | GlslangInitialize()
dpy2 = eglGetPlatformDisplay() |
eglInitialize(dpy2) | GlslangInitialize()
eglTerminate(dpy2) | GlslangFinalize()
eglInitialize(dpy1) | isInitialized() == true
Since Display::isInitialized() == true, the rest of
Display::initialize() is skipped and GlslangInitialize() is not called.
Later, the next test that attempts to compile a program will crash due
to glslang no longer being initialized.
Finally, this exposed the following tests leaking EGLContext handles:
- EGLSurfaceTest::initializeContext()
- EGLContextSharingTest.DisplayShareGroupContextCreation
- EGLCreateContextAttribsTest.IMGContextPriorityExtension
- EGLMultiContextTest.TestContextDestroySimple
Other tests were failing to reset the context, preventing the Display
from being terminated since there were still references to Contexts
owned by the display:
eglMakeCurrent(dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
Bug: angleproject:6208
Bug: angleproject:6304
Bug: angleproject:6322
Test: EGLContextSharingTest.EglTerminateMultiThreaded
Test: EGLContextSharingTestNoFixture.EglDestoryContextManyTimesSameContext
Test: Load com.netmarble.sknightsmmo
Change-Id: I160922af93db6cabe0ed396be77762fa8dfc7656
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046961
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
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>
|
|
6136620b
|
2021-03-25T15:43:06
|
|
Reland "EGL: GLES: Implement GL_EXT_protected_textures"
This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa
This removes changes in gl backend.
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c408926f
|
2021-07-22T12:00:59
|
|
Revert "EGL: GLES: Implement GL_EXT_protected_textures"
This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa.
Reason for revert: Suspected for breaking ANGLE->Chrome roller.
Bug: angleproject:6204
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3965
Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
6210a9b3
|
2021-03-25T15:43:06
|
|
EGL: GLES: Implement GL_EXT_protected_textures
Implement EGL_EXT_protected_content Images
Add protected member to Images and Textures
Add error when creating objects if not supported or
does't match native buffer
When creating siblings pass protected state
Add extension caps
Add Validation
Add GetTexParameter and SetTextparameter
Add protected to Texture and state
Expand tests for images and textures
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
22fc9523
|
2021-02-03T15:32:48
|
|
EGL: implement EGL_EXT_buffer_age
Add extension flag.
Add Validation check to surface query.
Enable extension for vulkan.
Modify AcquireNextImage to ++frame count and tag images
with frame number.
Buffer age is the difference between current frame count
and the tagged frame number on the buffer.
getBuffeAge may need to trigger AcquireNextImage to be current.
Pass through egl extension and query.
Add EGLBufferAgeTest
Test: angle_end2end_test --gtest_filter=EGLBufferAgeTest
Test: angle_deqp_egl_tests
--deqp-case=dEQP-EGL.functional.buffer_age.*
Bug: angleproject:3529
Change-Id: I0cb94be1c3e85d6f33e82a6a1ccdc9731b6a7f23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684724
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
73afaf1e
|
2021-02-26T18:08:08
|
|
Add EGL_WINDOW_BIT to all Ozone configs' EGL_SURFACE_TYPE
Ozone's EGL windows are emulated, so we can always create one,
thus setting EGL_WINDOW_BIT in all configs is safe.
This is now required because in http://crrev.com/c/2378922
EGL_WINDOW_BIT becomes a requirement to be able to run tests.
Previously Ozone's configs copied native EGL_SURFACE_TYPE,
which was either 0 or having just EGL_PBUFFER_BIT.
Bug: chromium:1181952, chromium:1034840
Change-Id: Ic2b14b43b3c32b47ea05d9d8da9fba7439f14d19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2725273
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
2d3402eb
|
2021-02-18T09:05:02
|
|
Revert "EGL: Merge DisplayAndroid into DisplayEGL."
This reverts commit 2cb6671534ddc6efe9664a2fb30be2b2fb13c8ef.
Reason for revert: Make DisplayGbm fail to compile. See: https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-compile-dbg/636833/overview
Original change's description:
> EGL: Merge DisplayAndroid into DisplayEGL.
>
> These two classes have a lot of duplicated code for no reason.
>
> Bug: angleproject:5563
> Change-Id: Ia9d8efeb50f3e52ffb1df6a6e462efdb20fd4a9a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2636678
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: angleproject:5563
Change-Id: Ic39071130727b37cc2a168d4b8e3c50f3e7184a5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2704051
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
2cb66715
|
2021-01-19T12:42:38
|
|
EGL: Merge DisplayAndroid into DisplayEGL.
These two classes have a lot of duplicated code for no reason.
Bug: angleproject:5563
Change-Id: Ia9d8efeb50f3e52ffb1df6a6e462efdb20fd4a9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2636678
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
393c44f1
|
2021-02-01T15:45:24
|
|
EGL: Trim requested config parameters to EGL.
ANGLE requests a config with several uneccessary parameters.
I suspect these parameters are causing issues in the wild
where eglChooseConfig fails.
Try requesting ES3 then fall back to ES2 configs.
Skip config caveats, floating point configs and multisample
configs, we provided the default parameters.
The resulting config is very similiar to the one Chrome
requests in gl_surface_egl.cc
Bug: chromium:1173161
Change-Id: Ifa78ff8081e3d86e823036981e1e2b5f8f751fed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665888
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Peng Huang <penghuang@chromium.org>
|
|
4968f6f2
|
2021-02-04T16:40:36
|
|
Move getRendererDescription from ContextImpl to DisplayImpl
The other backend description strings are in DisplayImpl. This will
help with caching the result of glGetString in the GL backend. Also
Update the getters to not be const in order to allow caching.
Bug: chromium:1173672
Change-Id: I43df35688762b23429f47f169c04482cf4cd089a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676881
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
e174c358
|
2021-02-04T15:14:10
|
|
GL: Consolidate glGetString calls
First step for cacheing the result of glGetString calls is mostly
cleanup.
Bug: chromium:1173672
Change-Id: I47281a09b9bd5859655d16376977a6eabcfbb3c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2676203
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0be050a4
|
2020-09-23T15:12:56
|
|
Pass GL_VERSION info through ANGLE's GL_RENDERER string
Chrome needs ANGLE to pass through the underlying driver vendor and
version, which cannot always be determined by the SystemInfo library.
This is done by construction GL_RENDERER in the frontend through
combining GL_VENDOR, GL_RENDERER, and GL_VERSION from the backends.
Example changes are in the doc:
https://docs.google.com/document/d/1p0dvrLlu8NKhO-RCU5gqlQ_LvcQj-ZqhvfwSk1n3Sz8/edit?usp=sharing
Bug: chromium:1126526
Bug: chromium:1131248
Bug: chromium:1134669
Bug: chromium:1169861
Change-Id: Ia618ebcd7f3caaeb376b4b6a03446732efdaeecb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2427383
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
df33d561
|
2021-01-19T11:42:35
|
|
EGL: Respect eglMakeCurrent with a null context.
Our context virtualization code would try to optimize this case
and leave the current context bound when possible. This has the
side effect of leaving the current surface bound too, even if
it was deleted.
During Chrome's window resizing, it deletes the window, calls
eglMakeCurrent with null and then recreates the window. This
causes an error because the window still exists because it was
left current in ANGLE.
Bug: chromium:1167718
Change-Id: I857be88be48dfa9c0dd9173f235e155e727e3014
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2637717
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2ebff7f2
|
2021-01-20T08:39:40
|
|
Support switch surfaces for external context.
WebView may change surfaces due to resizing. So we need to support
switching surfaces with the external context.
Bug: angleproject:5509
Change-Id: Id91eed092a63b3740fd796e0a3cb819ae18baaa9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2639077
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
043fcf18
|
2021-01-07T13:23:57
|
|
Support create ANGLE EGLContext from an external EGLContext
For Android WebView, Android creates an EGLContext, EGLSurface
and FBO, and makeCurrent on them, and then calls WebView draw
function to draw the WebView content on the current EGLSurface or
binded FBO. So to use ANGLE in WebView, this CL adds a way to
create ANGLE EGLContext from an external EGLContext, and save
and restore GL state in eglMakeCurrent().
Bug: angleproject:5509
Change-Id: I874986813117f125e23e975ea1adc51ac5b3a631
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2615239
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
6e9018bd
|
2020-06-25T12:58:14
|
|
GL: Clean up Display code related to multithreading
Rename mCurrentData to mCurrentNativeContexts, and clean up some logic
to be easier to read.
Bug: angleproject:4724
Change-Id: I6fd6d99d4f9a3af808d0baa665edfbdde7fb0500
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267424
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
108b759e
|
2020-12-04T15:15:49
|
|
EGL: Update EGL headers/xml
The new EGL headers introduced 'EGL_NO_X11' which we could use
for ANGLE vulkan display/headless backend.
Changes in CL:
1. Updated include/EGL/egl*.h and scripts/egl.xml based on latest
EGL repo: https://github.com/KhronosGroup/EGL-Registry
Note: local modifications to the file were preserved in
eglext.h, search keyword 'eglext_angle.h' for detail
2. run scripts to update entry_points/loader
scripts/generate_entry_points.py
scripts/generate_loader.py
scripts/run_code_generation.py
3. Update ANGLE code on API 'eglSwapBuffersWithDamage'
4. Format with 'git cl format'
Bug: angleproject:5260
Change-Id: I70ed0dccecf0426929ef8b4775605554d66c5724
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576314
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c859c0ac
|
2020-11-24T17:21:38
|
|
Batch replace std::unordered_map with angle::HashMap in src/
There are a few places that will remain std::unordered_map due to build
or run-time errors, which will need to be evaluated more closely to
determine if they should remain std::unordered_map or if there is
another Abseil data structure that would be more efficient while still
working correctly.
Bug: angleproject:4873
Change-Id: Ib04253e3ad6398e63f4cc2bfe12c0f9e57cb112b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558873
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
56663dbf
|
2020-11-19T21:21:19
|
|
EGL: Expose device query as a client extension.
This matches the extension spec. Previously we were exposing the ext
as a normal display extension. The extension should work without
needing a display.
Because the extension requires a non-null device for every display we
also add a MockDevice class to handle back-ends which don't implement
any attribute query extensions. By default the device query ext does
not expose any way to use devices so this works fine.
Bug: angleproject:5372
Change-Id: I474310a86aff6a83bd6f9a6b21c8a07c649f306d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551543
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5b419533
|
2020-11-03T13:33:44
|
|
GL: Implement EXT_YUV_target
Add test coverage of YUV format sampling as RGB or directly as YUV and
rendering as YUV using layout(yuv).
Initializing YUV AHardwareBuffers requires Android API 29 so ANGLE must
be compiled with:
android32_ndk_api_level = 29
android64_ndk_api_level = 29
The following tests can still run with Android API 26 because they don't
need to initialize the buffer:
ImageTestES3.ClearYUVAHB
ImageTestES3.YUVValidation
Bug: angleproject:4852
Bug: b/172649538
Change-Id: I4fe9afb2a68fb827dc5a5732b213b5eb60d585ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517562
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
96a49a48
|
2020-10-06T13:34:09
|
|
GLX, EGL: Support NV_robustness_video_memory_purge
Chrome is showing rendering issues on Linux/Nvidia after returning from
the lock screen. This could be related to the fact that Nvidia drivers
are not able to guarantee conformance after certain events.
By exposing this extension, we can instruct Chrome to reinitialize
contexts after they are purged by the driver. If this is not explicitly
requested, we can still generate an UnknownContextReset to tell apps
to discard the invalid context anyway.
Bug: chromium:1113040
Change-Id: Ie99b6356cc27fea33643d61b1d74f4f68a271d70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453689
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
08142700
|
2020-10-01T19:30:03
|
|
Work-around test runner & DebugAnnotator
Note: This precedes another CL that needs this change.
DebugAnnotator uses a global variable. The test runner doesn't change
state between testing different back-ends. This works-around the
problem by setting the global variable when the context is switched.
Because the GL back-end doesn't have its own DebugAnnotator sub-class,
add a Display* to DisplayImpl::makeCurrent(), so that
DisplayGL::makeCurrent() can install the front-end-Display's
DebugAnnotator.
Note: the Vulkan back-end gets this fix even though the new
DebugAnnotatorVk class will be added in a follow-on CL.
Bug: b/162068318
Bug: b/169243237
Bug: angleproject:5121
Change-Id: If08626a5310f9b4e3210e1a897a6886248e4d8ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451423
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
da61c40e
|
2020-10-06T01:57:55
|
|
Revert "Work-around test runner & DebugAnnotator"
This reverts commit e44c94d96a9b65615fe8f5038e124763ac8c45e5.
Reason for revert: Breaks build of DisplayGbm on ChromeOS:
src/libANGLE/renderer/gl/egl/gbm/DisplayGbm.{h,cpp}
First failing builds:
https://ci.chromium.org/p/chromium/builders/ci/ChromeOS%20FYI%20Release%20%28amd64-generic%29/1608
https://ci.chromium.org/p/chromium/builders/ci/ChromeOS%20FYI%20Release%20%28kevin%29/2212
Original change's description:
> Work-around test runner & DebugAnnotator
>
> Note: This precedes another CL that needs this change.
>
> DebugAnnotator uses a global variable. The test runner doesn't change
> state between testing different back-ends. This works-around the
> problem by setting the global variable when the context is switched.
>
> Because the GL back-end doesn't have its own DebugAnnotator sub-class,
> add a Display* to DisplayImpl::makeCurrent(), so that
> DisplayGL::makeCurrent() can install the front-end-Display's
> DebugAnnotator.
>
> Note: the Vulkan back-end gets this fix even though the new
> DebugAnnotatorVk class will be added in a follow-on CL.
>
> Bug: b/162068318
> Bug: b/169243237
> Bug: angleproject:5121
> Change-Id: I748e8a1fd09b72e07242ac7fb39154537dcce534
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444095
> Reviewed-by: Ian Elliott <ianelliott@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Commit-Queue: Ian Elliott <ianelliott@google.com>
TBR=courtneygo@google.com,ianelliott@google.com,jmadill@chromium.org
Change-Id: I99df2716951726ead24961dc3d27a7ec63aeda80
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/162068318
Bug: b/169243237
Bug: angleproject:5121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2451420
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
|
|
e44c94d9
|
2020-10-01T19:30:03
|
|
Work-around test runner & DebugAnnotator
Note: This precedes another CL that needs this change.
DebugAnnotator uses a global variable. The test runner doesn't change
state between testing different back-ends. This works-around the
problem by setting the global variable when the context is switched.
Because the GL back-end doesn't have its own DebugAnnotator sub-class,
add a Display* to DisplayImpl::makeCurrent(), so that
DisplayGL::makeCurrent() can install the front-end-Display's
DebugAnnotator.
Note: the Vulkan back-end gets this fix even though the new
DebugAnnotatorVk class will be added in a follow-on CL.
Bug: b/162068318
Bug: b/169243237
Bug: angleproject:5121
Change-Id: I748e8a1fd09b72e07242ac7fb39154537dcce534
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444095
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
e815afbf
|
2020-09-07T22:09:22
|
|
First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code
Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
|
|
c99c22bb
|
2020-09-15T16:53:26
|
|
EGL: Add support for EGL_ANDROID_create_native_client_buffer
This EGL extension will add support for creating EGLClientBuffer
backed by an Android window buffer (struct ANativeWindowBuffer)
which can be later used to create an EGLImage.
Bug: angleproject:5018
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceNativeClientBufferTarget*
Change-Id: If78ed7b80ad09629b8c5f5b5a0eb07a548e82e6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404320
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
b328e044
|
2020-09-16T10:30:05
|
|
EGL: Add another config for Mali
Test: angle_end2end_tests
Bug: angleproject:5053
Change-Id: I7aef6b5babe8f582e7500464f53e65721eaf0520
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2414733
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4cf2501c
|
2020-07-27T13:19:27
|
|
Add extension EGL_ANGLE_display_semaphore_share_group
For sharing semaphores globally.
Bug: angleproject:4877
Change-Id: I472e0902fd04ca8350d74e6c0ae6925ee930ccf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2319370
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f359cb66
|
2020-07-02T15:15:54
|
|
Reland: Refactor DisplayGbm::generateConfigs
We should explicitly set EGL_SURFACE_TYPE to EGL_DONT_CARE.
Otherwise, it's default value is EGL_WINDOW_BIT. However,
on some platforms, only EGL_PBUFFER_BIT is supported.
In this case, no matching config is found. So mWindowSurface
and mPbufferSurface will be nullptr. That's why we see
the bot failed.
Bug: chromium:1105208
Change-Id: I8ee2487fd24bab86a5ec22fbe7b8ff68081bc15c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304429
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
074bc23f
|
2020-07-21T18:11:57
|
|
Implement DRM_FORMAT to GL format conversion
Bug: chromium:1096442
Change-Id: I79722073bd1f2674b40e7eaa8d5311a09bc36416
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309636
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
66d85686
|
2020-07-13T21:25:40
|
|
Revert "Refactor DisplayGbm::generateConfigs"
This reverts commit 7d82d29398cc9106af5204f9df3525660ffe2866.
Reason for revert: Suspect CL failing on Linux FYI Ozone
Original change's description:
> Refactor DisplayGbm::generateConfigs
>
> Bug: angleproject:4809
> Change-Id: I5f352f737bbd53c78d9e01055c17eabd17d5fb8a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278667
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
TBR=geofflang@chromium.org,jiajia.qin@intel.com,jmadill@chromium.org
Change-Id: I62c8a6a78d1ccfe8aa63bea7a9409229cd0059ab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4809, chromium:1105208
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2296041
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
|
|
7d82d293
|
2020-07-02T15:15:54
|
|
Refactor DisplayGbm::generateConfigs
Bug: angleproject:4809
Change-Id: I5f352f737bbd53c78d9e01055c17eabd17d5fb8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278667
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
3c8f6094
|
2020-06-26T12:42:37
|
|
EGL: Add basic multithreading support
Adds first step to allowing multithreaded contexts: letting multiple
threads use ANGLE as long as only one thread has a current context at
a time.
Bug: angleproject:4724
Bug: angleproject:4725
Change-Id: I4f606bdb15386cff9e3cb84d4120781e24e15fe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269864
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
59656899
|
2020-06-15T12:48:23
|
|
Don't expose pixmap support from DisplayEGL.
BUG=angleproject:4560
BUG=chromium:1094634
Change-Id: Iebab16207eb21175b6d2f1236502bb8a26c43d90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246322
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0df92012
|
2020-06-03T17:08:43
|
|
Rename Platform.h to PlatformMethods.h.
"platform.h" is too common a name and causes headers to be
included incorrectly. Disambiguate the header using a more
specific name.
Solves a problem that came up with the GLES 1 tests and the
standalone test harness.
Bug: angleproject:3162
Change-Id: I88229a2c9407e0db57f5beee44daa11a4075f700
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229065
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
4b2a9cbc
|
2020-05-21T08:57:02
|
|
move duplicated SwapControlData to rendergl_utils.
Both DisplayOzone and DisplayGLX have SwapControlData declared and
defined. In the future, when both of them will be compiled
(DisplayGLX will be required for Ozone/X11), they will result
in a compilation error stating about multiple definitions of the
struct.
Thus, move that rendergl_utils.
Bug: chromium:1084458
Change-Id: Ib174d0e8de1ac4773c841fe286175358acb15d79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210702
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
56a4cc12
|
2020-05-21T13:17:21
|
|
Rename DisplayOzone to DisplayGbm.
DisplayOzone doesn't really have anything related to Ozone.
Instead, it's the gbm platform that is used there. Thus,
rename it to DisplayGbm.
Bug: chromium:1084458
Change-Id: I4d974f6afbf0daa28fc3e83943b35814dca203fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2211763
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
85ae836f
|
2020-03-30T16:03:47
|
|
GL: Implement EGL_EXT_image_dma_buf_import
Add support for the EGL_EXT_image_dma_buf_import on EGL implementations
that support it natively. This extensin is used on ozone to import
native compositing buffers.
This patch also adds new tokens in EGL_EXT_image_dma_buf_import_modifiers
which are used in eglCreateImageKHR.
BUG=angleproject:4529
Change-Id: I49bff831b591fb19fcdcec1145c7a61f5d8020c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2128190
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
dac5cc3b
|
2020-04-08T18:26:46
|
|
EGL: Add support for EGL_EXT_image_gl_colorspace extension
Add support for creating images with custom colorspace.
Bug: angleproject:3756
Tests: angle_end2end_tests --gtest_filter=ImageTest*
Change-Id: I9c332c012541c094728d9d9bde7add4189084a33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104088
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
a889d30f
|
2020-02-04T23:08:55
|
|
Reland "Provide default implementation of rx::DisplayEGL"
This is a reland of 123fd97000bb9fd912159bb9ccc62308b763aead
Original change's description:
> Provide default implementation of rx::DisplayEGL
>
> Will allow to use EGL instead of GLX on X11.
>
> Meant to be used on modern EGL so it requires the extensions
> EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
> This keeps the default implementation simple (no pBuffer
> fallback)
>
> Also provide simple WorkerContextEGL.
>
> Bug: angleproject:4328
> Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:4328
Change-Id: I02046613324e9283ba8f2ed02dd9c7ce703e0fde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063045
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
90c9f66c
|
2020-02-19T12:51:01
|
|
Revert "Provide default implementation of rx::DisplayEGL"
This reverts commit 123fd97000bb9fd912159bb9ccc62308b763aead.
Reason for revert: Causes GL creation failure on Linux FYI Ozone (Intel)
Original change's description:
> Provide default implementation of rx::DisplayEGL
>
> Will allow to use EGL instead of GLX on X11.
>
> Meant to be used on modern EGL so it requires the extensions
> EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
> This keeps the default implementation simple (no pBuffer
> fallback)
>
> Also provide simple WorkerContextEGL.
>
> Bug: angleproject:4328
> Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,julien.isorce@chromium.org
Change-Id: Ia55180ed83386fe1a158ccefda6155b33d779e98
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4328
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062604
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
123fd970
|
2020-02-04T23:08:55
|
|
Provide default implementation of rx::DisplayEGL
Will allow to use EGL instead of GLX on X11.
Meant to be used on modern EGL so it requires the extensions
EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
This keeps the default implementation simple (no pBuffer
fallback)
Also provide simple WorkerContextEGL.
Bug: angleproject:4328
Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
59126651
|
2020-02-17T09:52:05
|
|
Revert "Provide default implementation of rx::DisplayEGL"
This reverts commit e82ab75a4ca8f4389a5f23b3a51d9388a92428e2.
Reason for revert: crbug.com/1052772
Original change's description:
> Provide default implementation of rx::DisplayEGL
>
> Will allow to use EGL instead of GLX on X11.
>
> Meant to be used on modern EGL so it requires the extensions
> EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
> This keeps the default implementation simple (no pBuffer
> fallback)
>
> Also provide simple WorkerContextEGL.
>
> Bug: angleproject:4328
> Change-Id: I825c6998e4a3727a13e533ede3d9fb1820edc804
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031699
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,syoussefi@chromium.org,jonahr@google.com,jmadill@chromium.org,julien.isorce@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:4328
Change-Id: I62436cad1e6aae0c5e072acb1dab0bd10b2cf722
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2058952
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
e82ab75a
|
2020-02-12T13:49:22
|
|
Provide default implementation of rx::DisplayEGL
Will allow to use EGL instead of GLX on X11.
Meant to be used on modern EGL so it requires the extensions
EGL_KHR_no_config_context and EGL_KHR_surfaceless_context.
This keeps the default implementation simple (no pBuffer
fallback)
Also provide simple WorkerContextEGL.
Bug: angleproject:4328
Change-Id: I825c6998e4a3727a13e533ede3d9fb1820edc804
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031699
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5641d193
|
2020-02-04T21:31:47
|
|
Move generic code from rx::DisplayAndroid/Ozone to rx::DisplayEGL
This CL is intended to move and factorize code only.
Move DisplayAndroid::generateConfigs to DisplayEGL::generateConfigs
because the code is generic and not Android specific. It will be
useful later to provide a default implementation of rx::DisplayEGL.
Same for createWindowSurface and createPbufferSurface, they have
been moved without changes from DisplayAndroid to DisplayEGL.
Unimplemented functions in DisplayOzone and DisplayAndroid have
been moved to DisplayEGL.
Bug: angleproject:4328
Change-Id: Ibbd36f99ea457cbd69391beb4a83f23403bc40fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2038286
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
df0203a9
|
2020-01-15T14:05:33
|
|
EGL: Add support for EGL_EXT_pixel_format_float extension
Add support for floating point configs. On backends that
support rendering to floating point formats, add them to
EGL's frambuffer config list
Bug: angleproject:3958
Tests: dEQP-EGL.functional.wide_color.*fp16*
angle_end2end_tests --gtest_filter=EGLFloatSurfaceTest*
Change-Id: Ie65f63013483267985c2b308567bf5025acf750e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993686
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8c0bbfbb
|
2019-11-25T14:48:11
|
|
EGL: Implement EGL_ANDROID_framebuffer_target
Add attribute to configs.
Add attribute matching logic.
Does not set attribute in Vulkan configs, need solution to
query Android for which formats are valid. anglebug.com/4208
New end2end test.
Bug: angleproject:3961
Test: angle_end2end_tests --gtest_filter=EGLAndroidFramebufferTargetTest*
Change-Id: I7e14c47b39e9539f6181c3c1d75c76fe63ca0f8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1960508
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
942d9152
|
2019-12-23T15:31:52
|
|
EGL: Add support for EGL_KHR_gl_colorspace extension
If the Vulkan backend supports VK_EXT_swapchain_colorspace extension,
enable the option for applications to create surfaces with non-linear
formats. Not all formats have non-linear versions and is platform
specific.
Tests: dEQP-EGL.functional.wide_color.*
angle_deqp_egl_tests --use-angle=vulkan --deqp-gl-context-type=egl --deqp-case=dEQP-EGL.functional.wide_color.*
Bug: angleproject:2514
Change-Id: I441ee797cceef92c84473bfa18605c4fd8180de1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1951963
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
859ca039
|
2019-10-24T12:55:08
|
|
Enable "-Wshadow-field".
This warning verifies we don't give variables names that shadow
fields. This is another good warning to enable that Skia requires.
This CL also fixes a small number of points in code that used this
bad pattern. We have to disable the warning for Glslang for now.
Bug: angleproject:4046
Change-Id: I072a686e3023b60cfafa778525fe712ce1fb5a50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877476
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7e23efd3
|
2019-10-17T14:43:14
|
|
Fix compiler warning in NativeBufferImageSiblingAndroid.h.
BUG=angleproject:4026
Change-Id: If66f21c4d5693213611b05fa71ba1da328ea612c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866078
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a7003d5f
|
2019-07-19T11:43:34
|
|
Reland "EGL: Implement EGL_KHR_no_config_context"
Add extension string and flag to all renderers that pass
Modify eglCreateContext to accept EGL_NO_CONFIG
Modify eglQueryContext per specification
Modify eglMakeCurrent to bypass surface-context config compatibility checks
Add check for client API
Create new end2end test EGLNoConfigContextTest
Disable on most renderers to prevent possible fail with future configs
Bug: angleproject:3635
Test: dEQP-EGL.functional.create_context.no_config*
angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
Change-Id: I88c1922a1e75afcc49922a9eccb4f1ae046c024a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1806140
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d32dae1b
|
2019-09-13T22:06:56
|
|
Revert "EGL: Implement EGL_KHR_no_config_context"
This reverts commit c4b1fbd69b12c0af30a58d0810f88d1301b8dabd.
Reason for revert: https://crbug.com/1003971
Original change's description:
> EGL: Implement EGL_KHR_no_config_context
>
> Add extension string and flag to all renderers that pass
> Modify eglCreateContext to accept EGL_NO_CONFIG
> Modify eglQueryContext per specification
> Modify eglMakeCurrent to bypass surface-context config compatibility checks
> Add check for client API
> Create new end2end test EGLNoConfigContextTest
> Disable on most renderers to prevent possible fail with future configs
>
> Bug: angleproject:3635
> Test: dEQP-EGL.functional.create_context.no_config*
> angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
> Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,timvp@google.com,jmadill@chromium.org,m.maiya@samsung.com,j.vigil@samsung.com
Change-Id: I849aa796803e3cda9b480a39be813ef9105325bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3635
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803789
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
c4b1fbd6
|
2019-07-19T11:43:34
|
|
EGL: Implement EGL_KHR_no_config_context
Add extension string and flag to all renderers that pass
Modify eglCreateContext to accept EGL_NO_CONFIG
Modify eglQueryContext per specification
Modify eglMakeCurrent to bypass surface-context config compatibility checks
Add check for client API
Create new end2end test EGLNoConfigContextTest
Disable on most renderers to prevent possible fail with future configs
Bug: angleproject:3635
Test: dEQP-EGL.functional.create_context.no_config*
angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
7e48c9eb
|
2019-08-06T17:17:19
|
|
Add explicit integer casts
WebKit uses the -Wshorten-64-to-32 flag which warns on these cases.
Bug: 3439
Change-Id: I8c1de60da0f173ca2036e2120e79b857f5f2775f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740866
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
b3eeb2a4
|
2019-08-05T17:02:43
|
|
Emulate RGB textures using BGRX IOSurfaces.
When the user requests an IOSurface Pbuffer with an RGB format, emulate the
missing alpha channel by clearing it to 1.0 and masking reads and writes in
shaders.
BUG=angleproject:3766
Change-Id: I58c992bf641d9ece0f923603f32640615150e4f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737437
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
69e46a18
|
2019-07-03T14:43:32
|
|
GL: Implement EGL_ANDROID_native_fence_sync
This extension allows Chrome to use ANGLE on newer Android devices.
BUG=angleproject:3643
Change-Id: I5456d61749399ca2bbc11cc5e98b9120f8702406
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687121
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3fd0b2db
|
2018-09-20T15:59:54
|
|
Implement EGL_ANDROID_get_native_client_buffer.
BUG=angleproject:2508
Change-Id: I21e6251cd1341c1f85f1ba16ba08f5876a8ff8de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1238885
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|