|
cd157aae
|
2022-01-12T14:44:50
|
|
Revert "Use STL container for vulkan memory allocator"
This reverts commit cc516f97018fdcbcded2b0bad712a0bc2af4e227.
Reason for revert:
This is not the right way to use STL containers in VMA.
See [1] for detail.
[1] https://chromium-review.googlesource.com/c/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/+/3381940
Original change's description:
> Use STL container for vulkan memory allocator
>
> There is a crash related to VMA containers, so switch to STL
> containers to see if it can workaround the issue.
>
> Bug: chromium:1266412
> Change-Id: I8416e4b4a27588ac2d710a4ef7600cd91b080535
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327744
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Peng Huang <penghuang@chromium.org>
Bug: chromium:1266412
Change-Id: Ib020c824a3576489c728503a2ced68ca772d4065
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3381979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
d4c8209b
|
2022-01-10T13:30:06
|
|
Fix validation of copyImageSubData related to texture completeness
Fixed an edge case in validation code where we were not properly
ignoring format rules for texture completeness as required for
copyImageSubData by the ES 3.2 specification
Bug: angleproject:5363
Tests: KHR-GLES32.core.copy_image.r32*_texture
Change-Id: Ibf8a6f4708e2135f0eb6f4ba58d4ce413f11ce5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379224
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
96fd9b72
|
2022-01-10T13:17:43
|
|
Fix validation of glCompressedTexImage3D
GLES 3.2 spec allows for glCompressedTexImage3D to accept
TEXTURE_CUBE_MAP_ARRAY as a target as well. Account for this
during validation.
Bug: angleproject:5393
Tests: KHR-GLES32.core.texture_cube_map_array.etc2_texture
Change-Id: Ieb75e63021bea2ea6f8fcc68bd6b666d0bd7f5dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379225
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
926b43e7
|
2022-01-06T13:31:54
|
|
Reland: Frontend: separate lock in swap prep
Swapchain-based backends like Vulkan might block a lot in
vkAcquireNextImageKHR, which is bad for overall fast progress if we also
hold the global EGL lock there.
This CL starts to split the global EGL lock. We release the EGL lock
when performing vkAcquireNextImageKHR, and only maintain a lock for
surfaces.
This is done via a new custom entry point, EGL_PrepareSwapBuffers, so
that we can control how the global lock is used throughout the entire
call.
Bug: angleproject:6851
Change-Id: I095cd8b3bdbb13c842cab0a46148e2122582cdfd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373426
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
2d105177
|
2022-01-10T11:44:37
|
|
Enable a few features for Samsung
Check for Samsung vendorID and enable a few features.
Bug: angleproject:5111
Change-Id: I17a93bfb9a094b80d185eb3d2a08ed00f528a30b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3379223
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
345cdcb0
|
2022-01-10T22:41:46
|
|
Rename features for consistency.
supports_custom_border_color -> supportsCustomBorderColor
supports_protected_memory -> supportsProtectedMemory
Also drop EXT from the end of the variable name as other variables don't
have that.
Bug: angleproject:6731
Change-Id: I60b20d84387bccbca0c4c1cbc7e341c1f5e8f0ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3378827
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
b0e15ee4
|
2021-12-28T20:37:33
|
|
Decide GL_KHR_parallel_shader_compile in backends
GL_KHR_parallel_shader_compile was previously being enabled
unconditionally in the front end. However, some backends (Vulkan)
perform worse with parallel shader compilation. This CL moves the
decision of enabling GL_KHR_parallel_shader_compile to the backends.
To support single-threaded shader compilation without affecting the
generic worker thread pool, Context::mSingleThreadPool is added to own
the single-threaded WorkerThreadPool and can be returned by the new
function Context::getShaderCompileThreadPool(). Otherwise, if the
extension is enabled, the (renamed) Context::mMultiThreadPool is
returned.
Bug: angleproject:6748
Change-Id: Ic8d3a183f397608f3002a05480deb976dfe44792
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360337
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
a026d053
|
2021-12-22T01:08:33
|
|
Add support for subgroupSize of 16 in Debug Overlay Module
The subgroupSize on some Android devices is 16, which is not
supported by current OverlayCull and OverlayDraw compute
shaders. This change adds support for subgroupSize of 16.
This change also removes the subgroupBallot and subgroupArithmetic
paths in OverlayCull compute shader.
These two paths were added by Shabi as an experiment,
and he suggested to remove them for easier code maintenance purposes.
Bug: angleproject:6806
Change-Id: I5ce68cb18fbf3472c987d811c89f065cb8581858
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352865
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
6a255833
|
2022-01-07T16:13:58
|
|
Metal: Fix transform feedback issue
The issue is if you issue 2 draw commands back to back,
Metal partially ignores the 2nd.
Bug: angleproject:6884
Change-Id: I702335ca06828bed1f553f1f5563ddc99f00bc99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373736
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
e38dab0a
|
2022-01-10T10:58:40
|
|
Add missing implementation for glGetnUniformuiv()
GL_KHR_robustness became core in GLES 3.2 and added
glGetnUniformuiv() function in gles_3_2 entry points but this
function was missing implementation in Context.cpp. Also fixes
ES32 validation for glGetnUniform*v
Bug: angleproject:6593
Tests: KHR-NoContext.es32.robustness.getnuniform
Change-Id: Ic26190e59d448d93ae9e2e0d2a7faff14c3776f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373436
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
9d11a341
|
2021-12-16T13:47:04
|
|
Vulkan: Fix Vulkan SCB vs multiple subpasses
vkCmdNextSubpass must be called on the primary command buffer, so the
render pass command buffers need to be split on subpass boundaries.
This is only done when using Vulkan secondary command buffers.
Bug: angleproject:6811
Change-Id: I087fff305c757c78e87bfde4410e7de6bd1a6ba6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3344774
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
acd8fc76
|
2021-12-16T01:05:02
|
|
Vulkan: Distinguish RP and outside-RP command buffer types
What goes inside and outside a render pass command buffer is largely
mutually exclusive. Moreover, the size and frequency of allocations is
different between the two.
This change distinguishes the C++ types used for inside and outside
render pass command buffers:
- The type now documents which command buffer a function is able to
receive.
- `isRenderPass` flag passing, checking and asserting is largely
removed.
- A follow up change experiments with using different (Vulkan vs ANGLE)
secondary command buffers for inside and outside RP command buffers.
- A future change could specialize the pool behaviors per command buffer
type.
Bug: angleproject:6811
Change-Id: Ia4bc669d26ac7e94e8a0dfb9b361666c82f42cc3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3344373
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
60a8b593
|
2022-01-05T11:06:16
|
|
Vulkan: Remove std::unique_ptr usage from BufferVk::mBuffer
BufferVk::mBuffer is std::unique_ptr mostly because BufferHelper object
itself does not support move assignment. Now crrev.com/c/3366855 added
move assignment support, we can now use BufferHelper directly. The main
downside I can see is that in BufferVk::ghostMappedBuffer() and
BufferVk::acquireAndUpdate() functions where we have to use move
assignment of mBuffer object, it becomes slightly more expensive than
moving pointer. But switch to using BufferHelper directly makes code
simpler and other access to mBuffer (which is more common usage)
slightly cheaper by removing one pointer indirection.
Bug: b/208323792
Change-Id: Ia7e7731e284eb6c76db954fef194e9d1de82174b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3362252
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ae1a56b6
|
2022-01-06T17:04:41
|
|
Vulkan: Turn on GL_EXT_shader_framebuffer_fetch for ARM
On ARM, coherent is the default behavior of framebuffer fetch, so
we can expose the GL extension.
Tests: Dead By Daylight app and trace
Bug: b/201764768
Bug: angleproject:6870
Bug: angleproject:6872
Change-Id: I0f98c57e20619d73d1507c4655e7f9bb8c10a53a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3371244
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9d668d6c
|
2022-01-07T18:18:23
|
|
Revert "Frontend: separate lock in swap prep"
This reverts commit 40c5cb255c0a07bdab574aa076ee603e7d791ab3.
Reason for revert: Regression in TSAN caused by this CL:
https://ci.chromium.org/ui/p/angle/builders/ci/linux-tsan-test/352/overview
Original change's description:
> Frontend: separate lock in swap prep
>
> Swapchain-based backends like Vulkan might block a lot in
> vkAcquireNextImageKHR, which is bad for overall fast progress if we also
> hold the global EGL lock there.
>
> This CL starts to split the global EGL lock. We release the EGL lock
> when performing vkAcquireNextImageKHR, and only maintain a lock for
> surfaces.
>
> Bug: angleproject:6851
> Change-Id: I329d5c4c579718a4980c4261590f77099ce1400e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3361249
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Lingfeng Yang <lfy@google.com>
Bug: angleproject:6851
Change-Id: Ie03b784021f7b8b5c1ef95a911ef7da4029abd46
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373165
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
462cdb08
|
2022-01-06T18:46:21
|
|
Capture/Replay: Reset FBOs, RBOs, VAOs
Add resetting framebuffers, renderbuffers, and vertex arrays to
MaybeResetResources().
This is required to prevent leaks in app launch traces, such as Angry
Birds 2 (com.rovio.baba).
Bug: angleproject:4599
Change-Id: I34b45ecb1a1b5144f1e23b6bc56315f7713fed94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3371881
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
40c5cb25
|
2022-01-06T13:31:54
|
|
Frontend: separate lock in swap prep
Swapchain-based backends like Vulkan might block a lot in
vkAcquireNextImageKHR, which is bad for overall fast progress if we also
hold the global EGL lock there.
This CL starts to split the global EGL lock. We release the EGL lock
when performing vkAcquireNextImageKHR, and only maintain a lock for
surfaces.
Bug: angleproject:6851
Change-Id: I329d5c4c579718a4980c4261590f77099ce1400e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3361249
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
1e2856fd
|
2022-01-07T13:04:39
|
|
Update freetype-py wheel
Bug: chromium:1282168
Change-Id: I7daac60c540d6f67620fba2823ac0d4d36845a13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3372783
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
caf6433a
|
2022-01-04T14:37:29
|
|
Vulkan: Rename releaseStagingBuffer to releaseStagedUpdate
There is no more per ImageHelper dynamic buffer for staging, and this
function is not just removing staging buffer, but removing all staged
updates. Rename it to reflect what it actually does.
Bug: b/208323792
Change-Id: I5a2182291848a9e137ed29b888f31215664b46fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3367078
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
93159c02
|
2021-12-30T16:01:52
|
|
Vulkan: Remove DynamicShadowBuffer implementation
This is no longer used since mShadowBuffer was removed from BufferVk in
https://chromium-review.googlesource.com/c/angle/angle/+/3313333
Bug: b/208323792
Change-Id: I0bb1d66c2f0f58bac74139a274c957681edf2ad4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3362504
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
3263eb01
|
2021-12-28T10:10:50
|
|
Vulkan: Switch GPU translated vertex buffer to NonHostVisible
When we translate using GPU, there is no need to use host visible
memory. Use device local memory instead.
Bug: b/205337962
Change-Id: Ic76dcb28bde2f079f6ac406d846518bf5f369d74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340553
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
8589c456
|
2021-12-22T17:13:33
|
|
Vulkan: Remove mStagingBuffer from ImageHelper and ContextVk
This CL removes ImageHelper::mStagingBuffer and
ContextVk::mStagingBuffer and uses per shared group staging buffer pool
instead.
Bug: b/208323792
Change-Id: I46b5fd542697eb860def9c6d592dd147ad4dc973
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3354090
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
6da1ac81
|
2021-12-22T10:13:43
|
|
Vulkan: Switch ReadPixels from DynamicBuffer to shared pool
FramebufferVk::readPixelsImpl() and ImageHelper::copyImageDataToBuffer()
use per FramebufferVk DynamicBuffer. This CL removes this and uses
shared buffer pool to allocate a temporary staging buffer for readPixels
as needed and frees it immediately afterwards.
Bug: b/208323792
Change-Id: I65ddf9bf9f1f14578d9def63f5287cb1a4121dff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3354038
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
ad27d5d6
|
2021-12-21T11:22:30
|
|
Reland "Vulkan: Consolidate all vertex conversion buffers to shared pool"
This is a reland of cca412cd8b349b7281727c50f2a59d115fd90a05
Further inspection shows it was red-herring. The original CL does not
have the un-intended diff that I saw in the commit email. This is
try to reland the original CL without any modification.
Original change's description:
> Vulkan: Consolidate all vertex conversion buffers to shared pool
>
> There are various conversion buffers that holds converted vertex or
> element or index data. They are DynamicBuffer for now. This CL switches
> them to use the shared group buffer pool. With this change, all
> allocation is represented by a BufferHelper object instead of an offset.
> I am able to remove the offset arguments from a lot of APIs.
>
> Bug: b/208323792
> Change-Id: Ib611beb0c16cddbdd9ddf7b8961c439da9fa5180
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352489
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/208323792
Change-Id: I90852ad38c2b9ac423800bb6854757bcc17cd166
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3370602
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a61a7f59
|
2021-12-28T18:16:40
|
|
Vulkan: Use correct aspectMask
Update ImageHelper::stageSubresourceUpdateFromImage() to use the correct
aspectMask flags based on the image's format, rather than assuming only
color formats.
Additionally, only call ensureMutable() for sRGB textures that indicate
srgbDecode == GL_SKIP_DECODE_EXT.
Bug: angleproject:6852
Test: DepthStencilFormatsTest.DepthTextureRender
Change-Id: Iaf1f167612144f836c5574b0f561cc1b58c3cb6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360090
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
4e85bdd9
|
2022-01-06T17:06:25
|
|
Revert "Vulkan: Consolidate all vertex conversion buffers to shared pool"
This reverts commit cca412cd8b349b7281727c50f2a59d115fd90a05.
Reason for revert: There is accidental code merge bug left in.
Original change's description:
> Vulkan: Consolidate all vertex conversion buffers to shared pool
>
> There are various conversion buffers that holds converted vertex or
> element or index data. They are DynamicBuffer for now. This CL switches
> them to use the shared group buffer pool. With this change, all
> allocation is represented by a BufferHelper object instead of an offset.
> I am able to remove the offset arguments from a lot of APIs.
>
> Bug: b/208323792
> Change-Id: Ib611beb0c16cddbdd9ddf7b8961c439da9fa5180
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352489
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/208323792
Change-Id: I18bba207d1d8bb76dff32d9855a744dba93bc6d6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3370601
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
cca412cd
|
2021-12-21T11:22:30
|
|
Vulkan: Consolidate all vertex conversion buffers to shared pool
There are various conversion buffers that holds converted vertex or
element or index data. They are DynamicBuffer for now. This CL switches
them to use the shared group buffer pool. With this change, all
allocation is represented by a BufferHelper object instead of an offset.
I am able to remove the offset arguments from a lot of APIs.
Bug: b/208323792
Change-Id: Ib611beb0c16cddbdd9ddf7b8961c439da9fa5180
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352489
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fd014271
|
2021-12-16T20:44:42
|
|
Vulkan: Match chromaFilter to min/mag for YUV AHBs
From the VVL:
VUID-VkSamplerCreateInfo-minFilter VkCreateSampler:
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
specifies that the format can have different chroma, min, and mag
filters. However,
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
is not supported for VkSamplerYcbcrConversionCreateInfo.format =
VK_FORMAT_UNDEFINED so chromaFilter needs to be equal to
minFilter/magFilter.
We don't know what the min/mag filters are when the AHB is imported, so
we need to update the YcbcrConversionDesc with the current min/mag
filter value before creating the VkSamplerYcbcrConversion when the
ImageView is created. Additionally, if the min/mag filters are updated
later, TextureVk::syncState() needs to recreate the ImageViews to ensure
the chromaFilter matches the new min/magFilters.
Test: atest android.media.cts.DecodeAccuracyTest#testGLViewDecodeAccuracy[0]
Test: ImageTestES3.SourceYUVAHBTargetExternalYUVSampleLinearFiltering
Bug: b/210526871
Change-Id: I95dbd9738f6e3fd0870e484518eee105e995f93a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346394
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
abf17f01
|
2021-12-10T17:10:53
|
|
Metal: Support depth filtering queries for D32, D24S8
Port changes from https://bugs.webkit.org/show_bug.cgi?id=232071
Bug: angleproject:6779
Change-Id: Id2d7a0c215e4db072b8830aedd90b878f3817967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331666
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
f13f440e
|
2021-12-15T15:11:05
|
|
Reland: Metal: Fix Webkit warnings in ANGLE build
Fix nullable warnings, unused functions
Add in additional function specification to FormatStringIntoVector
to correctly fix warning
Bug: angleproject:6781
Change-Id: I26af2d698f14d353832802aa7b5ce34c5a1f4b95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3366796
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
7126c3a3
|
2021-12-23T16:58:25
|
|
Capture/Replay: Limit caps for QC/SwS
On Pixel 4 (Qualcomm), GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 6, so
limit mState.mCaps.maxAtomicCounterBufferBindings to 6 to make traces
more portable.
For SwiftShader, MAX_SHADER_STORAGE_BUFFER_BINDINGS = 12, so limit
mState.mCaps.maxShaderStorageBufferBindings to 12 to make traces more
portable.
These limits affect collecting traces for Angry Birds 2
(com.rovio.baba).
Bug: angleproject:6848
Test: TracePerfTest.Run/*_angry_birds_2_launch
Change-Id: Ie8364c8b04d1b82655c4a95b3983f618f478e23c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3355555
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0e49a3dd
|
2022-01-04T11:23:54
|
|
Vulkan: Add std::move support for BufferHelper
There are needs to support std::move for BufferHelpers in other CLs (See
crrev.com/c/3352489). Without this support, we can not store
BufferHelper into std::vector. This CL adds move support for
BufferHelper class.
Bug: b/208323792
Change-Id: I93f79490715750abc1bcedd41b683ad0c2460ebb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3366855
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
43b0e92b
|
2021-12-13T15:38:32
|
|
Vulkan: Consolidate mHostVisibleBufferPool and mMapInvalidate
BufferVk::mHostVisibleBufferPool is allocated when BufferVk::mBuffer is
not hostvisible and we need to map it. In that case
mHostVisibleBufferPool is allocated and data copied from mBuffer to it
and the pointer to mHostVisibleBufferPool is returned to user.
BufferVk::mMapInvalidateRangeStagingBuffer is used when map is called on
a small range. In this case we allocate memory for the small range of
buffer and return that intead of waiting for entire buffer for GPU to
finish. Also when BufferSubData is called, we also needs to allocate a
staging buffer and issue a copyBuffer from staging buffer to main
buffer. This CL consolidate all these three usage cases into one
mStagingBuffer. It removes mHostVisibleBufferPool and
mMapInvalidateRangeStagingBuffer from BufferVk class. This makes overall
logic of managing data consistency much simpler as well since we only
have two buffers: The main buffer storage mBuffer or mStagingBuffer. And
mIsStagingBufferMapped tracks if mStagingBuffer is the one actually
mapped to user or not so that at unmap time we know if we should flush
the data to mBuffer or not.
Bug: b/208323792
Change-Id: I4f0c79a2d86da1a43844ed2ba83ddeb7dd4a5c0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335216
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
cabc3b98
|
2021-12-30T14:33:31
|
|
Move atomic counter uniform range counter to executable.
This makes the code more consistent with the other ranges. It will
make way for future refactorings to moving more uniform code to
the executable.
Bug: angleproject:3570
Change-Id: Ie365c0e184039f813f19d3f38b401ad8a0b72120
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3359001
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e9e9a2c6
|
2022-01-04T20:14:48
|
|
Do not pass mInstance to vkGetInstanceProcAddr
for vkEnumerateInstanceVersion
Bug: angleproject:6869
Change-Id: Ifc93a067824c3467003a47bad240b3be10874ab0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3366038
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
beda2459
|
2021-12-09T14:24:08
|
|
Add support for GL_MESA_framebuffer_flip_y 2/*
This is a second CL that adds actual implementation
for GL_MESA_framebuffer_flip_y extension.
Also, some tests are added to verify the functionality.
Please note that bots do not support this extension yet,
and the tests were verified by running them locally.
Bug: chromium:1231934
Change-Id: Iea483aa13a298df6b5cf0b7b5ffb795a4666e3bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329603
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
|
c984dad5
|
2021-12-03T16:02:49
|
|
FrameCapture: Don't remove protection from shared pages.
Don't remove protection from pages that are shared when a
persistent coherent buffer storage is unmapped.
The shared page can still be relevant when the the other buffer is kept
and written to.
Add a PageSharingBuffers test that produces this behaviour.
Test: angle_end2end_tests --gtest_filter="BufferStorageTestES3.PageSharingBuffers/*"
Bug: angleproject:5857
Change-Id: I6927f25229d2dfe9f68ba9a993e9d3e994bc7ce0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3306623
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
cfc4db34
|
2021-11-04T16:54:15
|
|
Metal: Provoking vertex support for Metal DrawArrays
Add in provoking vertex rewrite support for
drawArrays command, enabling 6 dEQP tests.
GLES3/functional_rasterization_flatshading_line_loop
GLES3/functional_rasterization_flatshading_line_strip
GLES3/functional_rasterization_flatshading_lines
GLES3/functional_rasterization_flatshading_triangle_fan
GLES3/functional_rasterization_flatshading_triangle_strip
GLES3/functional_rasterization_flatshading_triangles
This patch adds a new shader to the Provoking
Vertex helper that generates draw commands for
all simple data types.
Fix bug in provoking vertex helper that caused
reused index buffers to suffer from allocation issues.
Also fix Provoking vertex for triangle fan generation
Bug: angleproject:5325
Change-Id: I7a1211dfcd99329868269ea0666eef1915d487b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3261635
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
0331738b
|
2021-12-29T14:47:32
|
|
Fix extension download script, and update data.
This includes the update to the NV 1660s, and Intel driver update,
and automatically gathered SwiftShader data.
Bug: angleproject:6853
Change-Id: I481918105fd0e0224a2e2ddf5175b38e97918195
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360784
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a400e76d
|
2021-12-22T12:24:13
|
|
Vulkan: Don't expose MSRTT without VK_KHR_depth_stencil_resolve
Previously, ANGLE exposed the EXT_multisampled_render_to_texture
extension even if VK_KHR_depth_stencil_resolve was not available. This
was due to scarcity of drivers on the bots with support for this
extension and allowed partial testing.
This is no longer true. Additionally, this cleans up the expectations
because old and buggy drivers are now simultaneously filtered out.
Bug: angleproject:6845
Change-Id: I8c285a5fa5d9beeb98b48d8b056cdc8779cce6fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3353895
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6f1c39b5
|
2021-12-16T16:10:49
|
|
Vulkan: Restore color attachment mask-related blend states
When we end up resetting blend state such as when changing to a
depth-only FBO and back, we can end up adding attachment states. They
need to be updated with the current GL blend state.
Bug: b/210543392
Bug: angleproject:6828
Change-Id: I3419acb8081eb7d662576a75382bb8684cc0d29f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346320
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
0a28c6c6
|
2021-12-15T15:49:33
|
|
Capture/Replay: Capture some MultiDrawIndirect parameters
It seems some new tests were added that fail Capture/Replay.
Bug: angleproject:6180
Change-Id: I26ccc1e9defc7b7d66c7e26538df286230b47def
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340945
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
5f53268c
|
2021-11-04T17:56:48
|
|
Capture/Replay: Gather Program sources directly from call
With CreateShaderProgramv the sources were collected from the
attached shaders, wich gave complications, because normally the
the shaders were detached right after program linking and a
different handling was needed when capture was enabled, handling
that let the replay tests fail.
To overcome this gather the shader source directly from the call
parameters instead of pulling it from the attached shaders.
Bug: angleproject:6180
Bug: angleproject:6659
Change-Id: I248c1aa0f58b61519b938fce1a77fb25dc0a7cfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262133
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
542f7d80
|
2021-12-22T19:36:27
|
|
Vulkan: Copy buffer data to correct cube map face
TextureVk::copyBufferDataToImage() was failing to set
region.imageSubresource.baseArrayLayer to the correct cube map face
value, causing every glTexSubImage2D()-type call using
GL_PIXEL_UNPACK_BUFFER to only copy to the
GL_TEXTURE_CUBE_MAP_POSITIVE_X face. In the case of PUBG Mobile, this
left all other faces with "random" data, resulting in corrupted
reflections on things like water, the airplane, etc.
Bug: b/194140619
Test: TextureCubeTestES3.CubeMapPixelUnpackBuffer
Change-Id: I93a9219ce098985f9f4b906f8fe2e05850fb8d43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3354091
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
2ebd583e
|
2021-12-22T11:24:43
|
|
Android: Remove setenv from common path
In Android production stress testing, the setenv call was causing a
race condition. To fix, only use setenv in the paths that need it
as a performance optimization. Specifically, FrameCapture makes
use of it every frame.
Bug: angleproject:6822
Change-Id: I452f1ef8607ca9baf15d69246932c47454a3ce46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3353893
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
2f3e6cc0
|
2021-12-13T17:40:18
|
|
Vulkan: Remove mShadowBuffer from BufferVk class.
The shadow buffer was initially designed to avoid synchronization in
glMapBuffer call while buffer itself is still busy. There are many
optimization done inside BufferVk::mapImpl that try to avoid wait for
GPU as much as we can by distinguish GPU write versus read, by detecting
map call read/write intention by checking access bit, and finally by
allocating a staging buffer to return a CPU friendly copy of data to
caller. This shadow buffer implementation also have known bugs that are
not keeping data in sync. With all these optimization added after
initial mShadowBuffer implementation, I believe we do not have a good
reason to still keep mShadowBuffer. And this has been disabled for
months in main branch. This CL removes this code path completely which
makes code a lot simpler.
Bug: b/208323792
Change-Id: Ie5999e38b6120a371ec2e969f196e4754ebd0f8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3313333
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
bc9d2d7d
|
2021-12-07T16:16:47
|
|
Vulkan: Consolidate BufferHelper's code paths into one
There are cases that BufferHelper may not sub-allocate from the pool.
For example, when buffer is created from external memory. Right now we
have two different code paths in the BufferHelper object and checking if
suballocation object is valid or not and pick different code path. This
CL consolidates both code path into one by making non sub-allocated case
also creates BufferSUbAllocation object and owns a BufferBlock object.
Bug: b/205337962
Change-Id: Iac82bdb0b69d424e4147b52d458ced6274e106a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3322100
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
4114fe23
|
2021-11-20T22:05:56
|
|
Vulkan: Simplify transform feedback emulation logic
In [1], the program is transformed to not output transform feedback
logic when transform feedback is inactive. With that change, it's no
longer necessary to dedicate a driver uniform to indicate if transform
feedback is active.
[1]: https://chromium-review.googlesource.com/c/angle/angle/+/3294661
Bug: chromium:1209285
Change-Id: Ica725d0da08e2676f442fe6307962d367b443535
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3294702
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ab288fea
|
2021-07-09T13:02:08
|
|
Upgrade restricted traces. (Re-land)
Includes removing capture to temporary ResourceMaps,
and including all source files in the JSON.
Bug: angleproject:5133
Change-Id: I0508dd46a9f613a96ca3635f82b6904c0f2523a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3345222
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c1f478fe
|
2021-12-20T12:37:33
|
|
Frame Capture: Allow for no FBO when running MEC.
Multi-context captures use the surfaceless context extension. That
was crashing MEC because we were assuming the context would have a
Framebuffer.
Bug: angleproject:5133
Change-Id: I6be12d332f4754f80c088d88973219327eca251a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352084
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
eba2e620
|
2021-12-15T12:29:12
|
|
Capture/Replay: Fix uniform program indexing.
We were using the "native" version of the program ID in the update
call, which could overflow the bounds of our fixed-size program
maps. Instead use the captured (and upper-bounded) version of the
ID and only get the mapped ID when calling GetUniformLocation.
Bug: angleproject:6431
Bug: angleproject:6816
Change-Id: I807bd07c9dcff6ba5a50991e28b0a58d16f7bc63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3345220
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1da7e3af
|
2021-12-21T15:55:38
|
|
Revert "Metal: Fix Webkit warnings in ANGLE build"
This reverts commit 6706799186683dd3733c4610de09d84721aa08c8.
Reason for revert: Includes pragma that disables a warning.
Original change's description:
> Metal: Fix Webkit warnings in ANGLE build
>
> Fix nullable warnings, unused functions
>
> Bug: angleproject:6781
> Change-Id: I063331e60d31a55b3cc9df0b41ace014d7d13659
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343174
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Bug: angleproject:6781
Change-Id: Id5fce2afd0381030a974871b99e8adf075677bd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352086
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
eca427b2
|
2021-12-20T10:55:41
|
|
Vulkan: Add mutex to protect mVirtualBlock
mVirtualBlock could be accessed from multiple thread when
asyncCommandQueue is enabled, where the free call could come from the
submission thread. This CL adds a mVirtualBlockMutex in BufferBlock and
always take the lock when mVirtualBlock is been accessed.
This CL also adds ConditionalMutex class for the general usage that a
mutex is only used based on a boolean.
Bug: angleproject:6840
Change-Id: Ib647b4ff12ebfc08f2a70192d39f16e15a1fc5f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3350798
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
c1598640
|
2021-11-30T23:44:30
|
|
Vulkan: Improve mid-RP clear warning message
One app does:
- Draw
- Draw
- Clear depth, then disable it
- Draw
In this case, the message generated for mid-RP clear, suggesting the
clear be done earlier is not meaningful as the previous draw calls did
use the depth/stencil image. The message now includes an alternative
suggestion to invalidate the depth/stencil image instead of clearing it.
Note that the app may still legitimately do multiple passes in one
render pass where depth/stencil is cleared in between, so the warning is
not applicable in all cases. It's still useful to notice issues in more
common scenarios.
Bug: angleproject:2472
Change-Id: I3abbecf8c83b7b856c2430675e69b1471e91c0c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3308920
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
cf8ac00a
|
2021-12-20T11:57:25
|
|
Vulkan: Fix MSRTT w.r.t stencil-only unresolve
The stencil bit was being silently masked out in a bitset in
FramebufferDesc that tracked whether the framebuffer requires any
unresolve. If only stencil needs unresolving, this mask was zero,
leading to an incorrect framebuffer getting pulled from the cache.
A follow up change will add an ASSERT in BitSetT to catch such errors
in the future.
This issue was only reproducible on SwiftShader and AMD as the only
implementers of VK_EXT_shader_stencil_export.
Bug: angleproject:6840
Bug: angleproject:6324
Change-Id: I4f055982ebd75f621ec1e34b0d60eaa497c27b17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3349979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aabfe874
|
2021-12-17T15:43:22
|
|
Metal: Use the context device to Texture::resize
Makes the resized texture to be attributed to the owner.
Bug: angleproject:6832
Change-Id: Ia1eae1bb6c9e83e23fae51121f88d9ce37dc948b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3347642
Reviewed-by: John Cunningham <johncunningham@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
34ea8111
|
2021-10-28T11:07:53
|
|
Reland "Vulkan: Don't expose MSRTT on SwiftShader"
This is a reland of fb77afd3c76301e11f5c7397d9a63d283f86036c
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: I88415f3c1a7532eda5473da6acbd22acf14ae11c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3260330
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
624e3c3d
|
2021-12-17T15:30:54
|
|
Fix dangerous use of AutoObjCPtr after ownership identity change
Metal new* methods create objects with +1 retain count.
AutoObjCPtr is intended to adopt this reference.
Otherwise, like before this patch, the AutoObjCPtr holds
object with +2 count. Before this patch, some but not all
call sites donated the extra retain count to autoreleasepool
"out of band", and as such the code did not leak that much.
Bug: angleproject:6831
Change-Id: I72bcbc712f2cadbcbc6148c6aedfa7e151314518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3347641
Reviewed-by: John Cunningham <johncunningham@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4a148e9d
|
2021-12-20T13:39:48
|
|
Revert "Vulkan: Suppress VUID-vkCmdDraw-blendEnable"
This reverts commit 797ebdde9894b4411ed304a83fdaeb8d8a91fe56.
Reason for revert: The VVL bug has been fixed.
Original change's description:
> Vulkan: Suppress VUID-vkCmdDraw-blendEnable
>
> A new VVL causes failures in BlendIntegerTest.MRT*
>
> Bug: angleproject:6355
> Change-Id: If62b1a7934574acaeb95601d7fb0a61dc5d9c99a
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140159
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:6355
Change-Id: I769d34fada1c2db00513f9912ef178dcd1eb4ee9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3347648
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ede0b8b7
|
2021-12-17T14:35:47
|
|
Avoid ANGLE_MTL_AUTORELEASE inside ASSERT, it leaks on Release
Avoid ANGLE_MTL_AUTORELEASE inside ASSERT, it leaks on Release.
The create functions already return retained, instead of autoreleasepool
retained, so owning the reference via adopting AutoObjCObj is
as efficient as autoreleasepool on possible future ARC.
Thus use AutoObjCObj, that is safer than autoreleasepool with C++
and works towards being able to perhaps remove use of autoreleasepool.
Bug: angleproject:6830
Change-Id: I80f523d9a6846097a593fe94b5ea9715fa88ea15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3347640
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: John Cunningham <johncunningham@apple.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
001221f0
|
2021-12-16T21:41:29
|
|
Metal: upstream fix from WebKit for texture leak.
Upstream fix by Kimmo Kinnunen for a leak of MTLTexture instances for
render targets from:
REGRESSION (r287068): [macOS arm64]
TestWebKitAPI.GraphicsContextGLCocoaTest.
UnrecycledDisplayBuffersNoLeaks is failing
https://bugs.webkit.org/show_bug.cgi?id=234356
The leak would happen through a temporary render pass descriptor that
would ref the render target texture. The descriptor was created
without an autoreleasepool in call stack.
Also fixes the error string leaks.
Bug: angleproject:6827
Bug: angleproject:6829
Change-Id: I07ec961886a9fb8caad6df334293358a175eaf15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346682
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
6c894e82
|
2021-11-04T14:49:41
|
|
Vulkan: Replace BufferVk::getBufferAndOffset() with getBuffer()
Now BufferHelper class already keeps offset information. There is no
reason for BufferVk to have that information any more.
Bug: b/205337962
Change-Id: I6e014fb480bfcd5018ef9231b0fb87a50021f179
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266147
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
a93a3930
|
2021-12-08T20:36:07
|
|
Vulkan: Track enabled in VertexArray
Previously in sequences such as
glEnableVertexAttribArray(0)
glDrawElements()
glDisableVertexAttribArray(0)
glEnableVertexAttribArray(0)
glDrawElements()
the second glDrawElements() would always be called with dirty enable. On
some backends like Vulkan this could result in unnecessary pipeline
changes.
Bug: angleproject:6796
Change-Id: Ib44877b6030e8d0acede7cf5c591936ba3844b69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3325208
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
83a670ab
|
2021-10-29T09:12:26
|
|
Vulkan: Implement BufferPool using VMA's virtual allocator
VMA's allocation calls used to be sub-allocating a pool of memory. What
we really want is sub-allocate a VkBuffer object. VMA recently added
support to expose the underlying range allocation algorithm via APIs,
which user can use it to sub-allocate any object. This CL uses that new
virtual allocation API to sub-allocate from a pool of VkBuffers.
In this CL we only switched BufferVk::mBuffer to sub-allocate from the
BufferPool object.
Bug: b/205337962
Change-Id: Ia6ef00c22e58687e375b31bc12ac515fd89f3488
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3266146
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
83679716
|
2021-12-14T19:02:48
|
|
Vulkan: Dirty vertex buffers if default attrib values changed
In the call_break_offline trace, attribute index 4 is disabled then
enabled before a draw. This redundant operation is currently not blocked
and makes it to the Vulkan backend, resulting in
handleDirtyGraphicsVertexBuffers. However, at the same time, we change
the default attrib value for index 3. Which makes
handleDirtyGraphicsVertexBuffers not redundant. We'll need to take into
account cases when other attribute indices are not dirty and yet the
default attrib value changes.
Bug: angleproject:6802
Change-Id: I4a3ec411aa42f73a209fd0f06976d7ef2d21e027
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331412
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
543f5750
|
2021-12-15T16:58:46
|
|
Vulkan: Disable protected memory for ARM
ARM driver reports protected memory feature support. But when we enable
the feature, even if the feature is not been used (i.e., no memory or
queue is created with protected bit), we still see quite large
performance drop, mainly due to excessive load/store unit activity. This
CL disables this feature on ARM platform until we can find a good
solution for it.
Bug: angleproject:6817
Change-Id: I57e8b3f568f3818080e56b5d6ae9d1623732d236
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343671
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
c7446ac4
|
2021-12-16T16:00:08
|
|
Add support for GL_MESA_framebuffer_flip_y 1/*
LaCrOS, which is same as ChromeOS, relies on this
extension and uses that with WebGL content.
However, when LaCrOS uses ANGLE, the extension is
not exposed and the WebGL content is y-inverted as
direct scanout is always used.
There are two bugs - 1) ANGLE should expose the
extension so that direct scanout is possible
(this CL fixes the issue. 2) LaCrOS shouldn't rely
on the extension if it's not available (a bug to
be fixed in Chromium).
This particular CL consists of autogen files with
framebufferParameteriMESA &&
getFramebufferParameterivMESA in Context
marked as UNIMPLEMENTED. And also unimplemented
validation.
Bug: chromium:1231934
Change-Id: Id617846b0412f579df5b4ace6cb33c1ec6d403df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343492
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
|
|
6e5fd816
|
2021-12-15T18:31:13
|
|
Support more ImageLayout in ConvertImageLayoutToGLImageLayout
Bug: chromium:1264439
Change-Id: I35938a65981edf495bd9aafb8bfb17aa3ec9a66c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3341640
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
b26bb13a
|
2021-12-15T15:46:00
|
|
Metal: Remove references to xfbActiveUnpaused uniform
Metal chooses a shader with or without support for transformfeedback
so there's no point in checking in the shader if it's enabled or
not.
Bug: angleproject:6823
Change-Id: Iacd26b1e55b311a7cc7987dcd8b2f8c0c8727d62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343179
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
c4d434b9
|
2021-12-15T22:57:13
|
|
Metal: Enable OES_fbo_render_mipmap
Bug: angleproject:6813
Change-Id: I643c114d7b37ca0532d2dda1964090a15e470842
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3342568
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
67067991
|
2021-12-15T15:11:05
|
|
Metal: Fix Webkit warnings in ANGLE build
Fix nullable warnings, unused functions
Bug: angleproject:6781
Change-Id: I063331e60d31a55b3cc9df0b41ace014d7d13659
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343174
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
bda49325
|
2021-12-10T16:11:15
|
|
Add guards for 64 bit types on 32bit systems
Bug: angleproject:6785
Change-Id: Iff043a22d398f5a7a1a46ae3cc4d2de5a6e3797e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331639
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
89e11878
|
2021-12-06T09:42:46
|
|
Vulkan: Fix the UAF issue with BufferData
* Fixed the use-after-free issue with stale buffer handles
after calling BeginTransformFeedback.
* Added an observer for TransformFeedbackVk to update the
buffer handles when buffer's storage is changed and the buffer
update type is StorageRedefined.
* Added a function to TransformFeedbackVk::onDestroy() to
release the counter buffers in order to avoid crash due to
TransformFeedbackVk::end() not being called, e.g., as a
result of no glEndTransformFeedback() calls.
Bug: chromium:1274316
Change-Id: I8ed477f36e6ff89dd4764bb59af564c69efe33e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321789
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ee1d3cf7
|
2021-12-10T12:29:16
|
|
Metal: Integrate Metal Binary Shader generation
Bug: angleproject:6801
Change-Id: I2eb7072ed342f2b4cb5d9ee50ca9db75c5c7df69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331206
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
3e7e2758
|
2021-12-14T15:48:42
|
|
Metal: Fix macOS ANGLE build on Catalina (10.15) SDK
macOS Catalina does not have an enum for AppleGPUFamily6
In addition, platform includes for macOS 11.0
should use 110000, not 101600 (10.16)
Bug: angleproject:6814
Change-Id: I9c6a0587aa22fb2e58d02fcb1779060de2632963
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340104
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
05a44dd2
|
2021-11-29T12:16:58
|
|
Vulkan: Set content undefined on eglSwapBuffers
* Invalidate the swap buffer content if the swap behavior is
EGL_BUFFER_DESTROYED.
* In that event, WindowSurfaceVk::getBufferAge() sets `age`
to 0 and returns with no errors.
* Unit tests in EGLBufferAgeTest.cpp updated to reflect this.
* Minor cleanup in the test file.
Bug: angleproject:6363
Change-Id: Ibab7ccb99c1be149588e6aad16bcc2d6dd989295
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3307776
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5275f487
|
2021-12-14T21:03:54
|
|
Vulkan: Disable async command queue with Vulkan SCBs
There is currently a threading hazard with ContextVk::mCommandPool,
where ContextVk records to command buffers allocated from the pool while
the async command queue thread is using other command buffers allocated
from the same pool.
While experimenting with Vulkan SCBs, disable the async command queue
feature when using Vulkan SCBs. It is unknown whether async command
queue with Vulkan SCBs is even worthwhile; if it proves to be, we could
make ContextVk maintain multiple pools and rotate between them.
Bug: angleproject:6811
Change-Id: Iac2e9337b5b109b2c7cb359109afe6ee386e4c34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340018
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
feb599ad
|
2021-12-09T20:17:14
|
|
Invalidate EGL handles during eglTerminate
EGL 1.5 spec says -
Termination marks all EGL-specific resources, such as contexts
and surfaces, associated with the specified display for deletion.
Handles to all such resources are invalid as soon as eglTerminate
returns
Move EGL object handles to another set, tracking invalid objects,
during display terminate. Destroy these invalid objects during
eglReleaseThread
Bug: angleproject:6798
Test: EGLMultiContextTest.NegativeTestAfterEglTerminate*
Test: EGLMultiContextTest.RepeatedEglInitAndTerminate*
Test: Android CTS WrapperTest.testThreadCleanup
Change-Id: Ie160212c98367493e645d9d1c8260e7a30649386
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329273
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
90c3038e
|
2021-12-14T16:46:13
|
|
Vulkan: Fix desc set updates with Vulkan SCBs
Since Vulkan SCBs are a command buffer in their own, we cannot aggregate
desc set updates to be done once after all the binds have been recorded.
This change makes sure that desc set updates are issued before bind, but
this problem could potentially also be solved with
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, by actually issuing the
writes at the end of the secondary CB, just before closing it.
Bug: angleproject:6811
Change-Id: I18e150b73a5881258679ba53a2d84acd2fc44edd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338390
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
800c6971
|
2021-12-08T01:08:17
|
|
Modified buffer fallback format to smaller storage format
Bug: angleproject:6726
Change-Id: I475d99fc0143f265e66cc4f7aa13fa0de8745169
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315916
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
e70a81b9
|
2021-12-14T13:41:28
|
|
Vulkan: Rectify typo introduced in 36fcf80b1f2a99
The method should have been updateYcbcrConversionDesc
Bug: angleproject:6732
Test: Texture2DTestES3.*Yuv*Vulkan
Change-Id: I67ab35ac07a6d751cbe3c3c29bdde21a5a7f5834
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3339605
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
76d42082
|
2021-12-14T09:30:24
|
|
Metal: ETC and ASTC are missing on M1
Platform guards are incorrect in mtl_utils.mm. We need to
account for macOS post 10.15, which now supports the apple
GPU family query.
Bug: angleproject:6809
Change-Id: Iae219a11ffe0ef0715681009aa24cbbc6fd2c61e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338624
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
36fcf80b
|
2021-12-11T20:55:53
|
|
Vulkan: Consolidate SamplerYcbcrConversionCache
Now that SamplerDesc and ImageHelper have the fully qualified
description of a VkSamplerYcbcrConversion, we can lazy allocate
the conversion handle along with streamlining the interface to the
SamplerYcbcrConversionCache class.
Bug: angleproject:6732
Test: Texture2DTestES3.*Yuv*Vulkan
Change-Id: I7deaa0220031bc4c500d88021459017bf937218c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3333629
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
7b13a9ac
|
2021-12-09T18:37:59
|
|
Vulkan: Fix dynamic partial update buffer data issue.
add test case for dynamic update buffer data.
Signed-off-by: Hailin Zhang<hailinzhang@google.com>
Bug: b/207714894
Change-Id: I8c1e93d152847c3162c0e2dd49abe3d899c859a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3328869
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
32f572b7
|
2021-12-03T17:58:51
|
|
Support creating EGLImage from VkImage
Bug: chromium:1264439
Change-Id: I520182143e748f25b44d0725f3f171b7b33a85d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3311131
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
7fc6c07c
|
2021-09-29T14:02:29
|
|
Capture/Replay: Update process for trace upgrading.
Includes changes to the retracing script.
Also includes documentation on how the process works.
Bug: angleproject:5133
Change-Id: I1acfe338f3fe0282a0461c314274c761ed04bd2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193418
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d4b8cd5e
|
2021-09-14T16:34:31
|
|
FrameCapture: Implement capture of coherent bufferstorages.
Track buffers with the GL_MAP_COHERENT_BIT_EXT access flag in a
CoherentBufferTracker on a per page basis using the
PageFaultHandler and protection functions from system_utils.
Check for dirty memory and capture it on draw calls.
Bug: angleproject:5857
Change-Id: Ib098f96952db7583d3e6517570c179e7754f54b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3168629
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
5b858acf
|
2021-12-09T14:22:14
|
|
Vulkan: Fix the offset issue in multiDrawIndirect
* In MultiDrawElementsIndirect, it resets the index buffer
offset (mCurrentIndexBufferOffset) to 0.
* Added a unit test for MultiDrawElementsIndirect to
make sure that the index buffer offset is reset properly.
* Updated the test program in MultiDrawIndirectTest to
include a multi-colored mode.
* D3D11 and Metal tests regarding the following functions
are disabled so more test coverage can be added:
* glMultiDrawElementsIndirectEXT
* glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE
Bug: angleproject:6751
Change-Id: I81bb7b3aa9b6ad8a9283dd50728ec6250c3668ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3330737
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
42bd4fc2
|
2021-12-10T14:58:17
|
|
Metal: add ANGLE_metal_create_context_ownership_identity.
This Metal-specific EGL extension allows a given context
and the GPU resources it allocates to be associated with
a particular task ID on the system, for system-level
bookkeeping purposes.
Bug: angleproject:6795
Change-Id: I19ee0993564169b01c4a450e63dcfacd339b98b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335172
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
1fc9b7c6
|
2021-12-08T14:10:36
|
|
EGL: Add queries for EGL_KHR_protected_content
Add surface and context query for EGL_PROTECTED_CONTENT_EXT
attribute.
Bug: angleproject:6693
Change-Id: Iad3d8d7e0db89414c44a0101c26cda6e60308e71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3324963
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
afca80a8
|
2021-12-09T17:48:49
|
|
Metal:Add debug info for shaders
This should fix the WEBGL_debug_shader_info CTS test
Bug: angleproject:6788
Change-Id: I89e18f94ea3199149c252355372648b5e328e1ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3329204
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
f60b152c
|
2021-12-06T10:19:53
|
|
Frame Capture: Merge small frames into single sources.
By buffering up the replay functions before writing them out into
sources, we can reduce the number of replay files by a large
margin.
Bug: angleproject:5133
Change-Id: I0a556fd1a3a5f2dcc8a26b761e885c9b7e464cf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3316200
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b7a42c88
|
2021-12-13T15:53:07
|
|
Vulkan: Remove VK_EXT_swapchain_colorspace check
We don't make use of this extension since
https://chromium-review.googlesource.com/c/angle/angle/+/3208689.
Bug: angleproject:2514
Change-Id: I8b8edf5006ac1c3eeeefcadbe77249a5a6a5dda7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335070
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f40e83cb
|
2021-09-10T19:15:17
|
|
Reduced "rx::vk::kInFlightCommandsLimit" from "100" to "50".
The "100" value is too high and causes "S21 Adreno" block in
"vkQueueSubmit()". This is a temp solution.
Patch authored by Igor Nazarov <i.nazarov@samsung.com>
Bug: angleproject:6401
Change-Id: Ie7f9c8ef5311b17325640cae0f613ece768c0fa3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3165666
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ea03bf47
|
2021-12-03T08:48:50
|
|
Vulkan: fix crash when clearing stencil
Previously, we cast the originally-32-bit mask to 8 bits, and then
crashed ourselves in the assert.
Also optimize away the stencil based on 8 bit explicitly in the
frontend.
Bug: chromium:1275858
Change-Id: I0b03a17e72f5a4540b5c4605353eb1fde898057d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315158
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
e8b186c9
|
2021-12-09T09:45:20
|
|
Frame Capture: Don't unmap regenned buffers in reset.
These buffers are deleted and recreated, so unmapping them gives
a "resource not mapped" error during replay.
Found when working on the "world_war_doh" trace.
Bug: angleproject:5133
Change-Id: Id1e6318c44a2a09fa643ef0a72f1d03d8396e5fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327862
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a24919e7
|
2021-12-09T10:04:25
|
|
Frame Capture: Clear array buffer binding in MEC.
This should allow us to properly reset buffer state when capturing
vertex attribute pointer state in the per-context (not shared)
setup function.
Also adds a missing replay state buffer binding update.
Fixes a state serialization difference in "badland".
Bug: angleproject:5133
Change-Id: I8509dbf7211726ff47f4e7e5ff86a0eb8726d75c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3327861
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a1b9eb68
|
2021-12-10T16:36:46
|
|
Replace IOSurfaceSurfaceEAGL.mm table with less strict padding
Bug: angleproject:6783
Change-Id: Id67f581af0742b47fc5ea38de616391e57b763de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331641
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
194687e7
|
2021-12-06T13:40:24
|
|
Metal: Fix M1 and iOS synchronization for readPixels
ReadPixels does not implicitly flush context before reading
on iOS and macOS hardware due to shared memory. look for any pending
GPU Work, and flush the command buffer if needed.
Bug: angleproject:6803
Change-Id: I5688b031ecffcd7427263041d4e33ae256f68af6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3318592
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
2d6caae4
|
2021-12-10T17:25:58
|
|
Metal: Add maximum render target size validation
Bug: angleproject:6790
Change-Id: I4a7e7285e040cc68e4fc16bb653f6d1512f541c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3331671
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|