- 02 Feb, 2022 1 commit
-
-
Antonio Caggiano authored
EGL rectangles are specified relative to the bottom-left of the surface, while Vulkan framebuffer space puts the origin on the top-left corner. Bug: angleproject:6933 Change-Id: Ia57eea8601ee724c0a82eb718d831de6b7566472 Reviewed-by:
Constantine Shablya <constantine.shablya@collabora.com>
-
- 31 Jan, 2022 3 commits
-
-
Yuly Novikov authored
Obsoleted by VVL roll crrev.com/c/3426000 Bug: chromium:1292106 Change-Id: I360dea6f97e75a25245597e96553aa86d655c340 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3428099 Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
Fixes a leak of an angle::Library detected in the EGL loader. Bug: angleproject:6937 Change-Id: I623aa6172b98a35465e1d2641b92f67bdc5d24e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3403060 Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
Dithering in OpenGL is vaguely defined, to the extent that no dithering is also a valid dithering algorithm. Dithering is enabled by default, but emulating it has a non-negligible cost. Similarly to some other GLES drivers, ANGLE enables dithering only on low-bit formats where visual banding is particularly common; namely RGBA4444, RGBA5551 and RGB565. Dithering is emulated in the fragment shader and is controlled by a spec constant. Every 2 bits of the spec constant correspond to one attachment, with the value indicating: - 00: No dithering - 01: Dither for RGBA4444 - 10: Dither for RGBA5551 - 11: Dither for RGB565 The translator appends code to the shader that, based on the format specified by the specialization constant, adds dithering to each color attachment output. A 2x2 Bayer matrix is used for dithering, indexed by gl_FragCoord.xy % 2. Bug: angleproject:6755 Change-Id: Ib45da5938e299b6626bff921119d63e7357dd353 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3374261 Reviewed-by:
Tim Van Patten <timvp@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
- 29 Jan, 2022 3 commits
-
-
Yuly Novikov authored
vkCmdCopyImageToBuffer() was changed to vkCmdCopyImageToBuffer in https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3705 Skip both variants for now, the old one to be removed after a VVL roll. Bug: chromium:1292106 Change-Id: I8c1a6be7bcf829c9a8b848c5ef2362462a965a11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424667 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Jamie Madill authored
This uses vk::Context to init DynamicDescriptorPool, and removes some accesses to ProgramExecutableVk member variables so the methods can more easily be moved into another class. The changes should have no effective behaviour difference. Note that the immutable sampler descriptor count is entirely set by the format of the immutable samplers. However we can't determine this count by looking at the descriptor set layout desc with the current implementation. Bug: angleproject:6776 Change-Id: I0a323d19fa3720b5afd8300401ed9c30b105c0ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424657 Reviewed-by:
Charlie Lao <cclao@google.com> Reviewed-by:
Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Yuly Novikov authored
VK_PIPELINE_STAGE_2_NONE_KHR was renamed to VK_PIPELINE_STAGE_2_NONE in https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3705 Skip both variants for now, KHR to be removed after a VVL roll. Bug: chromium:1292106 Change-Id: Ie8d095eccedc526880edf7d3601fa0aca23c1498 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424665 Reviewed-by:
Kenneth Russell <kbr@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
- 28 Jan, 2022 2 commits
-
-
Jeff Vigil authored
When in SINGLE_BUFFER mode, need to get around deferredFlush and call Swapbuffers to force update This must do status check for OUT_OF_DATE. Bug: angleproject:6878 Change-Id: I34b7381f6799879bf6f6d490aba02feffc5c3748 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373739 Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
Lubosz Sarnecki authored
Add GL_EXT_shader_framebuffer_fetch prerequisite. Ignore SYNC-HAZARD-READ_AFTER_WRITE validation error in RendererVk. Test: angle_perftests --gtest_filter="*dead_by_daylight*" Bug: angleproject:6870 Change-Id: I01f53ff8d26b704b75afe8c02ac12777b51fd5de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3372793 Reviewed-by:
Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
-
- 26 Jan, 2022 3 commits
-
-
Charlie Lao authored
The garbage collector code is iterating the mSharedGarbageList from begin to end and if the garbage object is completed, we destroy it and erase it from the vector. This is done one by one. The problem with that is each erase call end up moving the remaining vector to ahead by one, and this process is repeated for each completed element. This is O(N^2) problem and really magnifies when you have many garbage objects. Since we only add garbage when it is GPU pending, so most of these garbages are in sort of fifo order anyway. This CL changes the garbage list from vector to queue so that erase becomes pop and this becomes a O(N) problem. This reduces CPU overhead as measured with minimize-gpu-work for gardenscapes from 10ms to 2ms due to suballocation generates lots of garbages. But this CL is a general improvement for the garbage collection performance. Bug: b/215768827 Change-Id: I002aadf75f958d8b79eb6281a2608597776e908d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3414354 Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
-
Jamie Madill authored
This reverts commit 51072319. Reason for revert: Fails new code paths in Chrome+Skia. Bug: angleproject:6947 Original change's description: > Vulkan: Enable framebuffer fetch on SwiftShader. > > This also fixes a bug with non-coherent fetch in the symbol table. > > Bug: angleproject:6947 > Bug: angleproject:6948 > Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998 > Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by:
Cody Northrop <cnorthrop@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:6947 Bug: angleproject:6948 Change-Id: I8bd6c55598552b733547e45c854f6d55768d2b65 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3417503 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This also fixes a bug with non-coherent fetch in the symbol table. Bug: angleproject:6947 Bug: angleproject:6948 Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998 Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 25 Jan, 2022 1 commit
-
-
Jeff Vigil authored
Add vulkan implementation Add test: EGLLockSurface3Test Test: angle_end2end_test --gtest_filter=EGLLockSurface3Test Bug: angleproject:6062 Change-Id: Id5bfe37895b550392d11e9e9cc1262c1f0288c42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174323 Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
- 24 Jan, 2022 1 commit
-
-
Mohan Maiya authored
1. Enable perFrameWindowSizeQuery feature 2. Return correct vendor string Bug: angleproject:5111 Change-Id: I9efb0d2168994c6f209d8730c658f2568f3d3afa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387848 Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
- 19 Jan, 2022 2 commits
-
-
Charlie Lao authored
This class was added in crrev.com/c/3036256. The original intention was to use VMA to implement buffer suballocation. Because VMA itself does not support buffer suballocation, I was thinking to use VMA custom pool to implement it and this class was intended to wrap all these functionality into one class. But now thanks to Jamie's effort, VMA exported generic suballocation algorithm via API and we have implemented buffer suballocation using that virtual allocation API. So this BufferMemoryAllocator class is really no longer useful. This CL mostly reverted that CL and flatten out the buffer allocation call to directly use VMA's Allocator object. Bug: b/205337962 Change-Id: I0336056e440f39e2ff49fee8e0ff4b1f355cefe4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244022 Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
-
Cody Northrop authored
If GL_EXT_shader_framebuffer_fetch is enabled, specify framebuffer attachments as having VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT. Add new test FramebufferFetchES31.DefaultFramebufferTest which exercises the behavior. Also limit exposure of either framebuffer fetch extension to be Android only due to swapchain images requiring INPUT_ATTACHMENT. Test: FramebufferFetchES31.DefaultFramebufferTest Bug: angleproject:6893 Change-Id: I227e36a9844e2301f0fe0602f4e4d905874b32e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3389791 Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Ian Elliott <ianelliott@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
-
- 18 Jan, 2022 1 commit
-
-
Cody Northrop authored
Per feedback in http://crrev/c/3371244, move the new and existing checks for whether the extension should be enabled. Controlling them based on hardware vendor should be done with FeaturesVK so we can centralize our workarounds. Also remove the envvar-based override for non-coherent extension. It can now be forced using ANGLE's feature system. The new way to force the override is: ANGLE_FEATURE_OVERRIDES_ENABLED=supportsShaderFramebufferFetchNonCoherent or on Android: debug.angle.feature_overrides_enabled=supportsShaderFramebufferFetchNonCoherent Bug: b/201764768 Bug: angleproject:6519 Bug: angleproject:6870 Bug: angleproject:6872 Change-Id: Ie78ebfa94807a156b9e7f704e8a36cd38b85f878 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3389707 Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
-
- 15 Jan, 2022 1 commit
-
-
Shahbaz Youssefi authored
Bug: angleproject:6896 Change-Id: I7172b65b460122fcb2485921fadb360dba199283 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388117 Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
- 14 Jan, 2022 2 commits
-
-
Yuly Novikov authored
To facilitate setting up Pixel 6 bot, where it triggers Bug: angleproject:6896 Change-Id: I69241f56a3b26ed932f06563aca700ff77fdb2dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388195 Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
VMA does not check the result of vkGetBufferMemoryRequirements against the heap size before attempting to make an allocation, which leads to a validation error. The error is benign for ANGLE as the subsequent Vulkan allocation will fail, leading to an OOM generated by Vulkan isntead of ANGLE to the same effect as far as the application is concerned. Bug: angleproject:6444 Change-Id: Ia474629971d6835f727b3fb43313a6003e3c939a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3387088 Reviewed-by:
Charlie Lao <cclao@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
- 11 Jan, 2022 2 commits
-
-
Mohan Maiya authored
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>
-
Roman Lavrov authored
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>
-
- 10 Jan, 2022 1 commit
-
-
Shahbaz Youssefi authored
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>
-
- 08 Jan, 2022 1 commit
-
-
Shahbaz Youssefi authored
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>
-
- 06 Jan, 2022 4 commits
-
-
Charlie Lao authored
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>
-
Charlie Lao authored
This is a reland of cca412cd 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>
-
Charlie Lao authored
This reverts commit cca412cd. 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>
-
Charlie Lao authored
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>
-
- 05 Jan, 2022 2 commits
-
-
Charlie Lao authored
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>
-
Peng Huang authored
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>
-
- 30 Dec, 2021 1 commit
-
-
Shahbaz Youssefi authored
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>
-
- 22 Dec, 2021 1 commit
-
-
Cody Northrop authored
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>
-
- 20 Dec, 2021 2 commits
-
-
Shahbaz Youssefi authored
This is a reland of fb77afd3 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>
-
Alexey Knyazev authored
This reverts commit 797ebdde. 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>
-
- 16 Dec, 2021 2 commits
-
-
Charlie Lao authored
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>
-
Charlie Lao authored
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>
-
- 15 Dec, 2021 2 commits
-
-
Shahbaz Youssefi authored
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>
-
Shahbaz Youssefi authored
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>
-
- 13 Dec, 2021 1 commit
-
-
Shahbaz Youssefi authored
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>
-
- 04 Dec, 2021 1 commit
-
-
Amirali Abdolrashidi authored
This is a reland of 79f9d163 * Added drawcount > 1 as a condition to fall back to MultiDraw*IndirectGeneral(). * Expanded the tests to include cases with disabled support for multiDrawIndirect. Original change's description: > Vulkan: Implement GL_EXT_multi_draw_indirect > > * Optimized the implementations of multiDrawArraysIndirect() > and multiDrawElementsIndirect() for Vulkan > * Added helper functions to support drawArraysIndirect() and > drawElementsIndirect() as special cases of multiDraw*Indirect > functions. > * Added the flag to enable the multiDrawIndirect feature > (drawCount > 1). The generic implementation is used if the > flag is disabled. > > Bug: angleproject:6439 > Change-Id: Ibc653d93d355657f828de9c33da22428629e450f > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276044 > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by:
Jamie Madill <jmadill@chromium.org> Bug: angleproject:6439 Change-Id: I96c015855fabc8abbb87320a5ca71a8d92d61954 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3313412 Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
-