Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 2e0661d7 | 2020-02-17 20:19:13 | Vulkan: Update ES 3.1 test expectations Split off shader compilation failure to a new bug. Bug: angleproject:3596 Bug: angleproject:4402 Change-Id: Iac054e469440cfa2b84289e08c5b21e3fbdf5410 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061448 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c8676d4b | 2019-11-25 11:38:19 | Unlimit texture size on relatively new linux If limit texture size to a small number, application may need to reshape texture, lead to more discontinuous memory access and performance loss. Bug: angleproject:4086 Change-Id: I502a90535c2e3d13738e23827f4712a77987585e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934048 Reviewed-by: Xinghua Cao <xinghua.cao@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Xinghua Cao <xinghua.cao@intel.com> | ||
| ee89849b | 2020-02-17 22:47:57 | Metal: Fixed memory leak due to the CAMetalLayer still attached to super layer When destroying SurfaceMtl, the CAMetalLayer should detach from its super layer, otherwise memory leak could happen. This memory leak caused the end2end tests to ran out of memory. Bug: angleproject:2634 Change-Id: I8ea91cccdb42cf0ae8ef807cf01f1e05043dc7c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060250 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 5f5292c8 | 2020-02-14 13:08:47 | Only enable robust client memory if the context supports validation. Bug: chromium:1028418 Change-Id: Id47ac64a3d56b58455e1f36d8a17dbdc9db7e509 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2056506 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Khushal <khushalsagar@chromium.org> | ||
| 59126651 | 2020-02-17 09:52:05 | Revert "Provide default implementation of rx::DisplayEGL" This reverts commit e82ab75a4ca8f4389a5f23b3a51d9388a92428e2. Reason for revert: crbug.com/1052772 Original change's description: > Provide default implementation of rx::DisplayEGL > > Will allow to use EGL instead of GLX on X11. > > Meant to be used on modern EGL so it requires the extensions > EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. > This keeps the default implementation simple (no pBuffer > fallback) > > Also provide simple WorkerContextEGL. > > Bug: angleproject:4328 > Change-Id: I825c6998e4a3727a13e533ede3d9fb1820edc804 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031699 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,syoussefi@chromium.org,jonahr@google.com,jmadill@chromium.org,julien.isorce@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:4328 Change-Id: I62436cad1e6aae0c5e072acb1dab0bd10b2cf722 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2058952 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 2dd40d7f | 2020-02-15 07:32:26 | Vulkan: Free pool allocation leak with graph disabled. Our secondary command buffer pools were leaking memory every submit. This change pops the secondary command buffer pool allocator scope after commands are flushed during a submit. Fixes the memory leak observable on any Vulkan application. Bug: angleproject:4029 Bug: angleproject:4403 Change-Id: I3d0f8d53456336ef0b03c6d37425fb76c88d1551 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057349 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 798a8375 | 2020-02-14 12:48:21 | Vulkan: Add more debug labels handling with graph off. Bug: angleproject:4029 Change-Id: Ia3c88af5f9fa1a7940d7f809ded599c064126be7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055555 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 12a36dd9 | 2020-02-14 12:48:20 | Vulkan: Add debug utils functions to wrapper. Also adds a more consistent way of checking if the debug utils extension is enabled. Enables adding support for the debug utils markers with the command graph disabled. Bug: angleproject:4029 Change-Id: I5f8762921b06f54e400c25764012ab70e10bfb8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055554 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| bb7534ee | 2020-02-14 16:23:28 | Use ASSERT() instead of assert() when possible. Since ASSERT() works in Release builds. Left assert() in a few places where calling a function may not be safe. Bug: angleproject:4396 Change-Id: Ic75a3d41d846e327097f8c37fe2336dcd3be6cb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057745 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 9f4ab98d | 2020-02-13 12:49:05 | Return angle::Result from more label functions. This is necessary for the new Vulkan implementation. Bug: angleproject:4029 Change-Id: I07ef54145252ff102c74179361436587bb330fc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055553 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 3a3e7d4d | 2020-02-14 14:08:07 | Don't skip functional.layout_binding.ubo.vertex_binding_max on NV/D3D11 This test no longer fails with any recent drivers. Bug: angleproject:4276 Change-Id: I7a20ee66f1da82d0f378848ccc9faa327a4ed63a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057065 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d5861a68 | 2020-02-13 15:46:49 | Fix ASAN errors in end2end tests. 2 minor issues of reading from uninitialized memory in tests. Removes the suppressions from the fixed tests. Bug: chromium:1029378 Change-Id: I466ce231cfed1ce53a60732706c05b778b096805 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2055649 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 4f9608ca | 2020-02-13 09:26:52 | Vulkan: Update more bug numbers for ES 3.1 This reflects the most recent conformance run on Android with SwiftShader. Bug: angleproject:4106 Bug: angleproject:4108 Bug: angleproject:4188 Bug: angleproject:4190 Bug: angleproject:4240 Bug: angleproject:4300 Bug: angleproject:4312 Change-Id: I0107262eecc963a8d5343a53806bb0483b5af3be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2054068 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| ef599fb0 | 2020-02-11 18:19:16 | Vulkan: Fold glClear into draw call when command graph is disabled This sets ContextVk::mRenderPassCommandBuffer properly when glClear get called so that it wonr end up start anotyer render pass during setupDraw call. Bug: angleproject:4395 Change-Id: Id2110719ad4d70b4c410062466d32381fb5e1f88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050966 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 94c19142 | 2020-02-12 19:50:38 | Capture/Replay: Track and restore mapped buffer data When a buffer is mapped writable by the host, we need to track its final contents, and then restore them during replay. This implementation just blindly captures the whole mapped range if writable, and can be optimized in the future. This change renders the moving billboards in Manhattan correctly. Test: First 500 frames of Manhattan and TRex Bug: angleproject:4091 Change-Id: I5f7775235f569efb264bde679fd3045d7012c622 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2053512 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| b79b57e0 | 2020-02-13 17:59:16 | Vulkan: expose ANGLE_compressed_texture_etc Bug: angleproject:4399 Change-Id: I51cd304c8726c985c5f70b78bd98c8af19d2a80d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2053889 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| e82ab75a | 2020-02-12 13:49:22 | Provide default implementation of rx::DisplayEGL Will allow to use EGL instead of GLX on X11. Meant to be used on modern EGL so it requires the extensions EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. This keeps the default implementation simple (no pBuffer fallback) Also provide simple WorkerContextEGL. Bug: angleproject:4328 Change-Id: I825c6998e4a3727a13e533ede3d9fb1820edc804 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031699 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 74ab0bff | 2020-02-12 17:29:27 | Vulkan: Disable command graph by default. Also removes the angle_end2end_tests feature override. Bug: angleproject:4029 Change-Id: I0d0bd087fc2143360185592d9fa1238a9bafc55d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046054 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 593706bc | 2020-02-10 16:46:52 | Test Runner: Increase default timeouts. In particular the Debug timeout was not generous enough. Increase the test timeout to 20 seconds in Release and 60 seconds in Debug. Increase the batch timeout to 240 seconds in Release and 600 seconds in Debug. Bug: angleproject:3162 Change-Id: I0bd0ea18cb5cdab005143b8deed9500d9d2e8ea1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047415 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| caf7becc | 2020-02-11 19:05:11 | Move dither from blend state to rasterizer state Dither is technically not a part of blend state so it was removed from there as a first step towards exposing OES_draw_buffers_indexed (that defines independent blend state for each draw buffer). Rasterizer state seems to be the closest (although also not accurate) place for it to keep code changes to a minimum. ANGLE's D3D11, Vulkan, and Metal renderers ignore dithering altogether. Bug: angleproject:4394 Change-Id: Ib138624b9218851d18cd63e2033e8e8ac8ca71d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050464 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| bd2f2575 | 2019-12-06 09:44:13 | Update comment to reflect changes in ea0dcd4bda188 Bug: angleproject:4087 Change-Id: I3c26fae4fde24308fa877256c190a5bb47fe1a82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954568 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 33b1e31e | 2020-02-08 17:48:56 | Fix compressed formats validation with TEXTURE_3D Bug: angleproject:4385 Change-Id: Ibc1b482ec851d8076aacad84ab67fe20a745c122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2045512 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| e1ccac7f | 2020-02-11 17:45:02 | Don't print INFO level log messages in Release by default. Even with dcheck_always_on. INFO level log messages will still be printed in Debug or when angle_enable_trace is enabled. Bug: angleproject:3525 Change-Id: Ic3807f94307af2878aee78426c969ab846ae3881 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050890 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 3b82506a | 2020-02-11 09:35:38 | Vulkan: Command graph linearization (Step 5). Implements ES 3.1 support. Bug: angleproject:4029 Change-Id: I3c08602cf4ec64621bfdb40cd40d142b666e6edf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046052 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 72e9f4d7 | 2020-02-11 11:14:35 | Vulkan: Update bug number in KHR ES 3.1 expectations It was pointing to general ES 3.1 bug. Bug: angleproject:4107 Change-Id: Ief726c57d5a853d633df705eb30e8cdad3f6c9ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050030 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 1a8b7758 | 2020-02-11 10:34:00 | Fix assignment of CacheOpResult::EnumCount The special enum value 'EnumCount' is used by EnumSize() to determine how large to make the PackedEnumMap::mPrivateData array. However, that enum entry was being assigned an incorrect value, leading to the array being constructed too small and causing a crash in PackedEnumMap's std::initializer_list constructor when it went beyond the size of the array to assign each of the necessary values. The fix is to remove the assignment of CacheOpResult::EnumCount and let it indicate the real number of entries in the enum. Bug: angleproject:4393 Test: end2end Change-Id: If9635c61e72aadc6527d416f83be18add8b24572 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050026 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| b40d48a6 | 2020-02-09 10:38:40 | Vulkan: Remove ensure init from updateActiveImages. The ensure should already be triggered from the front-end. Bug: angleproject:3539 Bug: angleproject:3887 Change-Id: Ic7ee10f9c767440e55befb929b414c0c894754c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046051 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| cd8167fb | 2020-02-10 14:17:09 | Vulkan: Fix EGLBlobCacheTest. Several runs of the same test in a row would cause a failure if the cache would get hit. Fix the flakiness by resetting the cache between runs. Also cleans up some of the variable naming and adds a stream output for pretty test errors. Fixed while working on the standalone test harness. Bug: angleproject:3162 Change-Id: I64da8a37eedf562860e3e5409cbf6fb08e81dfa4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047417 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 3c066404 | 2020-02-05 12:43:12 | Vulkan: Command graph linearization (Step 4). Implements GLES 3.0 functionality for the new command recording style. Tested with angle_end2end_tests. dEQP/CTS testing will come later. Bug: angleproject:4029 Change-Id: Ibdc4f1355a7b880946699ec227fd9807f4a27af9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2040197 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 041ebfed | 2020-02-10 13:39:34 | Speed up InstancingTest.LineLoop. This test was taking 14-20 seconds in release mode. Likely because of the way we were issuing a ReadPixels and "std::endl" to a stream for every pixel of a 256x256 Framebuffer. Instead issue a single ReadPixels call and no stream flushes. Now runs in less than 500ms. Helps prevent timeouts when running tests multi-process. Also enables the test on D3D9. Bug: angleproject:3162 Change-Id: I27aad773040d6b6668cbde003802345e01044a7d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047414 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 8257ac30 | 2020-02-07 14:17:08 | Vulkan: Defer RenderPass image barriers. We accumulate image barriers in two places: * for GL sampler textures * for GL framebuffer attachments (Render Targets) Then we issue the barriers together in a single call before the RP. This fixes a bug where we were missing a layout transition in some cases when transitioning between a sampler and a render target. It should also be faster to issue a single barrier before a RP than issue several smaller barriers. Bug: angleproject:3539 Bug: angleproject:4029 Change-Id: I180b770f0df6b44d209e5c618ba36bcc1c6372e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2044236 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 788fa360 | 2020-02-10 14:07:12 | Suppress two failing NVIDIA D3D11 tests. Bug: angleproject:4391 Bug: angleproject:4392 Change-Id: I81cbf261cf206cd2d38cff93d16056c21bf78557 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047416 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 9d86f331 | 2020-02-04 18:27:20 | Capture/Replay: Avoid null pointer dereference in MEC Small fix to progress Manhattan MEC. Bug: angleproject:4091 Test: Working through Manhattan frames 5-10, TRex still works Change-Id: I7981e19a64f121b2ecca4451574ca2886641c6ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2039532 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fc1e8503 | 2020-02-05 10:59:27 | Capture/Replay: Initial support for framebuffer textures Bug: angleproject:3662 Test: Working through Manhattan frames 5-10, TRex still works Change-Id: I3d9b4dced4c1667382154fb68839d01ba2db9b98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2039531 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a8e6a463 | 2020-02-09 13:10:24 | Suppress Vulkan RobustResourceInit tests. These tests are flaky because of a bug in ANGLE's Vulkan robust resource init. Mark them as failing until we can resolve the bug. Bug: angleproject:4255 Bug: angleproject:4384 Change-Id: I8e18a8532850848fc7a25e137dce27dd0d19fa55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046053 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 0a6e118d | 2020-01-27 13:37:29 | Change g_Mutex from std::mutex to std::recursive_mutex When running flatland on android-10.0.0_r21 (Pixel 3), libgui's ~EglImage calls eglTerminate which grabs angle's EGL entry point mutex. The path continues to libvulkan where eventually another egl call happens (eglDestroyImageKHR) and it will attempt to take the mutex at the entry point again. So we try to get the mutex multiple times from the same thread. Change this mutex to a recursive_mutex to allow for this re-entry of EGL calls Tests: android-10.0.0_r21/frameworks/native/cmds/flatland Bug: angleproject:4354 Change-Id: If8a817df45e9f58d5f06884510350e17d7127fa9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2029218 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 0d224cce | 2020-02-05 11:00:59 | Capture/Replay: Add 2DArray and 3D texture support for MEC This also includes support for compressed formats, which required a small refactor to streamline the code, since all of the entrypoints have slightly different parameter lists for imageSize and data. Bug: angleproject:3662 Test: Working through Manhattan frames 5-10, TRex still works Change-Id: I007ad9366934fff773f367ecb6387bc8b0d13aa0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2039530 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 9681190d | 2020-02-05 12:51:25 | Make Debug marker functions return angle::Result. Allows error handling in these functions. Necessary for the Vulkan back-end. Bug: angleproject:4209 Change-Id: I2092e58e719c6ee562807e1c7e8ad26988342855 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2040196 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c3854ebc | 2020-02-07 11:11:26 | Vulkan: Clamp vertex buffer offsets. Vulkan mandates that vertex buffer offsets are within the size of the buffer even if robust buffer access is enabled. Do a check in VertexArrayVk::syncDirtyAttrib to guard against this. Bug: angleproject:3350 Change-Id: Ia01deb9b7335dd8f632f2cf9b32d2908ba55645c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2044491 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| ca035803 | 2020-02-06 17:24:48 | Vulkan: Add missing wrapper functions for XFB. Found when working on the command graph refactor. Also replace the offsets array with nullptr which should have the same effect. Bug: angleproject:4029 Change-Id: I72e31c5403c645d72619e14aafef612e454183f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2043270 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| e02f4996 | 2020-02-06 12:26:07 | Vulkan: Pass correct level count in getLevelDrawImageView This bug was hit by a KHR ES 3.1 test. This CL just applies the obvious fix already noted by jmadill@. Test: KHR-GLES31.core.shader_image_size.*-nonMS-* Bug: angleproject:4008 Bug: angleproject:4108 Change-Id: I5d05c0a7432f7b70d2b995fd8b11224c119ece5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2042491 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 3a2522de | 2020-02-06 10:05:23 | Make TransformFeedbackTest deterministic. Instead of using rand(), use a fixed seed RNG. This can ensure runs use the same draw call counts no matter the time of day. Note: there may have been a setting somewhere that was seeding the RNG because I wasn't seeing variation between test runs locally. This change makes it explicit. Bug: angleproject:4029 Change-Id: Ic51bf2a6779da3b96a3357eed99c0f7fa9d81648 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2042210 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| e9dc0201 | 2020-02-04 12:04:28 | GL: Mark unused uniform locations that were explicitly bound as ignored If a uniform location is unused, but a call to glBindUniformLocation has explicitly bound the uniform, ANGLE validation still treated the uniform as unused and returned errors. The correct behavior is to ignore the uniform and silently fail. Bug: angleproject:4374 Change-Id: Ic7b97f23cf8bc2d5380129322595e51b3d4a9fcc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2036676 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e5385ea9 | 2020-01-27 13:40:18 | Vulkan: Compile shaders at link time Since line raster emulation was changed to use specialization constants, it has been possible to compile shaders at link time. However, program pipeline objects would have required keeping the shader sources around for recompilation. Now that all necessary decorations are modified directly in SPIR-V, it's possible to compile the shaders at link time and forget about their sources. Program pipeline objects then simply "reconfigure" the generated SPIR-V. A next step could be to also create the Vulkan pipeline object at link time. A number of failures due to gaps in CTS testing prevent that work currently. In particular, in some situations the generated SPIR-V is not per spec, for example it may contain vertex attributes with aliasing locations, or have transform feedback capture of array elements misconfigured. Bug: angleproject:3394 Bug: angleproject:4253 Change-Id: I54c0884cf056b511a4a306225cc6ed2cef84d257 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023186 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| f1b2c4be | 2020-02-05 10:22:19 | Vulkan: Fix overlay with command graph disabled. Also fixes the missing RenderPass count in the new command recorder. Bug: angleproject:4029 Change-Id: If7f0cf9e80ef815781ad2684ad1d93a3ed4912ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2037786 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 25b7b846 | 2020-02-05 10:22:18 | Vulkan: Command graph linearization (Step 3). Implements queries with the new command graph syntax. The T-Rex capture benchmark uses queries so this fixes several errors. Bug: angleproject:4029 Change-Id: Ia785f8e31257116aa3c75032dd66471b49926a78 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2021003 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| 20b1259a | 2020-02-05 17:08:05 | Vulkan: Command graph linearization (Step 2). ES 2.0 is feature complete. Passes all of the angle_end2end_tests with the new linear command recording method. Also runs the T-Rex benchmark without any obvious glitches. Likely has issues with creating too many RenderPasses. ES3 is mostly untouched. Bug: angleproject:4029 Change-Id: Ic5acf3d768495fbffd07b07bf0a6f2b5787c51f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012900 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 806ba566 | 2019-12-12 13:02:01 | Extend ANGLE_iosurface_client_buffer to Vulkan backend for Swangle Implement an IOSurface-backed pBuffer surface for the Vulkan backend on Mac, through SwANGLE. ANGLE will pass a raw pointer to Swiftshader and handle locking/unlocking the IOSurface. Bug: chromium:1015454 Change-Id: Ia3ead55334736003d405b54ba8dcc7701706fbb2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965434 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 5641d193 | 2020-02-04 21:31:47 | Move generic code from rx::DisplayAndroid/Ozone to rx::DisplayEGL This CL is intended to move and factorize code only. Move DisplayAndroid::generateConfigs to DisplayEGL::generateConfigs because the code is generic and not Android specific. It will be useful later to provide a default implementation of rx::DisplayEGL. Same for createWindowSurface and createPbufferSurface, they have been moved without changes from DisplayAndroid to DisplayEGL. Unimplemented functions in DisplayOzone and DisplayAndroid have been moved to DisplayEGL. Bug: angleproject:4328 Change-Id: Ibbd36f99ea457cbd69391beb4a83f23403bc40fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2038286 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| a44d96dc | 2020-02-05 14:20:59 | Apply compressed format workarounds to texStorage entrypoints Bug: angleproject:4266 Change-Id: I70b3cdef35395b3a92bd460c9911b1ed963e0dcd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2038573 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| eb63016d | 2020-02-04 16:15:41 | Add environment overrides for ANGLE features. Allows the application to override ANGLE behaviour without having to modify the code or use the ANGLE extension. Useful for testing with the command graph refactor. Adds a new string utility for parsing lists of strings from environment variables. Bug: angleproject:4029 Change-Id: Ibae93b743c0c385392cd259d9604ce2f2ed988dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2037784 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f764fc02 | 2020-02-03 10:33:58 | Fix varying linking by location This change breaks the assumption everywhere that varyings can be identified uniquely by name throughout all stages of the pipeline. It further implements linking of varyings by location, if specified. Bug: angleproject:4355 Change-Id: Ie45e48879008c3f0c22d1da3d0d26f37c655e54e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2030026 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 58fc8b11 | 2020-01-31 19:03:12 | Implement RGTC (BC4, BC5) compressed texture formats gl.xml was modified as two enums were missing from their proper group. dxgi_support_data.json was fixed to not expect BC4 and BC5 on FL9_3 Bug: angleproject:3149 Change-Id: Ieb97a8cf8e92258c1b44e090e823fac227997174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033068 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kenneth Russell <kbr@chromium.org> | ||
| 4933d9d2 | 2020-01-16 13:16:45 | Capture/Replay: Track compressed texture data Rather than try to read back compressed data using ANGLE_get_image (which does not yet support compressed formats), track a shadow copy of the compressed image and store it like client data. Test: Mid-execution capture and replay of TRex frames using ETC1 Bug: angleproject:4036 Change-Id: Id15be60f7444cc2e1356e76ff18069c42e552663 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2015818 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 3e691bb9 | 2020-02-03 14:25:03 | Vulkan: Count active renderpasses in overlay. Useful debugging information for benchmarks. Also helpful when working with the command graph to ensure we don't regress performance. Bug: angleproject:4029 Bug: angleproject:4320 Change-Id: Ibe224c40a3acaca9231bf3869486a0f8bba07ba0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2036402 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d8c4b5fb | 2020-01-31 16:47:51 | Expose ASTC 2D on OpenGL Bug: angleproject:4372 Change-Id: Ic1800ac10b12547ca9816f7ad9dfd62f83f227c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033066 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> | ||
| 9e774041 | 2020-01-31 15:09:01 | Update S3TC GL extension strings Added avoid_dxt1_srgb_texture_format workaround Bug: angleproject:4266 Change-Id: I286a9c66f6ea1d2c9d3587f6ca85608336eb44a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033065 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| aa6dd50d | 2020-02-03 17:10:58 | Share scratch buffers between contexts. The Display now owns scratch buffers and loans them out to contexts while they are current. This allows us to to only allocate one scratch buffer in a single-threaded use case. Tick the scratch buffers every time a new context is made current. Lower the lifetime from 1000 to 64 to ensure that in the worst case, the buffers are cleared after not being used for ~1 second. BUG=chromium:1030835 BUG=angleproject:4363 Change-Id: I83552424e2beac62b9e41152876b04fc84f53692 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031698 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> | ||
| 4546c5ce | 2020-01-31 15:05:35 | Skip failing end2end tests on Windows on ARM There are multiple failing tests on Windows on ARM which are related to drawing differences. They seem to be similar to an already reported issue (anglebug.com/3748). Bug: angleproject:4356 Bug: angleproject:4357 Change-Id: Ide5cc2e6f42d4c4b6fb88352833d20e517005c14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033067 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fed0dda1 | 2020-01-31 12:59:31 | Remove getIndexRange call from ValidateDrawRangeElements The spec doesn't require implementation to validate indices against range. This extra validation is costing performance dearly, thus should be removed. Bug: angleproject:4373 Change-Id: I61b0628e75de368d9e869008b7c99c429222fd6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033495 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 49a53d68 | 2020-01-30 16:30:30 | Vulkan: Request used features Some features were used but not enabled. There is no validation error for this. This change enables the following features: - shaderStorageBufferArrayDynamicIndexing: used by atomic counter emulation. - shaderSampledImageArrayDynamicIndexing: used by sampler array of array emulation, as well EXT_gpu_shader5. - shaderUniformBufferArrayDynamicIndexing: used by EXT_gpu_shader5. Bug: angleproject:4071 Change-Id: I582750d1552055deeec50485e6511788b98490c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2032144 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 07795d47 | 2020-01-31 16:08:52 | Disable rewriteRowMajorMatrices workaround. It's causing flaky crashes in tests. Leave the revised code in place so it's easier to debug. Disable test which required the workaround. Bug: angleproject:2273 Bug: angleproject:3843 Change-Id: Iebb682bd3c6282031cc57eda5d3d4d5636be7294 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033870 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> | ||
| f63fbcd5 | 2020-01-29 16:13:56 | Fuchsia: Limit number of concurrent presents in ScenicWindow The test suite occasionally runs into the following error: [02036.794449][326733][326738][klog] INFO: [ERROR:src/ui/scenic/lib/scenic/session.cc(412)] Scenic session error (session_id: 1): Present2() called with no more present calls allowed. Terminating session. This is actually a problem with the test harness as resetting the window triggers a present with no fences and no OnFramePresentedCallback which means there is no way to know if we will exceed the limit. Add an OnFramePresentedCallback and count presents to stay under the limit. This blocks if there's more than 2 in flight presents. A dedicated async loop is used to avoid re-entering other code while waiting to present (there is no such case in the ANGLE test suite currently, but better safe than sorry). Typically if we run the whole suite there will be a failure in the middle, but re-trying the test that failed won't repro the issue. Add a test that reliably exhausts the limit by calling resetNativeWindow() in a loop. Bug: angleproject:4360 Change-Id: I24eb01fd72fc0be57c36e49b5875023a80d6ab91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2027934 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a36f8bd4 | 2020-01-29 12:10:17 | Mark MemoryBuffer allocation functions as NO_DISCARD Not all call sites were checking the return value of MemoryBuffer::resize, mark the return value as NO_DISCARD and fix all the warnings. BUG=chromium:1030835 Change-Id: I762796e3d11efc131a814069d78a195b0d4c9f8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2028151 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 1736c47b | 2020-01-31 11:16:41 | Vulkan: Remove transient cmd buffer workaround We no longer need this workaround. Also mCommandPoolFreeList dead code. Bug: angleproject:3508 Change-Id: Ib73ddd431eb1bf9a55c3421111af4df5976cc1fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033485 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 71153201 | 2020-01-29 14:42:30 | Vulkan: Disable restartRenderPassAfterLoadOpClear workaround This workaround was added due to qualcomm driver bug b/129281932. But this has been fixed with recent drivers. Removing the WR here so that it will not negatively affect performance. Bug: angleproject:4344 Change-Id: Iea2ec86082a0ced64bfe843bf916c6bdb2aea60b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2029210 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| e580ca8b | 2020-01-29 16:21:05 | Capture/Replay: Implement Manhattan ES 3.0 support Populate the entrypoints required to get gfxBench Manhattan scene to capture and replay correctly from the beginning of the trace. Test: Captured and replayed Manhattan frames 0-500 on both Windows and Linux (Nvidia GPUs) Bug: angleproject:4091 Change-Id: I5447a6835e55e944772d37219f2bd414606f0a70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2029216 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| c73475fb | 2020-01-29 11:37:05 | Vulkan: Fix UtilsVk dirtying driver uniforms descriptor set binding Most UtilsVk functions bind a descriptor set to index 0 (same as driver uniforms). If that happens to close a render pass, all is well as starting a new render pass ensures all descriptor sets are rebound. However, if the render pass is not closed, or if a dispatch call is issued (which never rebinds descriptor sets if not explicitly necessary), then the driver uniforms descriptor set may end up never rebound, causing a validation error (and possible crash or corruption). This change makes sure that UtilsVk notifies the context when it binds a descriptor set. The context then dirties the driver uniforms binding as appropriate. Bug: angleproject:4272 Change-Id: Ief20c7884fbe39712f844247489812afc70b30a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2027938 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 088b1baa | 2020-01-30 17:53:07 | Change uuid attributes to declspec in winrt. Due to warning C4467: usage of ATL attributes is deprecated Bug: angleproject:3928 Change-Id: I6620acc85ae974445a2a01fc109568fac8c3b23b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2032152 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e196bc85 | 2020-01-17 13:11:20 | Add driver bug workaround for rewriting row major matrices. Joint work with syoussefi@, who wrote the RewriteRowMajorMatrices pass, and revised it for this CL to not rely on the NameNamelessUniformBuffers pass - which was breaking it on the GL backend. Hook up previously written RewriteRowMajorMatrices transformation, and enable on all GPU types on macOS. It is needed at least for AMD and Intel GPUs. Add a new test which verifies the behavior of dynamically-indexed arrays of row-major matrices. Bug: angleproject:2273 Bug: angleproject:3843 Change-Id: Id582f9cf6b9b1a59091aab1786539174f360b705 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2008717 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| d9884d3e | 2020-01-29 15:26:39 | Vulkan: Don't dirty index/vertex buffers on each syncState. This will help for the command graph refactor so we can set up the command buffer barriers before we start the render pass for draw. Bug: angleproject:3539 Bug: angleproject:4029 Change-Id: If5a55db6ac1e06609a3a1e2245d7ab351152886a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2028450 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| ee07cb31 | 2020-01-29 18:02:50 | Test Harness: Allow filter with sharding params. Some tweaks to when we call gtest initialization allows this to work. Bug: angleproject:3162 Change-Id: I75159108d3f746f666e57c1a6495a8c8616ef1cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024335 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| e4859ae5 | 2020-01-27 15:21:58 | Fix re-enabling ARB_texture_rectangle My earlier change https://crrev.com/c/1991969 had a bug. If ARB_texture_rectangle is disabled once, it can't be re-enabled because the extension behavior entry is deleted. ResetExtensionBehavior needs to restore it. Bug: angleproject:3770 Change-Id: Icf96acece8ea8d17287c8d09fb4849b61c9c2a36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023398 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> | ||
| 80da4214 | 2020-01-29 10:12:31 | D3D11: Copy from Image objects instead of TextureStorage when possible. glCopyTextureCHROMIUM calls in D3D11 would call getNativeTexture on the copy source which would allocate a TextureStorage11 if one did not already exist. This caused full mip-chain allocations in some cases when we could have just copied directly from the staging Image11. When navigating to wikipedia.org: Peak memory | Stable memory Passthrough (before): 142 mb | 119 mb Passthrough (after): 138 mb | 106 mb Validating: 139 mb | 110 mb No mip-mapped textures were allocated after this change. BUG=chromium:1030835 Change-Id: Icd14afaec445299423cfea293cba501d774f6ade Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2028147 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> | ||
| 053929ac | 2020-01-24 18:15:38 | Fuchsia: Enable perFrameWindowSizeQuery by default Fuchsia won't return VK_ERROR_OUT_OF_DATE_KHR after a size change, so we need to check every frame. In fact we don't even tell Scenic what the new size is during resize, because it does not care - the surface size determines the "window size", not the other way around. Bug: angleproject:4348 Change-Id: I8f9af0d1379f4993865c7ccedc9aba3cab90cf54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023914 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 33027d3e | 2020-01-28 16:08:02 | Enable GL_OES_depth_texture_cube_map with Vulkan backend GL_OES_depth_texture_cube_map depends on depthTextureOES, but adds the same new texture format/type requirements as GL_OES_packed_depth_stencil, so instead of adding a specific check for GL_OES_depth_texture_cube_map, the Vulkan backend checks for a combination of GL_OES_depth_texture and GL_OES_depth_texture_cube_map to enable GL_OES_depth_texture_cube_map. ANGLE has no specific checks for whether a format is "cubemappable", but Vulkan has no restrictions of the format of cubemaps, so if the proper formats are supported, creating a cube of any of these formats should be implicitly supported. Bug: angleproject:4293 Change-Id: I968dbe8869ba0f50de18dd41f1195e847c06b520 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2026027 Commit-Queue: Alexis Hétu <sugoi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 09d51a57 | 2020-01-24 17:28:24 | Fuchsia: Skip PointSpriteAlternatingDrawTypes on ARM Fuchsia This is not passing currently, skip it for now. Bug: angleproject:4349 Change-Id: If36a144e8d17cc94c2186a7a794358b14223349e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023913 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| eca11cc8 | 2020-01-28 14:18:40 | SH_CLAMP_INDIRECT_ARRAY_BOUNDS logic update Remain the old hardware requirement for turning on clampArrayAccess. But also turns it on universally for WebGL context. So that we won't suffer from clampArrayAccess not handled properly on some compute shader deqp tests. Bug: chromium:1042252, angleproject:4361 Change-Id: Ib11affd6df27ce7d2100980d2b8decdee36876e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2026029 Reviewed-by: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com> | ||
| b91acdcf | 2020-01-21 11:02:26 | Vulkan: Cleanup glslang wrapper There are no longer @@ QUALIFIER and or @@ LAYOUT markers. Only @@ XFB-DECL @@ and @@ XFB-OUT @@ markers remain, which are now replaced with simple string manipulation. Bug: angleproject:3394 Change-Id: I9c1883458d9de3ea59ac08aae57a7c8985e7afbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012741 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| cb2b5136 | 2020-01-10 11:04:38 | Vulkan: Simplify format table generation Remove the "override" table. That gets in the way of some solutions. If a format cannot be supported by a native Vulkan format as indicated in the "map" table, then check fallbacks. Also add support for native RGBA4 and R5G5B5A1 support. Previously those formats would be emulated with RGBA8 due to the override, but now code will check if the native format is available and use it. Bug: angleproject:4282 Change-Id: Ib33ea40543d91a2c2a95075b277f825a8822037c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1994538 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| f1f082e1 | 2020-01-17 14:53:38 | Vulkan: Set varying location & xfb decorations in SPIR-V The shader translator outputs arbitrary location indices. Once compiled by glslang, the SPIR-V transformer modifies these decorations. If the transform feedback extension is used, it will also add the relevant decorations to the varyings that are captured. Bug: angleproject:3394 Change-Id: I5ecafd0536408612a5d4b920dbabbfabe650657c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2008468 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 05e08edf | 2019-12-26 20:58:48 | Disable skipValidation when context is lost. Lost no-error contexts should gracefully handle GetProgramiv, etc. Includes test that a lost no-error context doesn't crash on getProgramiv. Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1601703 Bug: angleproject:4244 Change-Id: I8c37df37e83308ab85ad958df6dab46b0ab348e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2003239 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 5ca050d1 | 2020-01-20 14:59:41 | Vulkan: Set fragment output locations in SPIR-V The shader translator outputs arbitrary location indices for fragment outputs. Once compiled by glslang, the SPIR-V transformer modifies these decorations. Bug: angleproject:3394 Change-Id: Ib9d8336bccc392e789e4d93031fdcce9c466b7a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2011214 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| bef8ca7d | 2020-01-20 14:19:05 | Vulkan: Set vertex attribute locations in SPIR-V The shader translator outputs arbitrary location indices for vertex attributes. Once compiled by glslang, the SPIR-V transformer modifies these decorations. Bug: angleproject:3394 Change-Id: I88453b44e3a8770f51e79228148233ff308f1885 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2011212 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 71e6afb1 | 2020-01-14 14:12:31 | Vulkan: Set set/binding in SPIR-V This change introduces a SPIR-V transformer that modifies shader interface variable decorations directly in SPIR-V instead of manipulating the input GLSL. Currently, descriptor set and binding indices are set by the transformer. The shader translator outputs arbitrary set and binding indices. Once compiled by glslang, the SPIR-V transformer modifies these decorations. The ultimate goal is to be able to modify the SPIR-V again when program pipeline objects decide a different set/binding is necessary. Bug: angleproject:3394 Change-Id: If358265a72bf1fe9f5676562b39a632cb2e05dc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2001477 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 2bc9cc12 | 2020-01-24 16:40:46 | Fuchsia: Blacklist swiftshader on Fuchsia This doesn't work and is highly misleading as the tests run with the real GPU. Bug: angleproject:4353 Change-Id: Id9139436e39d5e8e063bcc679b7c63f589d3b748 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023912 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 44c75073 | 2020-01-20 19:59:55 | Fuchsia: Disable GLES3 testing on Fuchsia ARM The vulkan driver is missing required extensions so these tests are all failing. Bug: angleproject:4352 Change-Id: Id1af7c40798d8844fbf832c6066260fe3a8bfeda Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023911 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e28883de | 2020-01-25 23:25:43 | Vulkan: Fix handling of inactive fragment outputs These were never assigned a location. They are now removed by the translator similar to other inactive variables. Bug: angleproject:4313 Change-Id: I3398d06e1dea3f43b84f206cca07cde5b44b21a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2021734 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| bab2b3de | 2020-01-22 14:52:31 | Vulkan: Disable global merge for volk This optimization pass breaks the build by exporting volk's internal binding symbols from libGLESv2.so. Since the test binary also links volk, this causes a SEGV as the wrong (uninitialized) function pointer is called. This is an LLVM bug and will be fixed upstream: https://reviews.llvm.org/D73235 Bug: angleproject:4351 Change-Id: Iebe0eabd975f8109231df30eef8c9074af8190e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023910 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org> | ||
| b630bf9e | 2020-01-24 17:27:01 | Fuchsia: Implement SystemInfo on Fuchsia The Android vulkan code is reusable, so move that to a new file SystemInfo_vulkan.cpp and call it in the Android & Fuchsia implementations. This is necessary to skip tests based on GPU. Bug: angleproject:4349, angleproject:4352 Change-Id: I8330cfcdbd41f4d51391bd5ed7f0820c55e02801 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023909 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e3ba0d7d | 2020-01-28 13:46:13 | Disable 'nodiscard' warning on MSVC for dEQP. Bug: angleproject:4358 Change-Id: I774b4ba442e27935a676f2ce82356e8c77a0db27 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024334 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 4a8fa19f | 2020-01-27 17:19:57 | Fuchsia: Switch to gfx_tests sandbox configuration The default sandbox config for tests built in chromium doesn't allow access to the GPU or display. Switch to the gfx_tests sandbox config to allow the tests to run. Bug: angleproject:4350 Change-Id: Ib80db196ef55df694369cfc7a3cf18327ce7c952 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023908 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 571ceb5f | 2020-01-24 13:11:54 | Turn on clampArrayAccess globally but off for compute shaders out-of-bounds-uniform-array-access.html could fail on Linux Nvidia OpenGL even if GL_KHR_robust_buffer_access_behavior is available. Turning clampArrayAccess on globally but turn it off for Compute Shader, which is not used by WebGL so should be okay. FYI: The failures when turning this on globally are all in compute shaders. One could be fixed by using int cast instead of float for the clamp modifier. The other is due to array.length() couldn't return correct result for array in SSBO. Bug: chromium:1042252 Change-Id: Ic6f7adae4600d35207646881b18990a0c25a889a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2020463 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> | ||
| cc414d57 | 2020-01-28 12:58:30 | D3D11: Fix uninitialized BufferEx SRV. This was causing an unrelated error that was complicating diagnosing test failures with the command graph refactor. Bug: angleproject:4029 Change-Id: I31df76e7ea1c7fb731b49e97ac8a527a165efd48 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2024331 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a6dfa11f | 2020-01-28 09:09:47 | Vulkan: SwiftShader now getting correct sample positions This was fixed in SwiftShader and I verified it Bug: angleproject:4213 Change-Id: I6f591b81a62ec4c586d4abb7e6a2345794602833 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2025066 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| 7488a096 | 2020-01-27 22:17:59 | Add a test to expose location'ed varying link bug Bug: angleproject:4355 Change-Id: I2b914d3e6bf74ccf5d3f42d7bd010e44e45645ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023921 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 086aded3 | 2020-01-26 13:40:02 | Return the correct location count for matrices in structs GetLocationCount() returned secondary size for fields of a struct. For matrices however, the correct value would be the primary size. This is a similar fix to 6423b7fc7ded02a702d24feb0730731ab9f6c061. Bug: angleproject:4200 Change-Id: I2c69b9454729993010766fcde0cabec986b7429d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2021738 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| d0b4eaf6 | 2020-01-16 09:38:28 | Vulkan: Allow user to specify preferred device On a platform with multiple graphics devices (e.g. laptop with integrated and descrete devices) it's handy to be able to specify the specific device we want ANGLE to use. Setting the environment variable ANGLE_PREFERRED_DEVICE to the device name as returned by VkPhysicalDeviceProperties.deviceName will select that device. Bug: angleproject:4305 Change-Id: Ib16895add2c36a59135942b52401ceb7b6bc0895 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2002737 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 2d1d9d35 | 2020-01-27 12:09:41 | Fix atomicAdd validation w.r.t to swizzles Bug: angleproject:4150 Change-Id: I22c0c0382a2b208dd983fa1981ffc75f1b1945e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2022359 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 1a1a1427 | 2020-01-23 13:57:21 | Expose eglGetMscRateCHROMIUM from EGL_CHROMIUM_sync_control When ANGLE is using the GL backend on GLX, we can expose eglGetMscRateCHROMIUM via glXGetMscRateOML. Otherwise, this function should return false. Bug: chromium:1042393 Change-Id: Id9b308c2217e07ee9860e2869be0e23b7a0c7411 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2017048 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> |