|
ce6f9c8f
|
2021-11-19T14:52:48
|
|
Update checked numerics library.
This library hadn't been updated in quite some time and had bugs
which affected UBSAN in some operators.
Bug: angleproject:5795
Change-Id: I40f658655034ce03df29cf4c71acb3f6fe96bef0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3289941
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@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>
|
|
6fe13477
|
2021-11-11T00:47:14
|
|
Vulkan: Add external's pNext to ANGLE_external_objects_flags
ANGLE was chaining VkImageFormatListCreateInfoKHR to
VkImageCreateInfo::pNext to support sRGB extensions. For external
images, it was unknown whether that was valid because there was no way
to know if external used an identical chain of pNexts. This was causing
a discrepancy between images created by Chrome and those created by
ANGLE as part of an import.
This change updates ANGLE_external_objects_flags to take in the pNext
chain external has used to create the image so ANGLE could create the
image identically.
Bug: chromium:1266094
Change-Id: I479b9e7ff39d437425dc91c79834880749766f99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274177
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f045fe07
|
2021-11-04T10:44:20
|
|
Fix MSRTT unsized texture formats querying supported samples.
The texture format information in gl::Context is sized formats only.
When MSRTT textures are used, they would query the potentially unsized
format for maximum supported samples. This would return 0 and cause an
incomplete framebuffer when the sample count missmatched with other
attachments.
Bug: chromium:1238327
Change-Id: I06514b1b9badefa81bba3b7ad9ba5db932b4c12b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260555
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f422f21a
|
2021-11-09T18:42:15
|
|
Reland "Metal: Reintroduce GPU power preference selection code."
This reverts commit 67a8cf07a740c5ce3aafd2ad7fddd370451b3525.
Reason for revert: Landed Chromium-side dependency:
https://chromium-review.googlesource.com/c/chromium/src/+/3271170
Original change's description:
> Revert "Metal: Reintroduce GPU power preference selection code."
>
> This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f.
>
> Reason for revert: Blocking roller, please re-land with the fix.
>
> Original change's description:
> > Metal: Reintroduce GPU power preference selection code.
> >
> > This CL re-introduces the GPU power preference code to
> > the metal backend. It also reworks EGLDisplay caching
> > in the frontend to cache based on the native display
> > as well as the power preference attribute.
> > A new extension, EGL_ANGLE_display_power_preference is
> > added based on EGL_ANGLE_power_preference. This extension
> > is a client extension that allows selection of GPU on
> > display creation, similar to how GPUs are selected on
> > context creation in EGL_ANGLE_power_preference.
> > This CL adds EGLDisplayPowerPreferenceTest and enables it on
> > the metal backend.
> >
> > Bug: angleproject:6143
> > Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Gregg Tavares <gman@chromium.org>
> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
>
> TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:6143
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
# Not skipping CQ checks because this is a reland.
Bug: angleproject:6143
Change-Id: Id9b0a5cbb76e4dea9e2f2da2b1c47a0587dfdaf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270970
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
67a8cf07
|
2021-11-09T15:10:50
|
|
Revert "Metal: Reintroduce GPU power preference selection code."
This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f.
Reason for revert: Blocking roller, please re-land with the fix.
Original change's description:
> Metal: Reintroduce GPU power preference selection code.
>
> This CL re-introduces the GPU power preference code to
> the metal backend. It also reworks EGLDisplay caching
> in the frontend to cache based on the native display
> as well as the power preference attribute.
> A new extension, EGL_ANGLE_display_power_preference is
> added based on EGL_ANGLE_power_preference. This extension
> is a client extension that allows selection of GPU on
> display creation, similar to how GPUs are selected on
> context creation in EGL_ANGLE_power_preference.
> This CL adds EGLDisplayPowerPreferenceTest and enables it on
> the metal backend.
>
> Bug: angleproject:6143
> Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Gregg Tavares <gman@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:6143
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
01716170
|
2021-10-14T13:24:41
|
|
Metal: Reintroduce GPU power preference selection code.
This CL re-introduces the GPU power preference code to
the metal backend. It also reworks EGLDisplay caching
in the frontend to cache based on the native display
as well as the power preference attribute.
A new extension, EGL_ANGLE_display_power_preference is
added based on EGL_ANGLE_power_preference. This extension
is a client extension that allows selection of GPU on
display creation, similar to how GPUs are selected on
context creation in EGL_ANGLE_power_preference.
This CL adds EGLDisplayPowerPreferenceTest and enables it on
the metal backend.
Bug: angleproject:6143
Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
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>
|
|
bdc633a8
|
2021-10-20T12:33:42
|
|
Pass command type down to ContextImpl::syncState.
This mirrors the command type passed to the object sync functions.
It will be useful to determine if we're syncing for a draw or a
dispatch call.
Bug: angleproject:6595
Change-Id: Ia04bd14a3c2dd2eb211c47a6e55f8ddcbfedfaaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233904
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
60271a71
|
2021-10-15T10:14:35
|
|
GL: Re-scope Intel/Mesa version for disableSyncControlSupport.
This workaround's scope was widened due to issues detecting intel
GPUs in systems with multiple GPUs. That was fixed, so we can
re-scope the workaround.
Bug: chromium:1187475
Change-Id: Iaf946369273dc5c1e2f8f91a14758b6751615c7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226721
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
2615e6b2
|
2021-10-07T07:07:46
|
|
Remove the syncFramebufferBindingsOnTexImage workaround
It's unused
Bug: angleproject:6503
Change-Id: Ia9039432006ec6988e93db08b9a572c7a7f837ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212428
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e13bbea9
|
2021-10-07T15:52:51
|
|
Revert "Disable clearing textures for robust init on Mac."
This reverts commit 33207313b2172525d7dc0526afd6d0aa51503bb1.
Reason for revert: Spike in flush crashes
Bug: chromium:1257538
Original change's description:
> Disable clearing textures for robust init on Mac.
>
> Suspecting this path generates errors and hangs.
>
> Bug: chromium:1253356
> Change-Id: I0ef4a71578fa15631074f394d49e9878f3e301df
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3187131
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1253356
Change-Id: I90630bdac02381511ae042b1ef91a729c7f859dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212331
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
90403672
|
2021-10-08T09:50:47
|
|
Fix Wbitwise-instead-of-logical warnings
`a && b` only evaluates b if a is true. `a & b` always evaluates
both a and b. If a and b are of type bool, `&&` is usually what you
want, so clang now warns on `&` where both arguments are of type bool.
From what I can tell, in ANGLE it wasn't important if we evaluate both
branches or not in the places where this fired, so I went with `&&`
everywhere.
Bug: chromium:1255745
Change-Id: I7ac6a12c37f28a872de1fe9b9b96abf43e39b21c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212889
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
ab7b5838
|
2021-10-05T10:58:10
|
|
GL: Remove old NVIDIA workaround.
This affects drivers from ~ early 2017. These drivers should be
fairly rare by now.
Bug: angleproject:2059
Change-Id: I0d086ee00a0cc0c38ffdbf2294341fe832f80fd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206070
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
54d4bfe5
|
2021-09-28T17:27:57
|
|
Update ANGLE Metal to Webkit at Sept 29 2021
This commit merges changes from Webkit into ANGLE upstream.
The following commits were used:
Current:
https://git.webkit.org/?p=WebKit.git;a=commit;h=e01d0bda8f4b7dc2fd834b92802d15d8c15735f
Previous:
https://git.webkit.org/?p=WebKit.git;a=commit;h=492f078198748e8ff248eea0bb979cf79e5f5adfj
The following commits were merged in from the Webkit Repository:
(Hashes from git://git.webkit.org/WebKit-https.git)
03ea44c78ce5665d4ec9add271260121cbc7bc6c
Problems with drawElements in some conditions
https://bugs.webkit.org/show_bug.cgi?id=230107
c8dc8e0c4d1109d39a62eb197b45e95132380290
ANGLE Metal: single-component swizzles do not compile
https://bugs.webkit.org/show_bug.cgi?id=230472
7285dbaaf5af15877d6c332b30ef7a4d67225460
webgl-compressed-texture-s3tc-srgb.html fails on Intel+AMD Metal
https://bugs.webkit.org/show_bug.cgi?id=229941
4c72f92967ecd2a095666fef431384c4f5f60fb4
fragcolor-fragdata-invariant.html fails
https://bugs.webkit.org/show_bug.cgi?id=223317
cd943145467f54e5928793c0dd3dfa2313c007dd
ANGLE Metal index buffer restart range cache could be maintained..
https://bugs.webkit.org/show_bug.cgi?id=227451
f075ff77e592eabd54dd659a8e13617cc5faedc8
ANGLE Metal infinities and NaNs generated with incorrect syntax
https://bugs.webkit.org/show_bug.cgi?id=229439
5862073269122f4b2d43d96d3922757557755e86
[Metal ANGLE] Fix over-autorelease of
rx::DisplayMtl::getMetalDeviceMatchingAttribute()...
<https://webkit.org/b/229128>
85f797ad31db048cb82cbafd428ef77f0b839312 ANGLE Cocoa compiles....
https://bugs.webkit.org/show_bug.cgi?id=228987
a67918ba279ad4842b6ae84a79c3f1c0cdc35ace Avoid infinite recursion...
https://bugs.webkit.org/show_bug.cgi?id=228978
d341f67de0033adcf1ec6373ace6a54b06c4a031
Cherry-pick ANGLE: Revise WebGL's shaderSource validation
https://bugs.webkit.org/show_bug.cgi?id=228951
1e2714d981e97de8234ba055570dfdf56e8b6944
3.5 MB system-wide footprint impact due to thread-locals...
https://bugs.webkit.org/show_bug.cgi?id=228240
d32e5cca34081997d32504b0b56c18b9703ff3be
Build Default Metal library offline
https://bugs.webkit.org/show_bug.cgi?id=227333
33702279faccfd4c8d1c8a6d549925f9ca9a4e8f
WebGL2 demo doesn't work due to failing compilation....
https://bugs.webkit.org/show_bug.cgi?id=226865
0a075885d242db38c4e435a6597173dc3b082173
rAF driven WebGL submits excessive amount of GPU work...
https://bugs.webkit.org/show_bug.cgi?id=227059
f38a92b3e7c17efda269caa7066e7ffe2f828e72
WebGL shader link error in iOS 15 beta: "Internal error..."
https://bugs.webkit.org/show_bug.cgi?id=227723
98d48f011d561531470d97f26a022767b5452fb7
REGRESSION (r279466): [Big Sur] webgl/1.0.3/conformance &...
https://bugs.webkit.org/show_bug.cgi?id=227596
Bug: angleproject:6471
Change-Id: I07166d0dc4b5c3579d98353485b3245b81c7b882
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3194322
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
33207313
|
2021-09-27T10:45:17
|
|
Disable clearing textures for robust init on Mac.
Suspecting this path generates errors and hangs.
Bug: chromium:1253356
Change-Id: I0ef4a71578fa15631074f394d49e9878f3e301df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3187131
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
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>
|
|
b918b1c6
|
2021-09-10T16:44:59
|
|
Auto-generate GLES extensions.
Uses the data from registry.xml combined with gl.xml to produce the
necessary header and source file with the strings map. Also updates
the list of supported extensions. Several extensions were missing
from the supported extensions map.
ARB_sync and NV_robustness_video_memory_purge require some specific
tweaks to get the generator to accept them as gles extensions.
Also includes a generate markdown file that lists supported exts.
Bug: angleproject:6379
Change-Id: I95bd589aa31a62b4a008de24408c7823a49023ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157418
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
e84b0154
|
2021-09-13T16:04:20
|
|
Update extension boolean names.
This is in preparation for auto-gen, which uses a simple naming
scheme. This fixes the bool names to be totally consistent with the
extension names.
Bug: angleproject:6379
Change-Id: Ia212449be04accb0e4f006b55b1813ab4481fa0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157417
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1ca1589f
|
2021-09-13T10:56:58
|
|
Give GLES extension bools a vendor suffix.
This is in preparation for auto-generation which will give all of
these bools suffixes.
Bug: angleproject:6379
Change-Id: I7e3f6c9b644c41a2165e6bf7b62d661fd352a250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158503
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9ada074a
|
2021-09-10T16:18:19
|
|
Move capability values from gl::Extensions to gl::Caps.
Several extensions stored extra information in the wrong structure.
Move them to the Caps structure in prepraration for auto-generating
the Extensions struct.
Bug: angleproject:6379
Change-Id: If5643b72039e299cb0f7c49591d13b3c7cd8a36c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158403
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e83f1b9a
|
2021-09-13T09:31:50
|
|
Reland "GL: Relax the assertion to exclude BoundAsAttachment bit"
This is a reland of b27bca08ef4ee20a0952b8efeb7c132bdb2ebb50
Original change's description:
> GL: Relax the assertion to exclude BoundAsAttachment bit
>
> Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is
> attached to FBO. This bit usually is processed at Texture::syncState
> time. But there are situations that This call may not been called before
> texture is been used, since existing code not expecting merely attach
> tetxure to FBO will insert dirty bit to texture and there is this place
> updateProgramTextureBindings() in GL backend is hitting assertion
> because of this new bit. This CL adds a new check
> hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion.
>
> Bug: angleproject:6381
> Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: angleproject:6381
Change-Id: I29eb759a0b4500b7ab6d3d4ce73a27bc71882b57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158299
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
3ad0b862
|
2021-09-13T20:10:10
|
|
Revert "GL: Relax the assertion to exclude BoundAsAttachment bit"
This reverts commit b27bca08ef4ee20a0952b8efeb7c132bdb2ebb50.
Reason for revert: Wrong fix.
Original change's description:
> GL: Relax the assertion to exclude BoundAsAttachment bit
>
> Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is
> attached to FBO. This bit usually is processed at Texture::syncState
> time. But there are situations that This call may not been called before
> texture is been used, since existing code not expecting merely attach
> tetxure to FBO will insert dirty bit to texture and there is this place
> updateProgramTextureBindings() in GL backend is hitting assertion
> because of this new bit. This CL adds a new check
> hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion.
>
> Bug: angleproject:6381
> Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: angleproject:6381
Change-Id: I0e7bf066a3736c72918f1fe36d195b5c516b569c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158297
Reviewed-by: Charlie Lao <cclao@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
b27bca08
|
2021-09-13T09:31:50
|
|
GL: Relax the assertion to exclude BoundAsAttachment bit
Front end has added DIRTY_BIT_BOUND_AS_ATTACHMENT when texture is
attached to FBO. This bit usually is processed at Texture::syncState
time. But there are situations that This call may not been called before
texture is been used, since existing code not expecting merely attach
tetxure to FBO will insert dirty bit to texture and there is this place
updateProgramTextureBindings() in GL backend is hitting assertion
because of this new bit. This CL adds a new check
hasAnyDirtyBitExcludingBoundAsAttachmentBit to avoid hitting assertion.
Bug: angleproject:6381
Change-Id: I615c27e5d5efe751a25d5c9ecf11c1409a699f46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
8ea87a67
|
2021-08-17T18:46:36
|
|
Vulkan: Avoid texture format fallback when possible
Some texture formats are not renderable on some hardware. For example,
R4G4B4A4 are not renderable on nvidia and not blendable on ARM.
R5G5B5A1 are also not blendable on nvidia. Right now when we generate
format table, we are being most conservative, picking an actual format
that is always renderable and blendable. This means when R4G4B4A4 is
used on one of these GPUs, we are always falling back to R8G8B8A8
regardless if the texture is actually being used as color attachment or
not. This CL adds a actualRenderableImageFormatID field in vk::Format.
Initially we will pick actualImageFormatID which only ensures texture
sample capability. If later on the texture is being attached to FBO,
then we will switch to actualRenderableImageFormatID and do data copy if
necessary. This way we save memory and reduce texture bandwidth for most
usage of these textures. For renderBuffer and surfaces and EGLImages, we
always pick the renderable textures.
Bug: b/196456356
Change-Id: I02eec3365c2a317b0d1bad6dbdc3e741114c5bba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104514
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
851ecf49
|
2021-09-08T14:40:41
|
|
GL: Temporarily disable MSRTT on Android.
This extension is causing validation errors and graphics corruption
in Chrome. Disable it until the bugs are resolved.
Bug: chromium:1238327
Change-Id: I823303f2d75f2d6422cf5680a8751b9b79c8580b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149573
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@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>
|
|
f015ae81
|
2021-08-02T12:47:32
|
|
Implement onLabelUpdate method.
This change will implement the onLabelUpdate method by calling from
every TextureStorage object. Instead of using setDebugName,
introduced two new functions, setInternalName and setKHRDebugLabel,
which will set the internal name and KHR label respectively that will
further be sent to D3D string.
Bug: chromium:1164111
Change-Id: I401ca9f6e8a2099a8807f0d7f321efe74269f9f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067921
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
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>
|
|
47279c72
|
2021-08-15T23:20:32
|
|
Adjust compressed texture validation; add test
- Format check happens before target check to accommodate
for unknown / disabled format enums.
- PVRTC1 and ETC1 enums are not allowed for 2D Array
and 3D targets.
- PVRTC1 sRGB formats require enabling two extensions.
- New noCompressedTexture3D limitation for older Metal
versions.
The test checks that only the appropriate entry points
are affected after enabling compressed texture extensions.
Bug: angleproject:5731, angleproject:6280
Change-Id: I4943cd3a82f60f9348215caa8639e0bc3e8b45db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094018
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fc09350a
|
2021-08-18T12:24:39
|
|
GL: Update VertexArrayGL to use ANGLE_GL_TRY.
Bug: angleproject:3020
Change-Id: If3409d0d4bc9fdc5c990cece92461e2526c752c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1809058
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
eb458fbe
|
2021-08-18T14:17:31
|
|
GL: Add emulateImmutableCompressedTexture3D workaround
The workaround replaces glTexStorage3D with a series
of glCompressedTexImage3D calls.
Bug: chromium:1060012
Change-Id: I08e026e68dd697654cc4ab8feb190a35e56ea133
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3103070
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@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>
|
|
091fb9b9
|
2021-07-23T10:44:35
|
|
Reland "Reland "GL: Fix GPU detection""
This is a reland of a8f9b79a14b923e925d4aecb5eb5d973f92ae4e1
It was assumed that getting the GPU info from the system will always
yield a valid Device ID, but this seems to be incorrect on some
platforms (e.g. Apple M1). Reland reverts to the old logic of silently
accepting 0 as Device ID.
Original change's description:
> Reland "GL: Fix GPU detection"
>
> This is a reland of 30dea869a7dc939f94048de23d70705247905c51
>
> Original change's description:
> > GL: Fix GPU detection
> >
> > Always use GL_VENDOR to determine vendor. On multi-GPU systems, this
> > ensures that the correct GPU is used to determine workarounds.
> > GetSystemInfo is still broken in that it assumes the discrete GPU to be
> > active, but with this change it will only affect the test infrastructure
> > (and not users).
> >
> > Bug: chromium:1187475
> > Bug: angleproject:6174
> > Change-Id: I4dffadf0e28c73e01d6b4bf49ab708c0714cdc7c
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049350
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: chromium:1187475
> Bug: angleproject:6174
> Change-Id: Id0e5bae23f60e87d3de384e84dc5b8059013926d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067801
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1187475
Bug: angleproject:6174
Change-Id: Ie13854da314d8963c33f61f1fd1628a674fae434
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067768
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
09d5047b
|
2021-08-03T01:31:03
|
|
GL: Remove the rewriteVectorScalarArithmetic workaround
This workaround was implemented for a bug in Nvidia driver 387 which is
end-of-life. More recent driver branches (390 and 4XX) are fixed, and
so this workaround is no longer required. The implementation of the
workaround itself could introduce bugs.
Bug: chromium:772651
Bug: chromium:1201084
Change-Id: I3db179eb90d9124235bdad2daacc712302906d8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067952
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
10d50f64
|
2021-08-04T14:17:17
|
|
Revert "Reland "GL: Fix GPU detection""
This reverts commit a8f9b79a14b923e925d4aecb5eb5d973f92ae4e1.
Reason for revert: assertion failure on mac ARM bots: anglebug.com/6242
Original change's description:
> Reland "GL: Fix GPU detection"
>
> This is a reland of 30dea869a7dc939f94048de23d70705247905c51
>
> Original change's description:
> > GL: Fix GPU detection
> >
> > Always use GL_VENDOR to determine vendor. On multi-GPU systems, this
> > ensures that the correct GPU is used to determine workarounds.
> > GetSystemInfo is still broken in that it assumes the discrete GPU to be
> > active, but with this change it will only affect the test infrastructure
> > (and not users).
> >
> > Bug: chromium:1187475
> > Bug: angleproject:6174
> > Change-Id: I4dffadf0e28c73e01d6b4bf49ab708c0714cdc7c
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049350
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: chromium:1187475
> Bug: angleproject:6174
> Change-Id: Id0e5bae23f60e87d3de384e84dc5b8059013926d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067801
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1187475
Bug: angleproject:6174
Change-Id: Ice7a1246cb7ad0c257e685b1da4424aba8eaf406
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067767
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
a8f9b79a
|
2021-07-23T10:44:35
|
|
Reland "GL: Fix GPU detection"
This is a reland of 30dea869a7dc939f94048de23d70705247905c51
Original change's description:
> GL: Fix GPU detection
>
> Always use GL_VENDOR to determine vendor. On multi-GPU systems, this
> ensures that the correct GPU is used to determine workarounds.
> GetSystemInfo is still broken in that it assumes the discrete GPU to be
> active, but with this change it will only affect the test infrastructure
> (and not users).
>
> Bug: chromium:1187475
> Bug: angleproject:6174
> Change-Id: I4dffadf0e28c73e01d6b4bf49ab708c0714cdc7c
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049350
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1187475
Bug: angleproject:6174
Change-Id: Id0e5bae23f60e87d3de384e84dc5b8059013926d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067801
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f0e2916
|
2021-08-03T13:42:28
|
|
Revert "GL: Fix GPU detection"
This reverts commit 30dea869a7dc939f94048de23d70705247905c51.
Reason for revert: Breaking roll into Chrome, see bug.
Original change's description:
> GL: Fix GPU detection
>
> Always use GL_VENDOR to determine vendor. On multi-GPU systems, this
> ensures that the correct GPU is used to determine workarounds.
> GetSystemInfo is still broken in that it assumes the discrete GPU to be
> active, but with this change it will only affect the test infrastructure
> (and not users).
>
> Bug: chromium:1187475
> Bug: angleproject:6174
> Change-Id: I4dffadf0e28c73e01d6b4bf49ab708c0714cdc7c
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049350
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1187475
Bug: angleproject:6174
Change-Id: I815c456b0e9775115ae6d2577b40399818b5bff5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067800
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
30dea869
|
2021-07-23T10:44:35
|
|
GL: Fix GPU detection
Always use GL_VENDOR to determine vendor. On multi-GPU systems, this
ensures that the correct GPU is used to determine workarounds.
GetSystemInfo is still broken in that it assumes the discrete GPU to be
active, but with this change it will only affect the test infrastructure
(and not users).
Bug: chromium:1187475
Bug: angleproject:6174
Change-Id: I4dffadf0e28c73e01d6b4bf49ab708c0714cdc7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049350
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
014460d8
|
2021-07-30T09:19:50
|
|
Rename WebSwapLayerCGL to WebSwapCGLLayer
Renaming WebSwapLayerCGL to fix the following MacOS warning:
Class WebSwapLayerCGL is implemented in both
/System/Library/Frameworks/WebKit.framework/Versions/A/
Frameworks/WebCore.framework/Versions/A/WebCore
and
.../chromium/src/out/.../Chromium.app/Contents/Frameworks/
Chromium Framework.framework/Versions/.../Libraries/
libGLESv2.dylib
One of the two will be used. Which one is undefined.
Bug: angleproject:5253
Change-Id: I016e7467994d3ecf7b22750af2606314593dd516
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3062212
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
8f6f52b5
|
2021-07-23T10:14:27
|
|
GL: Temporarily disable sync control on all GPUs on Linux
This workaround is supposed to be limited to Intel GPUs with a recent
mesa version, but due to anglebug.com/6174 is not actually enabled on
dual-GPU systems.
The workaround is temporarily disabled on all GPUs until said issue is
fixed.
Bug: chromium:1187475
Bug: angleproject:6174
Change-Id: Ieee430b1e2a04e36d6f8d60cabc9e391f0e49988
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048237
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
397fc145
|
2021-07-15T09:20:28
|
|
Fix the ext-texture-norm16 with RG16 failures
Don't apply the readPixelsUsingImplementationColorReadFormatForNorm16
workaround for Intel GPU. With this workaround, below error will be
printed:
GL_INVALID_OPERATION in glReadPixels(invalid format GL_RG and/or type
GL_UNSIGNED_SHORT)
in FramebufferGL.cpp, readPixelsAllAtOnce
Test:
conformance2/extensions/ext-texture-norm16.html
Bug: chromium:1208297
Change-Id: Ic9016c3afd8a0d2add61247adbf0d9434e8ce9f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028810
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
298fafd7
|
2021-07-14T13:57:30
|
|
[GLX] Allow usage of multiple visuals
When using AMGLE_x11_visual, a single visual is specified for the whole
session. This is limiting since windows can have different visuals.
For example, one window may want transparency and another window may
not. This CL makes it not-an-error to use a window with a visual other
than the one set with ANGLE_X11_VISUAL_ID. In this case, ANGLE will
fallback to using a child window, as if ANGLE_X11_VISUAL_ID had not been
specified.
Long term, a better solution would be to allow specifying
ANGLE_X11_VISUAL_ID per window.
Bug: chromium:1225953
Change-Id: Ibec411cfd1341c30b2842a7ddba3fea6023de2b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028803
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
15581f35
|
2021-07-13T15:01:56
|
|
Fix the INVALID_ENUM error
This PR fixes the GL_INVALID_ENUM error caused by framebufferTexture2D
in copySubTextureCPUReadback with TEXTURE_EXTERNAL_OES as the texture
target.
TEST
conformance/textures/video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html
conformance/textures/video/tex-2d-luminance-luminance-unsigned_byte.html
conformance/textures/video/tex-2d-alpha-alpha-unsigned_byte.html
conformance2/textures/video/tex-2d-srgb8-rgb-unsigned_byte.html
conformance2/textures/video/tex-2d-rgb9_e5-rgb-float.html
conformance2/textures/video/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
conformance2/textures/video/tex-2d-rgb9_e5-rgb-half_float.html
conformance2/textures/video/tex-2d-rgb16f-rgb-float.html
conformance2/textures/video/tex-2d-rgb16f-rgb-half_float.html
conformance2/textures/video/tex-2d-rgb32f-rgb-float.html
Bug: chromium:1208297
Change-Id: Ic62ba95ad6fd70f293a7261dc640a95dcabe7ba2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023666
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
428d7c4d
|
2021-07-12T15:23:45
|
|
GL: Widen scope of disable_sync_control_support workaround.
Crashes and hangs are still happening on Linux/Intel/Mesa 20. This
should already not expose the OML_sync_control extension, so widen
the scope of the workaround to see if there is an issue detecting
Mesa version.
Bug: chromium:1187475
Change-Id: I6397f459cd58dba449913ef1c7ce897e8a06cbd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3022222
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
d33a2222
|
2021-04-26T16:56:15
|
|
Upstream Apple's direct-to-Metal backend: compile libANGLE.
This change is meant to merge the metal backend changes from Apple's
direct-to-Metal backend. Taken from Kyle Piddington's CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2857366/
The goal of this CL is to merge the metal backend code in a state
that compiles, but not to switch the Metal backend over to using
the direct-to-metal backend yet.
Bug: angleproject:5505
Bug: angleproject:6127
Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
17a4b6e7
|
2021-07-07T11:00:48
|
|
Fix that clear-srgb-color-buffer is not correct
This change removes the limitation that syncClearState/
syncClearBufferState is only for STANDARD_GL_DESKTOP so that it works on
chromeos.
Test:
conformance2/rendering/clear-srgb-color-buffer.html
deqp/functional/gles3/fbocolorbuffer/clear.html
Bug: chromium:1208297
Change-Id: I7c5fed3545f623cca3f2245c67fddaf3401388b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010630
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
89f2a619
|
2021-07-08T21:45:11
|
|
Revert "GL: Use glClear for robust init on Android."
This reverts commit 37c5d36fef783406c30a8ed8b8b4455f35374834.
Reason for revert: crashes on Pixel 4, see
https://chromium-review.googlesource.com/c/chromium/src/+/3016164
Original change's description:
> GL: Use glClear for robust init on Android.
>
> The allowClearForRobustResourceInit was used to work around driver
> bugs on other Windows and Linux and has a lot of CPU overhead.
>
> Re-enable it on Android (except some older Adreno).
>
> Bug: chromium:983167
> Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: chromium:983167
Change-Id: I74e9a61484de77fd66e8dde8d50665fdbb470a95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016763
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
37c5d36f
|
2021-07-07T13:15:13
|
|
GL: Use glClear for robust init on Android.
The allowClearForRobustResourceInit was used to work around driver
bugs on other Windows and Linux and has a lot of CPU overhead.
Re-enable it on Android (except some older Adreno).
Bug: chromium:983167
Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5a2bd6fd
|
2021-05-03T14:43:35
|
|
Disable shader cache for PowerVR Rogue GPUs.
We disable shader cache for Validating decoder in chrome, so port this
workaround into ANGLE to see if it can fix crbug.com/1203652.
Bug: chromium:1203652,chromium:480992
Change-Id: I08611c148217abc9c32d11fefe8a7d15873f3b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2867269
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5b314268
|
2021-06-15T17:37:45
|
|
Vulkan: Support OVR_multiview and OVR_multiview2
Multiview is supported in Vulkan simply by specifying the number of
views in the render pass, and creating the appropriate image views. A
number of changes to the way image views and render targets are stored
are made to support those that don't cover the entire range of layers.
One particular detail that is not implemented in this change is the use
of queries in combination with multiview. Vulkan specifies that N
queries are actually produced (N being the number of views) which must
be summed by the application, but this is not currently done.
Bug: angleproject:6048
Change-Id: I1d4a9894c232d3a93d7a97c9fa0eedc334e57469
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2967625
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
ecf27c71
|
2021-06-16T13:13:31
|
|
GL: Fix bug with: Skip redundant flushes.
The ANGLE-into-Skia autoroller is blocked because of the following CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2956453
Michael Ludwig, a Skia engineer, found that this change fixes the
problem and will unblock the auto-roller.
Bug: chromium:1181068
Change-Id: I514b2762f6643e25b36aab0290a57af4abf3c660
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965615
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
af1eed2e
|
2021-06-10T01:55:59
|
|
Vulkan: Generate gl_FragColor/Data declarations in AST
gl_FragColor and gl_FragData are not available in Vulkan. Prior to this
change, their declaration as webgl_FragColor and webgl_FragData was done
in text. This change implements an AST transformation that declares a
normal fragment output variable and replaces all references to these
built-ins with those variables.
Bug: angleproject:4889
Change-Id: If224e089dec25e4aa580beb135e1be2890de7887
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2953042
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8333d061
|
2021-06-14T11:01:35
|
|
GL: Respect TexSubImage upload limits for robust init
The chunked_texture_upload splits texture uploads for glTexSubImage
calls but ANGLE uses glTexSubImage internally for robust resource
initialization. Also chunk those uploads.
Bug: chromium:1181068
Change-Id: Ia6eaac8117173946630f420b396cbc54c163b7ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2961230
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
222a81cf
|
2021-06-11T14:34:52
|
|
Reland: GL: Skip redundant flushes.
Skip flushes when there is no work submitted since the last
flush.
Bug: chromium:1181068
Change-Id: Iab31f8949f7eb07dffb7b0930069cbb3ca69ef57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2956453
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
69f2fb00
|
2021-03-08T10:49:31
|
|
Vulkan: Expose OES_geometry_shader extension
Modify the symbol table generation script to accept a list
of supported extensions. This allows for the EXT and
OES versions of the geometry shader extension to be exposed.
Test: angle_deqp_khr_gles31_tests --deqp-case=*geometry_shader*
Bug: angleproject:3571
Change-Id: Ia7127a03dbd3fce78957f0505d3ce0c9bab6cb15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765011
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c12f594a
|
2021-05-31T10:48:20
|
|
GL: Chunk uploads of texture data >120kb on Mac.
Mac drivers are hanging and crashing after large glTexSubImage uploads.
Chunk those uploads to avoid this problematic path in the driver.
Bug: chromium:1181068
Change-Id: I7dca0b8e49420f015ff7830283c14283a0515826
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2928098
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
fe93fcdd
|
2021-05-27T13:28:18
|
|
Workaround Mesa 20 Intel driver bug with GLX_OML_sync_control
Disable the use of this extension on Mesa 20/intel, it's causing GPU
hangs.
Bug: chromium:1187475
Change-Id: Ic7029b1f72bd0b0f4a2c11a7fceb0a59f51be8aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2920811
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
565bba3d
|
2021-05-26T17:58:18
|
|
Revert "GL: Skip redundant flushes."
This reverts commit 7a38f3f50f3bb2f747ad3731d307f6af4c0552d2.
Reason for revert: caused numerous test failures on FYI waterfall per http://crbug.com/1213507 .
Original change's description:
> GL: Skip redundant flushes.
>
> Skip flushes when there is no work submitted since the last
> flush.
>
> Clone of geofflang's:
> https://chromium-review.googlesource.com/2911879
>
> Bug: chromium:1181068
> Change-Id: Idd8a1c61b814d746bf1e0225cfc4ca375a7bb224
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2915675
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: chromium:1181068
Bug: chromium:1213507
No-Try: True
Change-Id: Icd1662e4ea541375b44bddaa839a5241cdad5302
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2919503
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f410e81a
|
2021-04-20T14:26:54
|
|
GL: Implement multisampled_render_to_texture
Bug: angleproject:2894, angleproject:5988
Change-Id: I17b55f0655d32d9f41cb55a0467b93a00fba751b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2841084
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7a38f3f5
|
2021-05-21T15:07:44
|
|
GL: Skip redundant flushes.
Skip flushes when there is no work submitted since the last
flush.
Clone of geofflang's:
https://chromium-review.googlesource.com/2911879
Bug: chromium:1181068
Change-Id: Idd8a1c61b814d746bf1e0225cfc4ca375a7bb224
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2915675
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
835bcb1e
|
2021-05-08T13:24:58
|
|
Vulkan: Support GL_EXT_texture_sRGB_RG8
For completeness, added mappings of R8_SRGB and R8G8_SRGB
to OpenGL and Metal.
Bug: angleproject:4932
Change-Id: Ic8e44e3a94c114e985f6965fcd43fbcb8071432d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880661
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5a0925de
|
2021-05-14T15:25:07
|
|
GL: Recreate textures on eglReleaseTexImage.
Texture data should be reset on eglReleaseTexImage but ANGLE sometimes
skipped this because it generated GL errors on Mac. Instead, delete
and recreate the native texture to make sure ANGLE doesn't hold any
references.
Bug: chromium:1181068
Change-Id: I1252b0900361852f66f73b8c9d20a29c53897ee4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897544
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
bccb0d56
|
2021-05-11T13:53:05
|
|
Add messages for framebuffer completeness errors.
This also creates a common code path for all framebuffer
completeness errors (FramebufferStatus::Incomplete) which
helps for adding a debug breakpoint.
Bug: angleproject:5949
Change-Id: Ib102dbf86e020777e56c6dc6b78dda8ebdba2127
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2888110
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ce89d99f
|
2021-04-29T12:03:30
|
|
GL: Flush after framebuffer change on Mac 9th gen Intel GPUs
Speculative fix for crashes during flush on Mac. Mirrors the
flush_on_framebuffer_change workaround in Chrome from
http://crbug.com/783979
Bug: chromium:1181068
Change-Id: Ic84b1bfc44babf27016b306393da308d504d7fd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2859984
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
19f24ede
|
2021-04-26T18:05:31
|
|
Disable workderContext on Android
Bug: chromium:1202928
Change-Id: I54c4c28c30714fea60b4b6f3dd3ec49101341602
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2851362
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
be2f7b1c
|
2021-04-20T13:54:47
|
|
Unbind fbo before context switching for PowerVR GPUs
Imagination GL drivers are buggy with context switching.
We need to ubind fbo to workaround a crash in the driver.
Bug: chromium:1187513
Change-Id: Ie5142b5f43a3f23a9743ba7af0d90567fedd00d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2841083
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
b574643e
|
2021-04-19T12:47:05
|
|
D3D11: Skip blits if there is no intersection of dest areas
Blit11 would clip the destination rectangle with the destination size
but ignore the result. gl::ClipRectangle returns false when the
rectangles do not intersect at all, indicating the blit can be skipped.
This could lead to an out-of-bounds write to the GPU memory for the
destination texture.
Mark ClipRectangle as nodiscard to prevent future issues.
Bug: chromium:1199402
Change-Id: I260e82d0917b8aa7e7887f2c9f7ed4b1a03ba785
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2836786
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
14f8918c
|
2021-04-16T09:17:29
|
|
Migrate more scripts to python3
Test: python3 scripts/run_code_generation.py
Bug: angleproject:5707
Change-Id: I5abae69c1c6bf03cc418f10beaabc80288fa1c94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2828979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
2d873e0c
|
2021-03-01T14:38:39
|
|
GL: Workaround to sanitize amdgpu renderer strings.
On Linux with the amdgpu driver, the GL_RENDERER string contains
precise kernel and DRM version info. We should sanitize this info
before using these strings for user privacy.
Bug: chromium:1181193
Change-Id: I047d1abf5b51412b4258a021761cc450385ef0fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2727658
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
18c6d628
|
2021-03-09T13:46:13
|
|
GL: Support VAOs without native VAOs.
Share the default VAO state between all frontend VAO when
there is no native VAO support. Forcefully sync state every
time a new frontend VAO is bound.
Bug: angleproject:5577, chromium:1167179
Change-Id: Ieaedb5108ad28fc78e7e58b74495639c5246bb05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665266
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ad55bdbe
|
2021-04-02T22:59:07
|
|
GL: Align emulated ETC1 handling with other backends
Use emulatedEtc1 limitation to hide it from WebGL.
Bug: chromium:1048244
Change-Id: Id2fd6b5d934f3caeb455e8f0fc198445e8c00084
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2803136
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e1ff28d4
|
2021-03-12T13:35:42
|
|
GLX: Always call XSync on creation/destruction of WindowSurfaces
ANGLE was checking that it had opened the connection before calling
XSync upon initialization. However, clients may pass in a connection
and ANGLE must sync after creating a GLXWindow with the connection.
This wasn't happening and was causing issues in Chrome.
Bug: chromium:1172803
Change-Id: Ieb2cbfaa226f6d066030f42d8e25b1d9c34779f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757507
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f16fd9ea
|
2021-03-25T21:33:31
|
|
Only enable framebufferMultisample with framebufferBlitANGLE
Based on [1], GL_ANGLE_framebuffer_multisample requires
GL_ANGLE_framebuffer_blit, so only enable framebufferMultisample with
framebufferBlitANGLE.
[1] https://www.khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_framebuffer_multisample.txt
Bug: chromium:1192060
Change-Id: I44e8310d5a94578c0bb7e1d30a7276657965366c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2785394
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
90e3d86c
|
2021-03-22T12:49:26
|
|
Disable timestamp queries for Mali-G31 and older GPUs
Bug: chromium:1178333
Change-Id: I8f21cd1c8f815a5cd7344778d2d1b28710dc6763
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2779211
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
81dcf078
|
2021-03-08T11:21:31
|
|
Reland "Vulkan: Support EXT_sRGB_write_control"
This is a reland of 6073af536cf627742696823edc82c9b0a481a8bc
with 2 changes -
1. Don't enable the extension even in nonConformant mode
2. Don't enable VK_KHR_image_format_list for swiftshader
Original change's description:
> Vulkan: Support EXT_sRGB_write_control
>
> Implement support for EXT_sRGB_write_control. This extension
> requires VK_KHR_image_format_list to be supported.
>
> The spec requires this functionality to work with glBlitFramebuffer
> as well but support for that will be added in a follow up change.
> As such, this extension is only exposed in non-conformant mode.
>
> Bug: angleproject:5075
> Tests: SRGBFramebufferTest.*Vulkan*
> Change-Id: I59b38f6cd810a3d0d67ec29f4f19c25f65f70862
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617243
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:5075
Change-Id: I8e149d196a39c3c4769bfa8690792f3c53831299
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2762647
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
c99e405c
|
2021-03-12T12:39:27
|
|
Disable timestamp queries for some GPUs on Android
Copy some workaround from chromium.
Bug: chromium:702980,chromium:477514,chromium:462553,chromium:1178333
Change-Id: I9acb6ef49c91193a9e6bb03c6fc5eabf336cba9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2756728
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
2b7fdb62
|
2021-03-04T13:20:32
|
|
Reland "Fix bindFramebuffer problem with GLES2 devices"
This is a reland of 92049513f46e2d4bc09d47d00f63d64fdb25a220
Original change's description:
> Fix bindFramebuffer problem with GLES2 devices
>
> GLES2 and OpengGL 2 don't support GL_{DRAW,READ}_FRAMEBUFFER.
> Always uses GL_FRAMEBUFFER for them.
>
> Bug: chromium:1167731
> Change-Id: Iab75a27b4c47d0bdaa2ec18a9019fd2d2535b04d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2737062
> Commit-Queue: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: chromium:1167731
Change-Id: I530a47fa3367ca98dbde24e3084515d5562ac8b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743664
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
7ee24229
|
2021-03-03T15:16:07
|
|
Reland "Fix two issues with GLES2 devices"
This is a reland of c0ed204de972c76a5428834c94aaa34fd2953329
Original change's description:
> Fix two issues with GLES2 devices
>
> * make sure maxColorAttachments is greater than 0
> * Do not sync read buffer if maxDrawBuffers is 0
>
> Bug: chromium:1167731
> Change-Id: Icd0fb5e65ec6ffdc0d6f6325ccd1207958922254
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2733268
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>
Bug: chromium:1167731
Change-Id: Iccd7b0986c4728e362fccaeda6fbeff2860d888c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743665
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
b27740f3
|
2021-03-09T16:15:15
|
|
Revert "Vulkan: Support EXT_sRGB_write_control"
This reverts commit 6073af536cf627742696823edc82c9b0a481a8bc.
Reason for revert: crbug.com/1186140
Original change's description:
> Vulkan: Support EXT_sRGB_write_control
>
> Implement support for EXT_sRGB_write_control. This extension
> requires VK_KHR_image_format_list to be supported.
>
> The spec requires this functionality to work with glBlitFramebuffer
> as well but support for that will be added in a follow up change.
> As such, this extension is only exposed in non-conformant mode.
>
> Bug: angleproject:5075
> Tests: SRGBFramebufferTest.*Vulkan*
> Change-Id: I59b38f6cd810a3d0d67ec29f4f19c25f65f70862
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617243
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:5075,chromium:1186140
Change-Id: Ib0d4d60fe7434fb950f99db2c210aab9af7d2d0e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743663
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
2d07b04d
|
2021-03-09T15:23:25
|
|
Revert "Fix bindFramebuffer problem with GLES2 devices"
This reverts commit 92049513f46e2d4bc09d47d00f63d64fdb25a220.
Reason for revert: crbug.com/1186140
Original change's description:
> Fix bindFramebuffer problem with GLES2 devices
>
> GLES2 and OpengGL 2 don't support GL_{DRAW,READ}_FRAMEBUFFER.
> Always uses GL_FRAMEBUFFER for them.
>
> Bug: chromium:1167731
> Change-Id: Iab75a27b4c47d0bdaa2ec18a9019fd2d2535b04d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2737062
> Commit-Queue: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: chromium:1167731, chromium:1186140
Change-Id: I1425bc9cf4145887193b7d18f956d6fbf07ce028
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743661
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
02a9d011
|
2021-03-09T15:23:52
|
|
Revert "Fix two issues with GLES2 devices"
This reverts commit c0ed204de972c76a5428834c94aaa34fd2953329.
Reason for revert: crbug.com/1186140
Original change's description:
> Fix two issues with GLES2 devices
>
> * make sure maxColorAttachments is greater than 0
> * Do not sync read buffer if maxDrawBuffers is 0
>
> Bug: chromium:1167731
> Change-Id: Icd0fb5e65ec6ffdc0d6f6325ccd1207958922254
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2733268
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>
Bug: chromium:1167731
Change-Id: Ibd05424889feac0bdb7293426ab41eb1f4753b35
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743662
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
9bc9ac8d
|
2021-03-04T08:18:54
|
|
Disable worker contexts on Android emulator
Bug: chromium:1184692
Change-Id: I1b15e24d0cddd287f32ecb7f28568658f16b776d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2735375
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
92049513
|
2021-03-04T13:20:32
|
|
Fix bindFramebuffer problem with GLES2 devices
GLES2 and OpengGL 2 don't support GL_{DRAW,READ}_FRAMEBUFFER.
Always uses GL_FRAMEBUFFER for them.
Bug: chromium:1167731
Change-Id: Iab75a27b4c47d0bdaa2ec18a9019fd2d2535b04d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2737062
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6073af53
|
2021-03-08T11:21:31
|
|
Vulkan: Support EXT_sRGB_write_control
Implement support for EXT_sRGB_write_control. This extension
requires VK_KHR_image_format_list to be supported.
The spec requires this functionality to work with glBlitFramebuffer
as well but support for that will be added in a follow up change.
As such, this extension is only exposed in non-conformant mode.
Bug: angleproject:5075
Tests: SRGBFramebufferTest.*Vulkan*
Change-Id: I59b38f6cd810a3d0d67ec29f4f19c25f65f70862
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617243
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4efe33e3
|
2021-03-04T07:45:20
|
|
Fix two GL_OES_texture_half_float related problems with GLES2
* Fix incorrect ASSERT in formatutilsgl.cpp
* CheckInternalFormatRenderbufferRenderability() and
CheckSizedInternalFormatTextureRenderability() may cause GL errors,
we should clear them.
Bug: chromium:1174074
Change-Id: Ieef5e79b68f317833b459da34cc2e5362f813304
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2735374
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c0ed204d
|
2021-03-03T15:16:07
|
|
Fix two issues with GLES2 devices
* make sure maxColorAttachments is greater than 0
* Do not sync read buffer if maxDrawBuffers is 0
Bug: chromium:1167731
Change-Id: Icd0fb5e65ec6ffdc0d6f6325ccd1207958922254
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2733268
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
a272a8ac
|
2021-03-07T20:04:49
|
|
Fix PVRTC1 frontend validation
PVRTC1 texture dimensions must always be powers of two.
Moreover, Apple hardware requires them to be squares.
Bug: angleproject:5731, angleproject:2634
Change-Id: I5fcdc364b37d17b60cf772c21ba38795272236fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2741585
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
a73818aa
|
2021-03-03T12:41:58
|
|
Workaround a GL_OES_depth32 bug on Android emulator
Bug: chromium:1184261
Change-Id: I7aac7c696ff2d08dc2aaac86abc1c3b0e54cda1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2733287
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
fb7a2445
|
2021-02-12T09:29:11
|
|
libANGLE: Declare copy operator if copy constructor is defined
If the copy constructor is defined then the copy assignment
must also be defined, but we can use the default here.
v2: Don't inline because the chromium-style errors out on this
Bug: angleproject:4486
Change-Id: Iec0f63342244249da32b455b49a0b89b6558cab9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690953
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4f639a7e
|
2021-02-27T17:36:25
|
|
Fix Ozone backend build flags.
Broken by http://crrev.com/c/2405806
ANGLE_USE_GBM must be defined in Display.cpp, not just GL backend.
This also requires depending on libdrm for its headers.
Bug: angleproject:3943, chromium:1181952
Change-Id: I4650d7806435413184b36c820cc6d06992f7f5cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2726575
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@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>
|