|
7d33e71a
|
2021-11-15T11:20:25
|
|
Vulkan: SPIR-V Gen: Don't generate names for constants
Multiple constant variables can have the same value, and they are
coalesced to the same SPIR-V id. It's not useful to attempt to generate
multiple constants with different names, especially as those names don't
make it into the SPIR-V-Cross-generated GLSL. Additionally, most
constants in the translator don't retain their name, only the ones that
are not folded do (and which are folded is a rather arbitrary decision).
By generating names for these constants, the SPIR-V gen code was
introducing a bug where multiple OpNames could be generated for the
same OpConstant* id. This change removes OpNames generated for
constants in the first place.
Bug: angleproject:6644
Change-Id: Ife2f4bee8e2eb095dc0b22994420ee1dfc6023c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3282425
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ae3f67ab
|
2021-11-11T20:32:32
|
|
Implement GL_EXT_multi_draw_indirect
* Auto-generated the code to lay the foundation for
the following functions:
* multiDrawArraysIndirect()
* multiDrawElementsIndirect()
Bug: angleproject:6439
Change-Id: I7ab5111692376229515e0d6d9e6148909ce9a8a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276042
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fdad9531
|
2021-11-10T22:09:00
|
|
Forward extra --deqp-* flags to deqp
This allows angle_deqp_* executables to be passed extra --deqp-* flags
that are unknown to ANGLE.
Bug: angleproject:6682
Change-Id: I9930cb8dd76b1c7bc7da9b731659277392fcd3ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274175
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a84ef5e
|
2021-11-12T17:40:40
|
|
Add EGL_VULKAN_GET_INSTANCE_PROC_ADDR
Add EGL_VULKAN_GET_INSTANCE_PROC_ADDR for query Vulkan
vkGetInstanceProcAddr function pointer associate with the
Vulkan EGLDevice.
Bug: chromium:1264439
Change-Id: I4ff14e2aef7b8ca651e13b4d2867a540aed1b321
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279100
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
3128c055
|
2021-11-12T14:59:46
|
|
Vulkan: Add wait semaphores to queueSubmitOneOff
For use in follow up change.
Bug: angleproject:3966
Change-Id: I5bfac51ef9d47a6df5d52268d3ce4863b848b1d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279226
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d87d10cd
|
2021-11-12T11:02:01
|
|
Fix ASAN issue with GLVertexIDIntegerTextureDrawElements
Was
GLint clearData[] = {42};
glClearBufferiv(GL_COLOR, 0, clearData);
Now
GLint clearData[4] = {42};
glClearBufferiv(GL_COLOR, 0, clearData);
Bug: angleproject:6688
Change-Id: Ia8fa0c7d406626046a32e613fda3a165a06941b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3278489
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b2cf52e6
|
2021-11-10T14:49:09
|
|
Bug fix in unpack buffer validation
For an implementation that supports GL_EXT_buffer_storage extension
it is valid to read or write from a buffer that is partially or fully
mapped if it was allocated by a call to glBufferStorageEXT with the
GL_MAP_PERSISTENT_BIT_EXT included in <flags>
Bug: angleproject:5056
Bug: angleproject:6689
Test: BufferStorageTestES3.TexImage2DPixelUnpackBufferMappedPersistently
Change-Id: Ia4b6967aab02bbfb101d5253b9c83d314bc92f5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3278482
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
573f9415
|
2021-11-12T12:22:39
|
|
Vulkan: Prefer aggregate barriers on SwiftShader
SwiftShader is not currently sensitivel to stage masks, so aggregating
barriers leads to more efficient rendering.
Bug: angleproject:4633
Change-Id: I262d1e98d4b08a1ca134a1c5c64ae964ceb6cd16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3279020
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
eb3ef08e
|
2021-11-11T17:41:48
|
|
Vulkan: Differentiate perf warnings and RP closure events
... and application events, by using different debug source enums,
translating to different colors in API debuggers.
Bug: angleproject:2472
Change-Id: Ice422c7ae59fb508a10500b9fbed79d4c9664c11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275840
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dbc0c646
|
2021-11-06T01:09:26
|
|
Vulkan: Output the reason for RP closure in command buffer
To make it easier when viewing the command buffer in a graphics
debugger, this change inserts a marker just before closing the render
pass that specifies why the render pass was closed.
Bug: angleproject:2472
Change-Id: I862e500cd58332d6e199c853315c560fe6a73dc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265609
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a9f2e87e
|
2021-11-12T15:02:50
|
|
Revert "Vulkan: Allow SystemInfo to pick ICD."
This reverts commit b5adbe272e4829d77105e49607bf8ddafd385f17.
Reason for revert: Fails GN check on Android/iOS in Chrome:
https://chromium-review.googlesource.com/c/chromium/src/+/3276779/
Original change's description:
> Vulkan: Allow SystemInfo to pick ICD.
>
> This will be used in conjunction with SwiftShader.
>
> Bug: angleproject:6496
> Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=syoussefi@chromium.org,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I198802d6bc93993d3544ed4627e131cb7b93f381
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:6496
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276045
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c6d86da2
|
2021-11-11T15:30:41
|
|
Add test for gl_VertexID and DrawElements
This fails on the WebGL CTS conformance2/rendering/vertex-id.html.
Repoing here to make it easier to debug/find/fix.
Bug: angleproject:6688
Change-Id: I0a4bafc5700c77e0b6c44b067167fc4a60e63c22
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276708
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
ee941238
|
2021-11-11T22:00:04
|
|
Capture/Replay: Mark another ImageTest test as FLAKY
Bug: angleproject:6286
Change-Id: Idbbdab532a449d754d05208aeadd94462c8c572a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276041
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9c486b67
|
2021-11-11T09:55:47
|
|
Unoverride upstreamed dEQP fix
Bug: angleproject:5500
Change-Id: I486ebf72840e8b6ff9ca36ac7ad491fea9dd4cf8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275834
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2d3a546
|
2021-11-11T12:22:04
|
|
Vulkan: Write perf warnings in command buffer
It's much easier to understand what command the perf warning refers to
when it's visible in the command buffer using a graphics API debugger.
This change creates ANGLE_VK_PERF_WARNING which gives the warning both
to the application (through ANGLE_PERF_WARNING) and inserts it in the
command buffer.
Bug: angleproject:2472
Change-Id: Ie84feed53eca5cda93e1f2bc653fcbf9bcd57b56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275839
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2aa62964
|
2021-11-11T13:24:27
|
|
Vulkan: Reset mFramebuffer when mFramebufferCache is cleared
The mFramebuffer pointer becomes stale when mFramebufferCache
is cleared. Set mFramebuffer to nullptr when this happens.
Test: --deqp-surface-type=fbo --deqp-case=KHR-GLES31.*
Bug: angleproject:6682
Change-Id: I5fd21a64f0f935de04e2934e794c915ccf880c16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276701
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
558981c1
|
2021-11-10T23:13:03
|
|
Vulkan: Make write-after-invalidate checks more precise
Previously, the size of the command buffer was used as indication for
whether the render pass attachments might have been modified after
glInvalidateFramebuffer. In that case, the invalidate was undone. This
is made more precise by making sure only vkCmdClearAttachments and
vkCmdDraw* calls are counted for this purpose.
For example, inserting event markers after glInvalidateFramebuffer now
retains the invalidation.
Note that this can be even further optimized by tracking real writes to
attachments. For example, currently a draw call with depth test
disabled still undoes the invalidation of the depth buffer, but it
shouldn't.
Bug: angleproject:5079
Change-Id: I6257b4116a73213884b919bc7f3c86ff39b6aeed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274176
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b5adbe27
|
2021-11-11T11:43:30
|
|
Vulkan: Allow SystemInfo to pick ICD.
This will be used in conjunction with SwiftShader.
Bug: angleproject:6496
Change-Id: I894aa4cf3b9473738b549de9941eb82e09234121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276515
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
96b587b0
|
2021-11-10T15:10:09
|
|
Vulkan: Fix rendering to RGB external images
Based on the provided usage flags, the texture's image access mode is
updated to be renderable.
Bug: chromium:1266094
Change-Id: I5d092a2786fc12537ef0ad1f224137cc1fd8f864
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270980
Reviewed-by: Craig Stout <cstout@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2a9e6e48
|
2021-11-01T15:56:54
|
|
infra: Add tests to ASAN configs.
These add basic ANGLE tests with SwiftShader + ASAN.
Bug: angleproject:5795
Change-Id: I92a51a44214ff0f442d4a1b2a0bc6ac2b8d3f4eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254431
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2a71c9cd
|
2021-11-11T09:28:15
|
|
Remove stray deqp override file
Override was effectively reverted in:
https://chromium-review.googlesource.com/c/angle/angle/+/2375965
Bug: angleproject:4143
Change-Id: Idd38bdfa542eec44bc873791910c070b1e0d98c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3275833
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a4a52f78
|
2021-11-10T12:43:37
|
|
EGL: Validate CreatePbufferSurface attributes.
This fixes an ASAN issue with a dEQP negative test:
dEQP.EGL/functional_negative_api_create_pbuffer_surface
Bug: angleproject:6660
Change-Id: I2d052f9f948b7a2a6fe3fbb1f1621dd280bb0d36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270978
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4e26eac5
|
2021-11-10T21:19:35
|
|
Vulkan: Fix VVL warnings on extensions that are not enabled
Bug: chromium:1266094
Change-Id: Idbae6cbe2c5593665438d118f17d184f8a81f0d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
393785b7
|
2021-11-10T12:14:03
|
|
Add attribute validation for context creation.
This fixes another ASAN bug that popped up with the dEQP EGL tests:
dEQP.EGL/functional_negative_api_create_context
Bug: angleproject:6660
Change-Id: I8f5ca1cc9ca77f2be28ecf120a90c9efcf9d4b24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270977
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ec5d3795
|
2021-11-09T13:23:43
|
|
Metal: Fix InvalidateCopyThenBlend
Render pass descriptor was not being changed
due to blend state not being checked when
looking for equality.
Bug: angleproject:6669
Change-Id: Ic85dbec29ddb53a8c7e2e708f1ac0c99512e7248
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270596
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
133cf4be
|
2021-11-10T15:16:07
|
|
Fix out-of-bounds read in MemoryBarrierTestBase.
This second read was in transformFeedbackBitBufferWriteThenCapture.
Bug: angleproject:6646
Change-Id: I67134e5a7a9a610c11266c51bdc1ced6ef018b8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270981
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2d4bee83
|
2021-11-04T10:16:16
|
|
EGL: Add early exit when hitting invalid attribute.
According to the EGL spec, we stop checking attributes when we
encounter an invalid enum. That means it's valid for an application to
pass in a list of attributes without EGL_NONE as long as one of them
is invalid. To handle this, we add lazy attribute validation to the
AttributeMap class, that gets triggered in the validation calls.
We only implement the early exit validation for the config attributes
to fix an EGL test that would access out of bounds memory.
Bug: angleproject:6660
Change-Id: I264d0f98b4ddd9e74187846e9e668270a6fbaee1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262478
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
5a5996aa
|
2021-11-09T21:42:43
|
|
Vulkan: Handle missing decorations in SPIR-V precision fixer
Bug: angleproject:6674
Change-Id: Ibfc72f14b9eeb17d7c70cf6d2384d970b2e66650
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3271551
Reviewed-by: Jamie Madill <jmadill@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>
|
|
0fcad626
|
2021-11-09T14:02:08
|
|
Vulkan: Fix edge case with changing base level.
Bug: chromium:1267624
Change-Id: I36b983fdbbb258454215abe827837517df5a5aff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270971
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@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>
|
|
53def659
|
2021-11-09T14:58:18
|
|
Unskip RenderSolidColor test
Unskips EGLDirectCompositionTest.RenderSolidColor, as the driver bug
that caused it to be disabled should hopefully be fixed.
Bug: chromium:1063962
Change-Id: I8a01ca65fc7e2b4b820d61fced24cf53af9e9f3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270597
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cd822868
|
2021-10-28T13:00:09
|
|
Vulkan: MAP_INVALIDATE_RANGE_BIT: shadow or exclude
One method of dealing with glMapBufferRange + range invalidation; treat
it like bufferSubData and stage the update.
Another method is to ghost the buffer but copy only memory outside the
invalidated range.
This CL pursues a policy where if less than half of the buffer is
invalidated, we stage. Otherwise, we ghost and copy only memory outside
the invalidated range.
DynamicBuffer is chosen over DynamicShadowBuffer because it turns out to
end up implicitly tracking all active invalidate ranges (through its
freelist), and performs buffer copy on GPU. if we use a
DynamicShadowBuffer and then BufferVk::stagedUpdate, it's the same thing
but more work (an extra memcpy into the staging buffer). To make this
clear, we split the logic of stagedUpdate into two parts, the
allocation/map, and the flush, and reuse one half in glMapBufferRange,
and the other half in glUnmapBuffer.
Test: Faster performance in MapBufferRange perf test, no non-noisy
regress in trace tests
Bug: angleproject:6634
Change-Id: Ie2e6a9586824b8cb59a97419bb8052acd1de2033
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251686
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
0b46ef40
|
2021-11-04T09:30:23
|
|
Vulkan: Start on a MapBufferRange benchmark
We have a lot of apps that use MapBufferRange to upload data. That can
be low performance. Let's have a benchmark for this.
Bug: angleproject:6634
Change-Id: I7e20ad65b89700733c02995a7c56d641e39a43b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3261378
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
5eb86d4a
|
2021-09-21T15:17:04
|
|
EGL: EGL_KHR_lock_surface3 frontend
Add queries to get locked buffer attributes
Add validation for LockSurface, QuerySurface
Bug: angleproject:6062
Change-Id: I4919bef2a17d3505cccad08f7c4f8a3ca5d7e4e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174322
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d3e67716
|
2021-09-21T15:03:15
|
|
EGL: EGL_KHR_lock_surface3
Add new extension KHR__lock_surface3
Add new interfaces for locking and unlocking a surface.
Test: angle_end2end_test --gtest_filter=EGLLockSurface3Test
Bug: angleproject:6062
Change-Id: Ic40708db4db552107025635540a0c62f956d741e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
91d36473
|
2021-11-08T16:27:20
|
|
Fix invalidation of GL_FRAMEBUFFER invalidating READ FBO
Per spec, GL_FRAMEBUFFER means GL_DRAW_FRAMEBUFFER for
glInvalidateFramebuffer.
Bug: chromium:1267424
Change-Id: I8c9ab61ecdbd4ccee4262dc8559b2feb02b4837c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266176
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
517ff220
|
2021-11-08T23:57:16
|
|
Add test for texture state change bug
Bug: chromium:1267624
Change-Id: I270e54921d40a2d139afdc78c90ab05164cbfabf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3268492
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ef93b32c
|
2021-11-09T00:26:13
|
|
Vulkan: Fix deferred clears vs invalidate
In this scenario:
- Clear color
- Invalidate depth
- Clear color
The invalidate step flushed the deferred color clear, but the following
clear did not expect an open render pass without any draw calls in it.
This change fixes this issue, while simultaneously optimizing invalidate
by making sure the clears accumulated during syncState() are redeferred
instead of flushed.
This issue was discovered in
https://chromium-review.googlesource.com/c/angle/angle/+/3266176 where,
as part of an unrelated fix, an accidental render pass closure is
removed.
Bug: chromium:1267424
Change-Id: Icfc0a53dbf84e6339ee23960ed847444830054e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
5f7c3ba6
|
2021-11-01T13:27:15
|
|
Capture/Replay: Don't force initialization of FS inout vars
Since these variables are to be considered inputs as well as outputs
initializing them would overwrite the valid input values, hence skip
initialization.
Bug: angleproject:6608
Change-Id: Id8baf856a23ac84d18c61dd54cd6095128190075
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253377
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
2dd6ea51
|
2021-11-08T16:22:18
|
|
Capture/Replay: Limit the sleep time based on unfinished jobs
When running only a few tests the script has the tendency to sleep
a long time after the tests were finished. So limit the sleep time
by the number of remaining jobs.
Bug: None
Change-Id: I52ad39bf047abf93cd900f687bd3aae3962e9e20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3263999
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
5c16f77b
|
2021-10-01T20:07:09
|
|
Vulkan: Add flushCommandsAndEndRenderPassWithoutQueueSubmit()
Add flushCommandsAndEndRenderPassWithoutQueueSubmit() to allow
ContextVk::flushAndGetSerial() to only issue a single vkQueueSubmit().
Bug: angleproject:6546
Change-Id: Ia3fc2bb93e88583ebd80ee153749dc8ca42245dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200673
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
53371cc0
|
2021-11-01T20:25:17
|
|
Vulkan: Use optimalBufferCopyOffsetAlignment
optimalBufferCopyOffsetAlignment is the optimal buffer offset alignment
in bytes for vkCmdCopyBufferToImage2KHR, vkCmdCopyBufferToImage,
vkCmdCopyImageToBuffer2KHR, and vkCmdCopyImageToBuffer. The per texel
alignment requirements are enforced, but applications should use the
optimal alignment for optimal performance and power use.
To improve efficiency, this CL updates ContextVk::mStagingBuffer's
alignment to the max of:
- minMemoryMapAlignment
- nonCoherentAtomSize
- optimalBufferCopyOffsetAlignment
On ARM, this is not expected to have any affect, since all three values
are 0x40, but other platforms may see a benefit.
Bug: angleproject:4297
Change-Id: I9185da111e09c5d782eb1dedb10369727cb9bf51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3256007
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0e20c680
|
2021-11-08T15:24:09
|
|
Sync framebuffer bindings in glInvalidateFramebuffer
If a framebuffer binding change is followed by glInvalidateFramebuffer,
ANGLE was not syncing the framebuffer binding.
- This means that invalidation was being done on the previous
framebuffer.
- Paired with deferred clears, this was causing ContextVk to start a
render pass on the previous, potentially deleted, framebuffer.
Bug: chromium:1267027
Change-Id: I092a0c8dd764db9e49258b694c970babb19cf24b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266175
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
651ae514
|
2021-11-08T14:07:30
|
|
Capture/Replay: Skip test of new failing tests
Bug: angleproject:6663
Change-Id: Ic253a4695eb4c27df2e77641df9f03b2ad8a33e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266172
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
79a5dc0a
|
2021-11-05T23:26:43
|
|
Vulkan: Fix spammy best practices message
A GPU WRITE->HOST barrier frequently issued when the GPU outputs to a
host-visible buffer used the ALL_COMMANDS stage mask causing a best
practices message. This message is suppressed in ANGLE, but shows up in
RenderDoc and clutters the output.
Bug: angleproject:5070
Change-Id: I59aa7f8c7b3bf2788a3f7ae0ab6abdb4d3cd175e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265606
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1f42f6bd
|
2021-11-03T13:28:01
|
|
Add GL_RGB10_EXT format into list of supported formats.
When running with Wayland, EGL returns rgb10 buffer format in
egl config, which makes assertion to explode in formatutils as
this format is not in list of supported formats.
GL_RGB10_EXT is under the ES1 extension GL_OES_required_internalformat.
Thus, add it to the format table.
Bug: chromium:1231934
Change-Id: Ib47af538b16d6c7a652a44e0674757d292ac1394
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253376
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
|
5d8a89e4
|
2021-11-02T19:57:04
|
|
Vulkan: Always override surface format GL_RGB8 to GL_RGBA8
If an app requests to create a surface with GL_RGB8, override it to be
GL_RGBA8 for Android.
This is to workaround an issue with the Android Vulkan loader which
limits which formats can be used with swapchains.
This CL also adds GL_RGB8 back to DisplayVkAndroid::generateConfigs(),
effectively reverting the following CL:
https://chromium-review.googlesource.com/c/angle/angle/+/3235466
This is being done with this CL (rather than reverting) since these
changes are required to handle surfaces created with GL_RGB8.
Bug: angleproject:6277
Bug: angleproject:6651
Change-Id: Iad78ea0d7bdf12e1e309ed6a7181f08fac38b9de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258143
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3861c903
|
2021-11-05T17:19:34
|
|
Capture/Replay: Unsupress failures due to I/O block zero-init
Bug: angleproject:6609
Bug: angleproject:6610
Change-Id: I771db9d26122ce1e5955ee092c6ca05af65fde95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
adf878f3
|
2021-11-05T17:16:57
|
|
Vulkan: Synchronization tests for read-to-read transitions
Bug: angleproject:6663
Change-Id: I89aafa6c197233b75562c0faa1d5331969eeedf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3265604
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
52d6e363
|
2021-11-03T12:46:10
|
|
Translator: Fix zero-init of nameless I/O blocks
Bug: angleproject:6609
Change-Id: I680fec85d53709f9abd3680a9dc5794ecfae6588
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260326
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4fd4eb50
|
2021-11-05T11:14:47
|
|
Vulkan: Minor cleanups.
Makes some VkFlags into VkAccessFlags to aid with code search. Also
corrects a few typos.
Bug: angleproject:6566
Change-Id: Ia4d14d38bb6d4e8c4c71fed6038c12edae112be9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264224
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e10768f0
|
2021-11-03T12:23:11
|
|
Translator: Fix zero-init of I/O block arrays
Bug: angleproject:6609
Change-Id: I8245e868fe6bc4798e74088916e1d8cdd0727b6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260325
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d7090f5d
|
2021-10-29T10:45:19
|
|
Add more attributes for EGL_ANGLE_device_vulkan
Bug: chromium:1264439
Change-Id: Ibc9676cef16411b17c833abe9559721811016eef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264164
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
f7bcd910
|
2021-11-05T11:24:34
|
|
Vulkan: Skip VVL barrier warning on SwiftShader.
This gets tripped up from our barrier handling code.
Bug: angleproject:6656
Change-Id: Iefb1c898ca6506e81a19a0928beaf221dcdf8f4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3264225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
019ddad5
|
2021-11-04T13:22:47
|
|
Reset cache in ProgramExecutable::updateActiveSamplers.
This missing reset was causing incorrect state validation to
persist in a few instances.
Bug: chromium:1266437
Change-Id: I7ab47c81bf9f855e3ad75048f9d1aaefbc2291df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262477
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8c9b8f03
|
2021-11-03T14:50:54
|
|
Capture/Replay: Don't finish() destroyed Contexts
If an app destroys a context, but keeps it current on a thread, ANGLE
will reset the context, but can't delete it. This can lead to a segfault
if ANGLE attempts to call Context::finish() on a destroyed context.
To solve this, check if the context has been destroyed in
ShareGroup::finishAllContexts().
Bug: angleproject:6653
Change-Id: Ib30e352ad6395e01f8fab0095cd6231dfb10d8ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260726
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
45ffabd0
|
2021-11-04T09:45:03
|
|
Skip world_cricket_championship_2 Intel Linux
Timing out.
Bug: angleproject:6657
Change-Id: Ia4b6456adbffd41764ae2bccac6d1cf79f3b4fb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262032
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
73da1648
|
2021-11-04T09:26:00
|
|
Tests: Skip zillow trace on desktop Vulkan
Bug: angleproject:6658
Change-Id: I0d0152c83930b6a789bd9660ad2f16e9a8e9f80a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262031
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
30b01d8f
|
2021-11-03T15:56:47
|
|
Fix multiview framebuffer completeness check
In the process of dropping ANGLE_multiview in favor of OVR_multiview,
the framebuffer completeness checks have become stale. In particular:
- There is no requirement that the base layer of the attachments match
- There _is_ a requirement that base+count layers are within the texture
boundaries.
Bug: chromium:1264988
Change-Id: I86837b587ad5befaa6a545c5a24507e8dff0b568
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259272
Reviewed-by: Alexis Hetu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2091451e
|
2021-10-27T22:57:34
|
|
GLES1: Create multiple shaders based on state
This CL introduces the concept of having optimized shaders for given
state combinations. In this first pass, all uniform bools have been
moved to hard coded values in the GLES1 ubershader.
Frame times on Android ARM with locked GPU clocks:
Trace Before After
dr_driving: 27.8145 -> 4.2986
sonic_the_hedgehog: 17.9779 -> 2.8223
summoners_war: 93.2040 -> 15.9810
wordscapes: 53.9227 -> 7.6167
zillow: 15.0323 -> 2.9368
Bug: angleproject:6644
Bug: angleproject:6652
Change-Id: I548bc5c6aa24bad5fbd740b9552c4a703ae41354
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251688
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7e70818a
|
2021-11-03T16:52:28
|
|
Capture/Replay: Skip failing UniformTest tests
The following tests are failing on win-trace:
UniformTest.UnusedStructInlineUniform
UniformTest.UnusedStructInlineUniformWithSampler
They were added by this CL:
https://chromium-review.googlesource.com/c/angle/angle/+/3256235
Bug: angleproject:6654
Bug: angleproject:6641
Change-Id: Ibce2a9ef1795ffeb50bce5546d558ce12166cd17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260733
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
77eb8a49
|
2021-10-29T10:36:06
|
|
Metal: Reduce memory usage of attribute re-writing
Rework vertex buffer caching to allow us to reuse parts
of converted buffers.
Reusing conversions dramatically drops the memory usage
when drawing index ranges by offset with
unaligned attributes.
Bug: angleproject:6638
Change-Id: I79797da202629b1632e1397ce1227ee3d7a1c9d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251467
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
0777af70
|
2021-11-02T11:14:06
|
|
Env var for EXT_framebuffer_fetch_non_coherent
* Added an environment variable/Android property to remove the
restriction on exposing GL_EXT_shader_framebuffer_fetch_non_coherent
on ARM and Qualcomm.
* Environment variable: ANGLE_ENABLE_EXT_SHADER_FRAMEBUFFER
_FETCH_NON_COHERENT_OVERRIDE
* Android property: debug.angle.enable.ext_shader_framebuffer
_fetch_non_coherent_override
Bug: angleproject:6519
Change-Id: I62e80f348c2ffda7d1d63496e3a2aedad9d69229
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258363
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
8aec7f35
|
2021-11-02T22:01:25
|
|
Add World Cricket Championship 2 Trace
Test: angle_perftests --gtest_filter="*world_cricket_championship_2*"
Bug: b/194508692
Change-Id: I0f36eba247b4726bc13b327634c429339ad1297c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258343
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
afaa1287
|
2021-10-26T19:29:44
|
|
Vulkan: Don't submit XFB queries when XFB is inactive
Consider the following GL commands:
glBeginQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)
glBeginTransformFeedback()
glDrawArrays()
glPauseTransformFeedback()
glDrawArrays()
glResumeTransformFeedback()
glDrawArrays()
glEndTransformFeedback()
glEndQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)
The renderpass is broken for each of the draw calls, leading to
pauseRenderPassQueriesIfActive() and resumeRenderPassQueriesIfActive()
being called when the RP is stopped/started. This leads ANGLE to
generate 3 TransformFeedbackPrimitivesWritten queries when looping
through the "active" queries, since no consideration is made for XFB
actually being active/unpaused.
ARM doesn't support the TransformFeedbackPrimitivesWritten query when
XFB is disabled. Instead, the query is never completed and the results
are never available. It could probably be argued that this is an ARM
bug, and they should just output '0' if XFB isn't active during the
query.
Regardless, ANGLE shouldn't be issuing the queries when XFB is no
active, since it's wasteful.
Bug: angleproject:6622
Test: dEQP.GLES3/functional_transform_feedback*
Test: TransformFeedbackTest.TransformFeedbackQueryPausedDrawThenResume
Change-Id: I380fb60405d7f538b802bb0df72bf609f0bc58e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246532
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0e9e321b
|
2021-11-01T17:04:05
|
|
Metal: Anonymous unused uniform structs not named.
Due to some upstream changes, unused uniform structs are not being
given a name. These structs cause compilation failures, which has
completely caused shadertoy.com to fail to render.
Skip the check when naming embedded structs to allow uniform struct
types to still be named, even when no uniform exists.
Unskip targeted tests on the Metal backend which were added previously
in Issue 6641. These still need to be fixed more generically for the
Vulkan backend.
Also suppress flaky WebGLCompatibilityTest.RG32FTextures test on Mac
Intel OpenGL, which affected this CL.
Bug: angleproject:6642
Bug: angleproject:6641
Bug: angleproject:6570
Change-Id: I598fc212f4db3d3b7c5617bd8a87f8b7db60706c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258341
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
604610b4
|
2021-11-01T12:03:31
|
|
Metal: Use Depth32F for DEPTH_COMPONENT16
depth16unorm is broken on Metal. This is a workaround.
Bug: angleproject:6597
Change-Id: I1748f9fab587b22980d13e8a141fa880eb6f9db0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3255666
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
88ca3b18
|
2021-11-01T16:54:40
|
|
Expose translator issues with struct samplers.
Struct samplers assert in the Vulkan and Metal backends during
rewriting. Add a test - skipped for now on these backends - to
highlight this issue.
Bug: angleproject:6641
Change-Id: I95cbc9e5f4122f1ac7db926ac44c4cccc1b6f87a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3256235
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
a517d4d9
|
2021-11-01T16:21:06
|
|
Vulkan: Regression test for xfb query before resume
Bug: angleproject:6622
Change-Id: If15195437e656dc20aed10d02cf8429ad15ae3d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254432
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
38d5349a
|
2021-11-02T11:46:56
|
|
Fix out of range access in MemoryBarrierTest.
Bug: angleproject:6646
Change-Id: Ia406e290d0a6d6bef6352ac5e46a591e980d33f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258006
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0b56267f
|
2021-11-02T12:25:40
|
|
Implement ANGLE_FALLTHROUGH macro.
Use it instead of ABSL_FALLTHROUGH_INTENDED.
(ANGLE shouldn't use absl unless angle_enable_absl is true.
This is breaking the roll of ANGLE into Dawn.)
Bug: angleproject:6647
Change-Id: I47f9a00841c4605fca52b17eeb68c0b1da5004c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258008
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c4921cd8
|
2021-10-28T12:06:42
|
|
Capture/Replay: Capture name in GetProgramResourceIndex
Bug: angleproject:6180
Change-Id: I1ee7e49dcfa5df23ff5d81d8ca43dd1843c9b2e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250880
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
7952f84c
|
2021-10-21T15:47:21
|
|
Capture/Replay: Add ES3_1_Vulkan_SwiftShader expectations
Bug: angleproject:6180
Bug: angleproject:6605
Bug: angleproject:6608
Bug: angleproject:6609
Bug: angleproject:6610
Bug: angleproject:6611
Change-Id: I340d1d9ead7e1f537ea447447e7d051b8725c534
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3236986
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
02cc418d
|
2021-11-02T08:12:49
|
|
Capture/Replay: Mark test to be flaky on Windows
The test is passing quite often, but not always.
Bug: angleproject:6180
Change-Id: I4bed6cd2907da61023ca91b20e20d8b0722302b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3257321
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6a749cda
|
2021-10-29T12:45:53
|
|
Complete validation of glGetAttribLocation()
-Added more checks to glGetAttribLocation() similar to
glBindAttribLocation().
-Added the corresponding unit tests. Using a reserved
prefix in glGetAttribLocation() should return -1.
Bug: angleproject:2419
Change-Id: I3f691f344c7003f855e53d35cd5f9578069acdae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3252643
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a514df08
|
2021-10-27T01:25:11
|
|
Add detachShader capture calls in MEC
This change adds a capture call to detach shader
object before deleting the shader object in function
GenerateLinkedProgram(), if that is also what the app does.
GenerateLinkedProgram() is part of the Mid Execution Capture
(MEC), and the purpose of the MEC is to setup a program that
more closely mirrors the original app.
The game World Cricket Championship2 detaches the shader object
before deleting the shader object. With this change, we can follow
the same behavior in GenerateLinkedProgram(). This ensures that
the Shader Object refcount is decremented to 0 before the
CaptureDeleteShader call is applied, and the ShaderProgramID
handle assigned to the Shader Object will be released and
can be reused for subsequent glCreateShader calls. The total number
of ShaderProgramID we need will be consistent between
SetupReplayContextShared() and the game uses.
We are allocating memory slots for gUniformLocations2 array
based on the total number of ShaderProgramID the game uses.
Keeping the ShaderProgramID counts the same between
trace replay and the game ensures we allocate the right amount
of memory for the trace replay.
Bug: angleproject:6621
Bug: b/194508692
Change-Id: Ib2810b486a6e9108db2a32f084d650a25f14bebd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246533
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
ab514d4a
|
2021-10-22T20:51:08
|
|
d3d11: fix typo in pixel shader function signatures
These two shaders used "TEXCORD0" instead of "TEXCOORD0" which made the
Direct3D debug layers unhappy:
D3D11 ERROR: ID3D11DeviceContext::Draw: Vertex Shader - Pixel Shader
linkage error: Signatures between stages are incompatible. The input
stage requires Semantic/Index (TEXCORD,0) as input, but it is not
provided by the output stage. [ EXECUTION ERROR #342:
DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND]
Fixing the typo makes that error go away.
Bug: angleproject:6614
Change-Id: Ifa1c8c01fb4502398b3b4e13a411ef50bc3db483
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3239013
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ab426735
|
2021-10-29T13:54:09
|
|
Template gl::Rectangle so it can be used for float
Bug: angleproject:6598
Change-Id: I8cf5894f0e34c56a6ad856c978be93ea9d5ae113
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253131
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5a0e6c1e
|
2021-10-29T21:57:42
|
|
Suppress failing test
ProgramBinaryES3Test.SaveAndLoadDetachedShaders depends on
VK_EXT_provoking_vertex, which is not supported on many of our bots.
Bug: angleproject:6526
Bug: chromium:1264995
Change-Id: I9ea26c1a113068381b18a65c4b79448cf642d476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251224
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2b4d9ae
|
2021-10-30T00:27:56
|
|
Revert "Vulkan: Don't expose MSRTT on SwiftShader"
This reverts commit fb77afd3c76301e11f5c7397d9a63d283f86036c.
Reason for revert: Breaks ANGLE roll into Chromium:
https://chromium-review.googlesource.com/c/chromium/src/+/3253966/
Please follow the directions here to update the reference images:
https://chromium.googlesource.com/chromium/src/+/HEAD/docs/testing/web_test_expectations.md
Original change's description:
> Vulkan: Don't expose MSRTT on SwiftShader
>
> Emulating this extension on SwiftShader is neither useful nor efficient
> (on the contrary, it hurts performance (which is true for all non-tiling
> architectures)). This extension was exposed purely to increase testing
> coverage, but is being disabled now as OOMs resulting from allocating
> the implict multisampled image is confusing Chrome. Note that
> SwiftShader exposes only a limited amount of memory.
>
> Bug: chromium:1263046
> Change-Id: Ia69b7fc63804169431885352a8f637a95ab08bd0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251581
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1263046
Change-Id: I554df85109282db840ed6d2dbf0b153da5a7a98f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254007
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
50fc2909
|
2021-10-27T21:37:02
|
|
Merge Webkit up to Oct 27 2021
Merge the following commits from Webkit. This
change merges webkit from the following git commits
Previous:
commit 703b234524e75109ca3e94febbf63098314022f5
Author: Alex Christensen <achristensen@webkit.org>
Date: Tue Sep 28 16:22:30 2021 +0000
Mostly fix Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=230868
Current:
commit 43d2e637f84b1e6b75c139ac64c26ca108b4f12f
Author: Kimmo Kinnunen <kkinnunen@apple.com>
Date: Wed Oct 27 17:43:38 2021 +0000
REGRESSION (Safari 15): Poor WebGL performance on
https://downloads.scirra.com/labs/particles
Commits:
commit 8238f462c96e515dabd3db0e26c143b18f47340c
Author: Kyle Piddington <kpiddington@apple.com>
Date: Wed Oct 6 21:45:18 2021 +0000
Shadertoy "truchet district" fails to compile with error:
Internal error compiling shader with Metal backend"
commit 2fcb9af290e4b6c804f11ad4359555507c1492f9
Author: Kyle Piddington <kpiddington@apple.com>
Date: Thu Oct 14 21:14:26 2021 +0000
https://tankionline.com/play/ html5 engine not
working: crashes. (Metal shader not working)
https://bugs.webkit.org/show_bug.cgi?id=231490
commit e11955a258380a875115ded16ab8963142c4023b
Author: Kyle Piddington <kpiddington@apple.com>
Date: Fri Oct 15 23:57:12 2021 +0000
REGRESSION (r283667):
webgl/2.0.0/deqp/functional/gles3/lifetime.html fails
https://bugs.webkit.org/show_bug.cgi?id=231682
commit 43d2e637f84b1e6b75c139ac64c26ca108b4f12f
Author: Kimmo Kinnunen <kkinnunen@apple.com>
Date: Wed Oct 27 17:43:38 2021 +0000
REGRESSION (Safari 15): Poor WebGL performance on
https://downloads.scirra.com/labs/particles
https://bugs.webkit.org/show_bug.cgi?id=230749
Bug: angleproject:6630
Change-Id: Icca411dc429538f839f05834f1851fbc54ef8a1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248573
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4a2446c6
|
2021-10-19T11:55:17
|
|
Vulkan: Implement robust shader outputs.
In this CL we change ANGLE to pass the mask of missing shader
outputs down to pipeline creation. We then use the color mask
bits to block SwiftShader writing to unused outputs.
This fixes the undefined behaviour present in Genshin Impact.
Note that the other GLES implementations we tested don't seem
to modify outputs even if they're unused.
It was easier to mask out the color attachments in initialize
rather than set up the pipeline desc to mask out the attachments.
This was because we manipulate the color mask in a fairly complex
way before we initialize the pipeline desc.
Bug: angleproject:6566
Change-Id: Ie659fcd511cd286fa573fd25e3e6a0b9e123ebd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232435
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
800c6885
|
2021-10-25T13:37:39
|
|
Vulkan: Only add samplable formats to outCompressedTextureFormats
Only samplable texture formats should be added to
outCompressedTextureFormats in FormatTable::initialize(), so move that
to after the check of mActualSampleOnlyImageFormatID.
Bug: angleproject:6277
Change-Id: Id91908a04d7e94f2d6dd1f0fa499ebea6a1f107e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3243068
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
20ddb802
|
2021-10-28T11:01:12
|
|
Fix Blitting in Metal backend.
The Metal backend was clipping in integer space.
If the src and dst are not the same size,
say src is 3 wide and dst is 4 wide, and src
starts at -1, then src will be clipped by one
making the src 2 wide. It got 1/3 smaller so the
dst get 1/3 smaller making it 2.666 pixels wide.
The dst then needs to be expanded to pixels so 3 wide.
But, that means the src also needs to be expanded
0.3333 * 3(originalSrcWidth) / 4(originalDstWidth)
so its new left edge is -0.245 which is not an integer.
Bug: angleproject:6598
Change-Id: I2faa966b18b457f474a3e7f6844ef64bfa66dbe8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251683
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
c31855ea
|
2021-10-28T13:29:17
|
|
translator: Always report gl_FragData array size.
Previously we would report it as size 1 always if the extension
was missing. This was breaking a dEQP. The test may have a bug, but
we need to work around the issue until the upstream test is fixed.
See https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3259
Bug: angleproject:6566
Change-Id: I5ac654f472f0e227d63804896ecc388081bec5e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251586
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7bda9d73
|
2021-10-22T11:53:20
|
|
DisplayVkAndroid: Always expose EGL_RECORDABLE_ANDROID.
Expose EGL_RECORDABLE_ANDROID in the config for all Vulkan drivers
on Android to provide app compatiblity with "My Talking Tom 2" and
"My Talking Tom Friends".
Don't require config to be unavailable in EGLRecordableTest and request
a config with EGL_RECORDABLE_ANDROID enabled, but do not check for
results.
Bug: angleproject:6612
Change-Id: I25113b7c7f9a4a3b13dc625f01d96ba91cb3c6d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237001
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
fb77afd3
|
2021-10-28T11:07:53
|
|
Vulkan: Don't expose MSRTT on SwiftShader
Emulating this extension on SwiftShader is neither useful nor efficient
(on the contrary, it hurts performance (which is true for all non-tiling
architectures)). This extension was exposed purely to increase testing
coverage, but is being disabled now as OOMs resulting from allocating
the implict multisampled image is confusing Chrome. Note that
SwiftShader exposes only a limited amount of memory.
Bug: chromium:1263046
Change-Id: Ia69b7fc63804169431885352a8f637a95ab08bd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251581
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
81d964a1
|
2021-10-28T10:50:51
|
|
vulkan: implement EGLDevice for vulkan backend
It allows ANGLE clients to get and use VkDevice and VkQueue
used by vulkan backend.
Bug: chromium:1264439
Change-Id: I338ac08152cfec50bb34c5025730e5e6368efba9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250964
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
32b3c963
|
2021-10-28T11:00:03
|
|
Vulkan: Remove MSRTT assertion in the presence of OOM
When the MSRTT transient multisampled image is created, the emulated
clear staged update is removed (as it's also staged for the single
sampled image). This was done after allocating memory for the image,
which can fail, leaving the update staged and leading to an ASSERT
failure when the texture is used.
Technically, the texture should not be used, and that's a Chrome bug
where the OOM result from ANGLE is being ignored. This change makes
sure the staged update is removed before allocating memory so the
multisampled image is in a more consistent state.
Bug: chromium:1263046
Change-Id: Ida8923ccbc517f740d76b4c2880086a039fa8a1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251580
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
694c5012
|
2021-10-14T11:16:29
|
|
capture_gles_3_2: Skip capturing debug calls
This is analogous to capture_gles_ext.
Bug: angleproject:6613
Change-Id: I8917a4cfa060f71ad616ece56038d02bfa12a952
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237002
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bae19e06
|
2021-10-26T13:35:57
|
|
Vulkan: Avoid unnecessary wait if mapBufferRange indicates read only
When we call BufferVk::mapRangeImpl(), both from internal code paths for
data reads or due to glMapBufferRange call, we are not passing the
access bit to the call. This CL passes the proper access bits to the
call and only wait for GPU writes to finish if access is for read only.
This CL also adds access bitfield to the BufferVk::mapImpl() API and
have various callers pass in the proper access bits as well.
Bug: b/203582620
Change-Id: Ica8493c902dbd7b15996266c81ce0fd4dbfc2520
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3245487
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
5c914b57
|
2021-10-28T13:27:04
|
|
Vulkan: SPIR-V Gen: Fix float+matrix
Found by a fuzzer, float+matrix was not handled correctly by the SPIR-V
output.
Bug: chromium:1264212
Change-Id: I09b13c3e48374621228f5fab4de68c33973ddfd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251585
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dacfa917
|
2021-10-28T12:49:33
|
|
Disable flaky multithreaded tests
The following multithreaded tests are flaky in CQ and are being
suppressed:
VulkanMultithreadingTest.MultiContextDrawSmallDescriptorPools/ES3_Vulkan
MultithreadingTestES3.MultithreadFenceDraw/ES3_Vulkan_SwiftShader
Bug: angleproject:5418
Bug: angleproject:6633
Change-Id: I170085064597165972b7206d98130917bb46fcaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251684
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
191c236a
|
2021-10-14T17:01:45
|
|
Vulkan: Remove "current queue serial".
Queries, semaphores, and pipelines instead use the normal
vk::Resource design to track their lifetimes. Removes the current
serial APIs from all classes. Current serials are still tracked
internally in the command queue classes.
Bug: b/169788986
Change-Id: Idcd2c2a93bc8225c6f3f7c247eb8fcfb76be1030
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223644
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5da062ba
|
2021-10-06T11:15:00
|
|
Translator: Fixed textureGatherOffsets validation
The parser only considered the case where the input to the
textureGatherOffsets() function is an aggregate constructor
node, but not if it is a pre-initialized constant variable.
Added code to handle the constant variable case.
Tests:KHR-GLES32.core.gpu_shader5.texture_gather_offsets_color
KHR-GLES32.core.gpu_shader5.texture_gather_offsets_depth
Bug: angleproject:5362
Change-Id: Ib1dd3450071341082ea6f0f2a243c3bb3ef6b95a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217852
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
3a9f18f1
|
2021-10-18T10:44:38
|
|
Refactor program pipeline handling.
In preparation for moving more code from gl::Program to
gl::ProgramExecutable so it can be shared with ProgramPipeline.
Bug: angleproject:6566
Change-Id: Icb7ecccb37ae8e0d7d5fef8968f0dd7ef6fe6150
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226305
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|