Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 4193e212 | 2019-11-20 11:03:09 | Clean up dontUseLoopsToInitializeVariables condition This workaround is ported from chrome's dont_use_loops_to_initialize_variables workaround, which is enabled on Qualcomm Adreno devices. Better to check for Qualcomm than !NVIDIA Bug: 784817 Change-Id: I2f8314ca97aeca7fdcea60ef9d2fb9e64f075a32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924625 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| efb45eda | 2019-09-24 09:23:53 | Vulkan: Accelerate Texture PBO updates If the format of the image and the PBO match, use a vkCmdCopyBufferToImage transfer operation. Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage* angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws* dEQP-GLES3.functional.texture.specification.tex*image*d_pbo* Bug: angleproject:3777 Change-Id: I3f271024a635be113202a16f8893a199c194172d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| f9c3eaf4 | 2019-11-19 15:19:04 | Add ability to disable all ANGLE features Chrome has a --disable-gpu-driver-bug-workarounds flag that needs to be able to be forwarded to ANGLE Bug: 1016377 Change-Id: Ied6c8656742e25c32d508b8bfe76a902d82bcf93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925249 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 8392b118 | 2019-11-20 16:57:08 | Revert "Metal: Enable end2end tests." This reverts commit 0bb42e091b77f174632434a05789b2ce632bd902. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1026633 Causing failures on Mac bots. Original change's description: > Metal: Enable end2end tests. > > Explicitly disabled tests: > - DifferentStencilMasksTest.DrawWithDifferentMask > - PointSpritesTest.PointSizeAboveMaxIsClamped > - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D > > Bug: angleproject:2634 > Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org,le.hoang.q@gmail.com Change-Id: Iaa4264834170a49c274f186d3d74f57714c84b32 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2634 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926378 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 0303cf6b | 2019-10-30 16:46:38 | OpenGL: Port all Intel-related workaround conditions from gpu_driver_bug_list.json This patch ports all the Intel-related shader workarounds defined in gpu_driver_bug_list.json used by Chromium validating command buffer into ANGLE so that they can also take effect in Chromium passthrough command buffer. Bug: 1020467 Bug: 642605 Bug: 403957 Change-Id: I8e4866fc34d5e8f1b2f4dbfa8e526b80249ba166 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1889386 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| b066177a | 2019-11-19 15:13:20 | Vulkan: Remove duplicate shader variation ConvertVertex's UintToUint and HalfFloatToHalfFloat were generating identical shaders. Bug: angleproject:3802 Change-Id: I8eb2d55debbc5501f191830a2723b02d0d1f0827 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925248 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Hyunchang Kim <hckim.kim@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 0bb42e09 | 2019-11-19 23:04:00 | Metal: Enable end2end tests. Explicitly disabled tests: - DifferentStencilMasksTest.DrawWithDifferentMask - PointSpritesTest.PointSizeAboveMaxIsClamped - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D Bug: angleproject:2634 Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| d8531638 | 2019-11-14 09:04:24 | Vulkan: Ensure consistent limits for texture & framebuffer GLES 3.1 requires that the maximum framebuffer width & height be at least as large as the maximum texture size. Vulkan doesn't have that requirement and for SwiftShader the values are different (4096 for FB, 8192 for texture). Use the smaller of the two to keep things consistent. Test: angle_deqp_gles31_tests --use-angle=swiftshader --gtest_filter=dEQP-GLES31.functional.state_query.integer.max_framebuffer_* Bug: angleproject:4102 Change-Id: Ie04a5272084c5f6a19ac06d952281b7df9fe9a06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917130 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| 3b43647f | 2019-11-15 14:17:55 | EXT_multisampled_render_to_texture clean up and prep for 2DMultisampleArray. 1) Added new Multisampled Image Index. For the upcoming multisampled array case, we cannot automatically create the same MS image index during resolve. So the correct MS image index is created and saved during the initial creation of the MS Texture. It seems to be more streamlined as well, only creating the MS image index once, and not using hardcoded values to get the subresourceIndex. 2) reordering resolveTextureHelper to remove duplicated code. Bug: angleproject:3107 Change-Id: Ifd91136a64efb5e7bd296e09cd876a6e6eb8e77e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919555 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 240befe5 | 2019-11-15 14:40:31 | Add support for gl_HelperInvocation Added HelperInvocation to builtin_variables.json, regenerate the codegen portions of compiler, and plumb support for HelperInvocation through the rest of the compiler. Skipping some fails on Android and Swiftshader for this initial change and will debug/fix those issues in a follow-on. Bug: angleproject:4110 Change-Id: I781a2782ace84200bc615a2cc26b908a62e2aa26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922061 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d22b8be4 | 2019-11-15 12:26:39 | GN: Make X11 optional, based on a user-defined variable. Not all Linux platforms will have X11 available (Wayland, GGP), so we have to declare a variable that checks use_x11 separately. Bug: angleproject:4116 Change-Id: I7e33956da6344b8db4d4e32dbbd1b42f58f7019c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919632 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 53e45360 | 2019-11-09 17:26:58 | Metal: support texture's incomplete image definitions. glTexImage*, glCopyImage* will copy data to the image at the respective index, then during draw call, the image data will be transferred to real Metal texture. Test done: MipmapTest.DefineValidExtraLevelAndUseItLater For implementation notes, see src/libANGLE/renderer/metal/doc/TextureDataCompleteness.md Bug: angleproject:2634 Change-Id: I0ca24c8beff2e109a794260c436985e9f4650d83 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906609 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a829c0b9 | 2019-11-14 16:49:02 | Expose EGL_CHROMIUM_sync_control via GLX_OML_sync_control On GLX, we can expose the EGL_CHROMIUM_sync_control extension by forwarding to GLX_OML_sync_control when it's available. This will help with accurate vsync times for Chrome Bug: 1020252 Change-Id: I9b1e8cf0f8b1a548cc7cc7202fac2d0cdb01d74d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918104 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| deae1fce | 2019-11-09 17:22:40 | Enable Metal backend. Metal will be secondary default backend after OpenGL for now. The tests will be enabled for metal in CL http://crrev.com/c/1906607. Bug: angleproject:2634 Change-Id: I109c641d749c2a207bbb7d500bc281ffb0b13848 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906612 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| 5f4db6a7 | 2019-11-11 14:52:37 | Fix performance issue with EXT_multisampled_render_to_texture Adding a dirty flag to the mMSTexInfo struct so that the multisampled texture does not get unnecessarily resolved on each call. Bug: chromium:1019199 Change-Id: Ia9b24cd0a7f2d82f83f20f7e60f9f2b23383ec6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1910531 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 968df09e | 2019-11-11 16:48:14 | Treat VK_TIMEOUT as an error The fence wait time was increased to 120 seconds, so we don't expect VK_TIMEOUT to be returned by a healty GPU. This change makes it so that when VK_TIMEOUT is returned, we will treat this as an error and propagate it to the GLES application as a GL_INVALID_OPERATION. It is expected that the GL application will re-initialize ANGLE which will also reinitialize the Vulkan device (and hopefully clean up the error). This is not our final design for ANGLE's VK_TIMEOUT handling, since we expect to expand our Vulkan device lost error handling when implementing the GLES 3.2 robustness requirements. This will likely improve ANGLE's VK_TIMEOUT handling as well. Bug: angleproject:4043 Test: Manually force VK_TIMEOUT (lower kMaxFenceWaitTimeNs) Change-Id: I2449ad214ada176014a1702a9b3417d4498d070f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1910722 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 0e5d019e | 2019-11-08 08:43:21 | Vulkan: Enable 3.0 as default context version Now that 3.0 support is passing dEQP, always return that as the context version to use (unless app asks for 1.0). Test: angle_end2end --gtest_filter=EGLBackwardsCompatibleContextTest.BackwardsCompatibleEnabledES3/* Bug: angleproject:3750 Change-Id: I0402ac015acfc22e84a985fe75346999bcc47188 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906202 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| edc560fe | 2019-10-31 17:18:29 | Vulkan: Add 565 and validate pixel formats: Windows Add support for 565 to Windows. Also includes code that verifies generated configs can actually be supported by Vulkan. Test: --use-angle=swiftshader --deqp-gl-config-name=rgb565d0s0ms0 --gtest_filter=dEQP.GLES3/functional_fragment_ops_interaction_basic_shader_80 Bug: angleproject:4016 Change-Id: Idcfd4dd368c4a30ef177aa89e1035d2f00570c99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1885378 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| f533355b | 2019-11-13 20:04:24 | Roll third_party/vulkan-headers/src d287523f48db..d42d0747ee1b (6 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/d287523f48db..d42d0747ee1b git log d287523f48db..d42d0747ee1b --date=short --no-merges --format='%ad %ae %s' 2019-11-06 jmadill@chromium.org GN: Add support for Google Games Platform. 2019-11-06 8729214+jonahryandavis@users.noreply.github.com build: BUILD.gn missing defines for MacOS 2019-11-04 oddhack@sonic.net Update for Vulkan-Docs 1.1.127 2019-10-28 shannon@lunarg.com vulkan: Fix typo for `operator==` in `vulkan.hpp` 2019-10-25 shannon@lunarg.com vulkan: Update `vulkan.hpp` for VS2015 VT fix 2019-10-21 oddhack@sonic.net Update for Vulkan-Docs 1.1.126 Created with: gclient setdep -r third_party/vulkan-headers/src@d42d0747ee1b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-headers-angle-autoroll Please CC cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I36b0e8d3141bf621fdee054cd45d0e98cd3b70c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914130 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> | ||
| b3c4dffd | 2019-11-12 14:42:23 | Vulkan: Fix glMemoryBarrier* implementation The indirect bit handling is no longer necessary, as setup*Indirect functions already add the barriers if necessary. The framebuffer bit is unnecessary as the image layout transition from storage image to framebuffer attachment would already add the necessary barrier. Image access bit was indeed necessary, but so is shader storage bit which is added. Bug: angleproject:3574 Bug: angleproject:3879 Bug: angleproject:3934 Change-Id: I9da722e7a34941932731335af2313783295031ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1913080 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 3f647b1b | 2019-11-09 16:24:50 | Vulkan: Improve Bresenham line emulation. Clamps the vertex position to the subpixel grid before interpolation. This will give more correct results on systems that have less than 8 bits of subpixel accuracy. Also uses a more accurate formulation for the emulation filter in the fragment shader using dfdx and dfdy. Fixes line raster CTS tests on SwiftShader. Still does not produce spec conformant lines. Updates the public docs to indicate this. Bug: angleproject:2830 Change-Id: Ib9a268df3e7d986bd2b1348be664389fe8fc0ef2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1826598 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| e33c1582 | 2019-11-06 16:55:29 | Fix EXT_texture_norm16 * Add norm16 format info for OpenGL backend * Add validation for newly introduced norm16 formats * Fix some logic of texture tests Bug: chromium:1000354, angleproject:1365 Change-Id: Ie6d6e5e276da4df4b7c667be28d324d4976b35ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902720 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shrek Shao <shrekshao@google.com> Commit-Queue: Shrek Shao <shrekshao@google.com> | ||
| 012d1519 | 2019-10-31 16:50:23 | Stop using __has_include<Cocoa/Cocoa.h> __has_include seems to cause problems with goma builds. Instead, detect iOS vs MacOS using TargetConditionals.h. Also use plain C++ instead of Objective-C++ when possible. Bug: angleproject:3439 Bug: 1015591 Change-Id: I816624e0cdc54ad3a18d3891b4efecf6fe640574 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894243 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> | ||
| 405d4cf3 | 2019-11-09 02:28:49 | Metal: multiple bug fixes - ContextMtl: triangle fan draws should call setupDraw() with original parameters. Not the modified parameters. - SurfaceMtl: should initialize metal layer's drawableSize after layer's creation. - TextureMtl & FrameBufferMtl: Fix texture copySubImage CPU path incorrectly copied unflipped area. - mtl_render_utils: Fix wrong variable name used for trifan compute pipeline cache table. - mtl_resources: Fix texture & buffer memory leaks due to missing ANGLE_MTL_AUTORELEASE. - mtl_utils: Fix viewport flipping error due to arithmetic between unsigned & signed values. These bugs were discovered during dEQP tests running. Bug: angleproject:2634 Change-Id: Ie01380910ab68a2b876718d9dac0b5b4c41b607c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906608 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| c2f1f618 | 2019-10-28 13:06:42 | Always use MTLPixelFormatBGRA8Unorm for SurfaceMtl. Apple Features Table says BGRA8 is not always available but it turned out not the case based on response from Apple dev. Bug: angleproject:2634 Change-Id: I9e3465420f45fcd362cbdd385bb78169463a759d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906606 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| 60a396a8 | 2019-11-07 16:36:45 | Reset texture swizzle state to default after LUMA workaround The copySubImage LUMA workaround sets special TEXTURE_SWIZZLE_RGBA values to work. However, it must reset this parameter back to the default state after the workaround completes. Bug: 1022080 Change-Id: I84870f1264311c106ebece1e6a37d5f92a1da28c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904627 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| 50919254 | 2019-11-07 10:52:21 | Only enable addAndTrueToLoopCondition feature on Mac Intel The issue which reported the need for this workaround only found a problem on Mac. The failure doesn't happen on other the Linux OpenGL Intel driver, so it shouldn't be enabled there. Bug: chromium:1021900, chromium:644669 Change-Id: I65e7462828419aeb9182898f73977ee1c5e72ff3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904291 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org> | ||
| a5a04ac0 | 2019-10-29 22:57:55 | Metal backend pt3: shader translator Implementation of GLSL to MSL translator Bug: angleproject:2634 Change-Id: I66e2374b461548fac46163ea79790a488515e6b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887251 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 16da9515 | 2019-11-04 11:19:14 | Vulkan:ImageHelper read combined DS textures Update ImageHelper to be able to copy both the depth and stencil aspects of a DS image to a buffer. The aspects are copied separately with the depth data preceding the stencil data. This allows dEQP-GLES31.functional.stencil_texturing.misc.base_level test to pass. Added exception for ANDROID VULKAN where test still fails and new tracking bug (4080) for this case. Bug: angleproject:3949 Bug: angleproject:4080 Change-Id: Ib6104d7fa9f516154131f3e82161078ba216cfe1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897649 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 322220a0 | 2019-11-05 09:51:43 | Vulkan: Ignore VK_INCOMPLETE from vkGetPipelineCacheData When getting the data store from a pipeline cache, we do the following sequence: 1.) Query the amount of data to get. 2.) Create a buffer to hold that data. 3.) Request that amount of pipeline cache data. This typically works without errors, but we have seen cases where the amount of pipeline cache data changes between steps (1) and (3). This leads to the driver returning VK_INCOMPLETE because we requested a different amount of data than the driver currently has (either too much or too little). However, getting at least the pipeline cache header is all that's required, so this isn't necessarily an error: From the Vulkan spec: > If pDataSize is less than the maximum size that can be retrieved by the pipeline cache, at most pDataSize bytes will be written to pData, and vkGetPipelineCacheData will return VK_INCOMPLETE. Any data written to pData is valid and can be provided as the pInitialData member of the VkPipelineCacheCreateInfo structure passed to vkCreatePipelineCache. This change will update ANGLE to ignore VK_INCOMPLETE, rather than treating it as an error. Bug: angleproject:3988 Test: Android dEQP-GLES2.* Change-Id: I6518d7cb00c26ae403b58aafa86a600fa7a8504a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1900009 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 6072d056 | 2019-11-05 10:26:12 | Vulkan:Ignore layer warnings about provoking vtx ext We're temporarily using a pre-release version of the provoking vertex vulkan extension that's causing the layers to complain about unknown structs. I already skipped two warnings, but missed this one so adding it. This will temporarily disable the warning until the extension lands in the header. Bug: angleproject:4063 Change-Id: Ide7b0b068fca6ea4b3cd60bce35fb56f431e4739 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1900014 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| f7b3a2ac | 2019-11-04 15:51:51 | Fix d3d9 intel gpu fail to create image surface issue Set allowClearForRobustResourceInit to true on D3D9 backend, which fixes clients report issues where unity web app throws `Fail to create image surface` error on integrated-intel gpu Bug: chromium:1011627, chromium:1017076 Change-Id: I733434123a8c34671b1a33b87017367baec5623c TBR=geofflang@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1898701 Reviewed-by: Shrek Shao <shrekshao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 19dd51b0 | 2019-11-04 11:28:19 | GL: Expose PBO extensions Ensure WebGLCompatibilityTest.EnablePixelBufferObjectExtensions functions in surfaceless mode by creating a framebuffer to do the test glReadPixels from. BUG=angleproject:4079 Change-Id: I109b3cdeb85625a6a97832ecf8130d53a4074af9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1893058 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 1d09b983 | 2019-11-05 16:22:04 | Vulkan: Fix memory corruption crash When VK_EXT_LINE_RASTERIZATION or VK_EXT_PROVOKING_VERTEX is present, createInfo's pNext pointer is set, which caused pEnabledFeatures to not be set, which ended up causing memory corruption issues. This change was made to comply with the Vulkan spec, specifically: "If the pNext chain includes a VkPhysicalDeviceFeatures2 structure, then pEnabledFeatures must be NULL" Since the VkPhysicalDeviceFeatures2 structure is only added to the pNext member of the createInfo structure in the if statement above, restoring the else statement solves this issue. Bug: angleproject:4060 Change-Id: I0688c4297f167fa28e110cd6ee11a11b95282493 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899731 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| df415528 | 2019-10-24 09:22:39 | Vulkan: Enable VK_IMAGE_USAGE_STORAGE_BIT when it is needed VK_IMAGE_USAGE_STORAGE_BIT is always enabled for vkImage, this increases memory bandwidth in some platforms. This CL changes the behavior to enable VK_IMAGE_USAGE_STORAGE_BIT when necessary. Bug: angleproject:3904 Test: angle_end2end_tests Test: angle_deqp_gles2_tests Change-Id: I8ffd37efa8d99d04328fa6232de0755be3273d9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857799 Commit-Queue: Sunny Sun <sunny.sun@arm.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 67527cb4 | 2019-10-25 13:47:55 | Fix compilation on UWP targets. Bug: angleproject:4053 Change-Id: Iaa358c8ce61d0ebaae11672bfb6dac2d3e847be1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1881343 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c898ec1a | 2019-11-04 15:20:18 | Add EGL GGP extensions. This CL adds two new extensions: * EGL_ANGLE_ggp_stream_descriptor: Introduces a new attribute to CreateWindowSurface. Allows the app to pass in a stream descriptor to VkCreateSurfaceKHR. Mirrors VK_GGP_stream_descriptor_surface. * EGL_ANGLE_swap_with_frame_token: Introduces a new function 'eglSwapBuffersWithFrameTokenANGLE'. This allows the app to pass a GGP frame token down to vkQueuePresentKHR. Mirrors VK_GGP_frame_token. Bug: angleproject:4078 Change-Id: I4313ac4c264e68999905049f661bc64b44f72fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897315 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 71b0f0b5 | 2019-10-25 09:53:06 | EGL: Implement EGL_KHR_surfaceless_context Add extension string to registry Add extension flag to EGL and Vulkan Displays Bug: angleproject:3960 Test: dEQP-EGL.functional.surfaceless_context.* angle_end2end_tests --gtest_filter=EGLSurfacelessContextTest* Change-Id: Id17916f1f636454af395b7bc92892dcf8fc93e54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1885075 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 5cbb7773 | 2019-11-04 11:05:14 | Vulkan: Increase Fence Wait Time Our current fence wait time is triggering timeouts while running with SwiftShader. However, it's possible for a 'real' application to hit a timeout also with a large enough workload. This change increases the timeout to something large enough for us to avoid most timeouts and instead rely on the OS's detection and recovery mechanism (e.g., Windows TDR). We will continue to investigate improving ANGLE's command timeout handling mechanism. Bug: angleproject:4043 Test: CQ Change-Id: I3a32174d1d794806fef1971806797683b6b3f0b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897648 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 5883a44b | 2019-11-02 19:34:47 | Vulkan: Don't pass width/height to Surface constructors. These values are accessible already from the Surface state. Sometimes they don't apply (e.g. GGP). Remove them to keep the code clearer. Updates the offscreen surface constructor to pull width and height from the attributes map instead of using parameters. Otherwise they weren't used. Refactoring change only. Bug: angleproject:4078 Change-Id: I9e49eadc7116562f62bd8d11342d6b8835376719 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895762 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 2f6a9afd | 2019-11-01 15:06:58 | Vulkan:Ignore layer warnings about provoking vtx ext We're temporarily using a pre-release version of the provoking vertex vulkan extension that's causing the layers to complain about unknown structs. Temporarily disable these warnings until the extension lands in the header. Bug: angleproject:4063 Change-Id: Ia441ddef21bfcca9bb1b46f25a009eb469e8f1fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895326 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 422ebad2 | 2019-10-31 16:02:48 | Fix ANGLE_get_image cube map handling. Was missing a layer parameter. Also includes a regression test. Also updates incomplete texture handling in Vulkan. Will try to sync the texture storage if the texture has never been used. Bug: angleproject:3944 Change-Id: I5fcd6931f9cb9e008faaeaecb1f6df275a2af73f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894142 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| fe26bae4 | 2019-10-29 18:38:53 | Metal backend implementation pt 2 This is without Metal specific shader translator implemented yet. Bug: angleproject:2634 Change-Id: I95d589442251c9ba111bd05a2dc379a36739046c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855069 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 5e6be1d6 | 2019-10-11 11:29:22 | Provoking vertex feature support enabled Added support in ANGLE for the provoking vertex feature, which allows to choose the provoking vertex convention (first or last) for flat shading. Just copying the vk_ext_provoking_vertex.h file into ANGLE src tree for now. When the extension lands in the vulkan header we'll migrate to that and remove this file from ANGLE. With this, all these tests pass with SwANGLE: dEQP-GLES3.functional.fragment_out.* (fixes 526 failures) dEQP-GLES3.functional.rasterization.flatshading.* (fixes 6 failures) dEQP-GLES3.functional.shaders.linkage.varying.* (already passing before, still passing) Bug: angleproject:3430 Bug: angleproject:3677 Bug: angleproject:4063 Change-Id: Icc361f567072c12472398e37a94a61d7f95007ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855681 Commit-Queue: Alexis Hétu <sugoi@chromium.org> Reviewed-by: Alexis Hétu <sugoi@chromium.org> | ||
| bb35bb4e | 2019-10-29 17:17:04 | Vulkan: Implement simple case ANGLE_get_image. A couple cases are left unimplemented: Incomplete/unused Textures. This leads to a slightly more tricky implementation. Since we need to read back from the staging buffer we will need to flush the Image contents to a temporary buffer. Depth/stencil readback. Requires a more complex pixel packing step. 3D/Cube/2D Array readback. Also requires a more complex packing step. Bug: angleproject:3944 Change-Id: Ic5d9a606177ba7e3e5ab945feb5f555afa11741f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879964 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 88a74e59 | 2019-10-29 09:48:18 | Vulkan Android: Remove support for EGLConfig's with GL_RGB10_A2 & GL_RGBA16F These were recently reverted from the Android Vulkan loader, and must also be reverted from ANGLE. When the Android Vulkan loader adds back support, it will be conditional based on whether the device supports those formats. Therefore, at that time, ANGLE will need to do the same. Bug: http://anglebug.com/4019 Bug: http://anglebug.com/4061 Bug: http://anglebug.com/4062 Change-Id: I0b749dc8be0439e6f3b8eeeb51716d4185e9b021 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887393 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| 287b0a67 | 2019-10-24 17:21:40 | Vulkan: Enable forceOldRewriteStructSamplers for all Android ICDs Both Qualcomm and SwS require forceOldRewriteStructSamplers to be enabled, so this change will enable that feature for all of Android. We aren't sure yet why this is required for SwS also, but that will be chased as part of issue 2703. Bug: angleproject:4045 Change-Id: I83b2ac18e0111ed35438ffd457bfe120911a7767 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879711 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e7852798 | 2019-10-28 13:51:43 | Vulkan: Clean up redundant vk:: prefixes. Were in a lot of places in vk_helpers. Bug: angleproject:3944 Change-Id: I8635400d6debb7ed92e3cf84993773ca9ed74285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879963 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 96ba0f12 | 2019-10-28 13:51:42 | Vulkan: Move readPixels logic to ImageHelper. This logic will be shared with ANGLE_get_image. Cleans up some of the graph access logic so it can work easily with TextureVk/RenderbufferVk. Bug: angleproject:3944 Change-Id: If069528f27b2c291d52de892c707562875b95227 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879962 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| 6f23b4b7 | 2019-09-03 20:04:28 | Fix MinGW include: s/VersionHelpers.h/versionhelpers.h/ Bug: angleproject:4050 Change-Id: I7d6ac948479b499df4fb4f734fc0d9abd40bb455 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880451 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| dfc20daf | 2019-10-28 13:51:42 | Plumb more logic for ANGLE_get_image. Also implements and tests validation / negative API. Bug: angleproject:3944 Change-Id: I3385a4255f4fab6a12eee2abfa5ffcce2107359a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879961 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| c017cee9 | 2019-10-24 12:55:10 | Enable "-Wundefined-reinterpret-cast". A couple cases popped up where we were using an undefined cast. Fix them by rearranging assignment macros to use decltype. Another warning that is enabled in Skia. Bug: angleproject:4046 Change-Id: Ibdbae0b2a96909b101a259ff805b8b2d43a5174b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877479 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 4db96149 | 2019-10-24 16:38:45 | GL: Temporarily disable emulatePrimitiveRestartFixedIndex. This workaround appears to cause problems on Mac ASAN builds. Disabling it while investigating the root cause. BUG=1017337 BUG=angleproject:3997 Change-Id: I16a2f07f8fc69ec4d5ab40a5bf521c43f6854a49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879873 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| a6206854 | 2019-10-24 12:55:09 | Enable "-Wmissing-field-initializers". This is another warning required by Skia. This one didn't find anything that surprising. Enabling the warning does help enforce code consistency and avoids a bit of possible undefined behaviour. Bug: angleproject:4046 Change-Id: Ifec7f4afad49cd820bf3c0a79df3f46559473ee2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877477 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 859ca039 | 2019-10-24 12:55:08 | Enable "-Wshadow-field". This warning verifies we don't give variables names that shadow fields. This is another good warning to enable that Skia requires. This CL also fixes a small number of points in code that used this bad pattern. We have to disable the warning for Glslang for now. Bug: angleproject:4046 Change-Id: I072a686e3023b60cfafa778525fe712ce1fb5a50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 3a8b8908 | 2019-10-23 13:26:13 | GL: Follow-up primitive restart emulation fixes. - Use the existing utility function for computing the primitive restart index. - Fix bad merge that removed the unfoldShortCircuits feature. BUG=1017337 BUG=angleproject:3997 Change-Id: I4ba5ada9816731bdd29a0e518ce225bdd69a762e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1876453 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 052167bc | 2019-08-13 14:09:04 | Vulkan: Mipmap is unconditionally enabled in ANGLE ANGLE always enables the Mipmap. The fix does redefining the image with mipmaps and replace the origin one only when it is necessary. Bug: angleproject:3737 Change-Id: Ia33a16fd7feae303fb114988059c4eec58c4232d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750627 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> | ||
| 08af1c80 | 2019-10-22 08:58:52 | Vulkan:Store full 64bit handle in GarbageObject On 32bit builds we were only storing 32bit handles for non- dispatchable objects. This resulted in the handles getting shrunk from 64-bits which then led to false validation errors. Fixed this by using VK_DEFINE_NON_DISPATCHABLE_HANDLE() macro in GarbageObject instead of VK_DEFINE_HANDLE(). Also MSVC on Win32 didn't like reinterpret_cast<> with the updated 64bit handles so migrated a number of GarbageHandle casts to be c-style which is contrary to style guide, but is preferable to conditional code. Bug: angleproject:3924 Bug: angleproject:3946 Change-Id: Icb4139e34989179e46ac1f0c76269ff49ab1e897 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1873244 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a48f95ab | 2019-10-14 14:49:49 | Move Vulkan GlslangWrapper code to a shared location. Metal backend will reuse Vulkan's GlslangWrapper code. The Metal backend will use this code to translate glsl to spirv then cross compile to Metal Shading Language using spirv-cross. So the source code of GlslangWrapper should be moved outside vulkan folder. Bug: angleproject:2634 Change-Id: I208062daf0d77756c9d32cfdab925b7dfdf83e05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1858042 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 1efcbdb6 | 2019-10-22 12:32:04 | Vulkan: Fix sampler object lifetime. Using the same scheme as we do for VkImageViews we can track VkSampler lifetime using SharedResourceUse. This fixes the race condition that could occur when samplers are deleted in one Context while being used in another. This fixes the last known resource lifetime issue. The multithreading tests should now pass without validation errors. Also adds regression tests to angle_end2end_tests. Bug: angleproject:2464 Change-Id: I9dbed5062a0863b240ddf1a9b5d28560334934de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869548 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| df9a7500 | 2019-10-21 15:32:27 | Remove forceNonZeroScissor workaround The original driver bug no longer exists after upgrading the bots. This workaround has the side effect causing the bug 3867. Bug: angleproject:3407 Bug: angleproject:3867 Change-Id: I64f2e41729f209a1cef5ba49140650207666992c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1870845 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| b3070102 | 2019-10-18 16:01:34 | Add SH_REMOVE_DYNAMIC_INDEXING_OF_SWIZZLED_VECTOR This is a workaround for the webgl2 conformance test case WebglConformance_conformance2_glsl3_vector_dynamic_indexing_swizzled_lvalue. Dynamic indexing of swizzled lvalue like "v.zyx[i] = 0.0" is problematic on various platforms. This removes the indexing by translating it this way: void dyn_index_write_vec3(inout vec3 base, in int index, in float value){ switch (index) { case (0): (base[0] = value); return ; case (1): (base[1] = value); return ; case (2): (base[2] = value); return ; default: break; } if ((index < 0)) { (base[0] = value); return ; } { (base[2] = value); } } ... dyn_index_write_vec3(v.zyx, i, 0.0); ... Bug: chromium:709351 Change-Id: I971b38eb404209b56e6764af1063878c078a7e88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869109 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 0b779a7c | 2019-10-10 14:54:09 | GL: Emulate primitive restart when PRIMITIVE_RESTART_FIXED_INDEX is unavailable. PRIMITIVE_RESTART_FIXED_INDEX isn't available until desktop GL 4.3. When it is not available, emulate it by enabling PRIMITIVE_RESTART and set the primitive restart index before each draw call based on the index type. TEST=deqp/functional/gles3/primitiverestart/* BUG=angleproject:3997 Change-Id: Id736f1056cb07da91c6d592693406333142e6265 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853885 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| be1fa7d8 | 2019-10-16 16:34:57 | Vulkan: Enable VK_EXT_line_rasterization Plumbing to make ANGLE use VK_EXT_line_rasterization extension when available. Bug: angleproject:3981 Change-Id: I12913c20bff69ab0b7c16462c10b8b5fd8e1c2a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865027 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 9122bec2 | 2019-10-21 11:03:48 | Fix EXT_multisample_render_to_texture perf regression EXT_multisampled_render_to_texture was causing perf degradation through multiple unnecessary creation/destruction of the shadow multisampled texture. This is solved by keeping around the multisampled texture, so both will be available. Bug: chromium:1015031 Change-Id: I44deee67c02c19bc8749d3ed0d45661f52902e72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1872618 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 89eda11e | 2019-10-22 08:08:30 | Metal: Move ldflags to Metal backend config. ldflags apparently don't work in source_sets. Bug: chromium:1014228 Change-Id: I123900ae7f7ef3705301dc9b78cdf92ebd0e5c4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1873235 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 4a80ba25 | 2019-10-10 17:07:26 | Vulkan: Ignore VK_INCOMPLETE from vkGetPipelineCacheData From vkGetPipelineCacheData(3) Manual Page: If pDataSize is less than the maximum size that can be retrieved by the pipeline cache, at most pDataSize bytes will be written to pData, and vkGetPipelineCacheData will return VK_INCOMPLETE. Any data written to pData is valid and can be provided as the pInitialData member of the VkPipelineCacheCreateInfo structure passed to vkCreatePipelineCache. Bug: angleproject:3988 Test: CQ, CtsOpenGLTestCases Change-Id: I34589ee3c9e27839a9cd0168b4a2186f4cbb255e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854680 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| 68591eff | 2019-10-13 15:05:23 | Vulkan: Store ImageView access in the graph. This will ensure we don't destroy the image views when they are still in use by other Contexts. Bug: angleproject:2464 Change-Id: I1d3ba2ad241250e31ea32873446c4cb23971750d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843236 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| beacd8c8 | 2019-10-17 14:34:02 | Vulkan: Rename format fields. Renames 'angleFormat' to 'intendedFormat'. Also renames 'bufferFormat' and 'imageFormat' to 'actualImageFormat' and 'actualBufferFormat'. This renaming should make it clearer to the reader what the meaning of the different format fields are. Intended format is the front-end format and the actual formats are the formats we pass to Vulkan. Also updates the documentation. Bug: angleproject:4009 Change-Id: If61bf7250e88f7ed3d452718574c963d718e27b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866077 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 7f418fc2 | 2019-10-01 07:56:53 | Vulkan: lineloop support for DrawArrayIndirect Add support for lineloops. Includes a compute shader for generating an index buffer to draw lineloop. Instancing turns out to be a special case for indirect draws if we have vertex attributes that need to be emulated (e.g. divisor too large or native vertex format not available). Test: dEQP.GLES31/functional_draw_indirect_* angle_end2end_tests --gtest_filter=LineLoopIndirectTest.*/* dEQP.GLES3/functional_draw_* Bug: angleproject:3564 Change-Id: I1fdabe2c8a690c8b6df9e252e1e839e08796bcca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834682 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 7e23efd3 | 2019-10-17 14:43:14 | Fix compiler warning in NativeBufferImageSiblingAndroid.h. BUG=angleproject:4026 Change-Id: If66f21c4d5693213611b05fa71ba1da328ea612c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866078 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 05bd1896 | 2019-10-17 23:08:03 | Report Metal as unavailable Metal backend is not ready yet, so report as unavailable to avoid DisplayMtl being created by frontend. Bug: angleproject:2634 Change-Id: Ia45977cede01f62347967eefe661b63bef3575e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865736 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| f483d4ee | 2019-10-16 14:13:17 | Vulkan: Move SwiftShader ICD json to root_out_dir. This fixes loading SwiftShader in Chrome and in Renderdoc. Requires explicitly specifying the ICD and module directories ("./" or ".\\"). Bug: angleproject:3876 Bug: b/142756865 Change-Id: I9183c81cb0e8ac117fc5d7a8f2048dc0555632c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864315 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| ae1b7786 | 2019-10-16 16:42:53 | Fix ANGLE_FEATURE_CONDITION style issue Macro should end with a ; Bug: angleproject:3976 Change-Id: I4aaa146464d9d7e6230a3de44c30cfd1179a89ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864620 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 16944ed2 | 2019-10-16 14:05:51 | Vulkan: Fix ASSERT that could be triggered on some swaps. Unclear why this wasn't reproducing on our integrated tests. Seems to affect most Vulkan tests. Regression likely introduced with the multithreading code. Bug: angleproject:2464 Change-Id: I62a0c1a4f5e5bf63efdef2a979d9b2efb6a1ea81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864314 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a0b064d0 | 2019-10-15 15:16:22 | Disabling multisampled_render_to_texture extension if renderer is ADRENO. Skia roll breaking for: Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE. Bug: angleproject:4007 Change-Id: I5ba1047540c02d27e05425b7af347207500b3682 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863741 Commit-Queue: Mingyu Hu <mihu@microsoft.com> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 2ed547a6 | 2019-10-15 17:34:09 | Vulkan: Mark destination buffers dirty after a copy When a user performs a copy between GL buffers, we need to mark the destination buffer dirty in case that buffer data is used as vertex data and requires another conversion to be done. Bug: angleproject:3544 Test: dEQP-GLES3.functional.buffer.copy.* Change-Id: Ie3196db4feb0f01d0b25c8799312c5f57c1095a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863007 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| a14555a7 | 2019-10-13 15:05:22 | Vulkan: Refactor RenderTargetVk ImageViews. Instead of storing a pointer to an ImageView, store a pointer to an ImageViewHelper. The level and layer index are all that's needed to pull the right image view from the ImageViewHelper. Will make it easier to store ImageView references in the graph to track lifetime. Bug: angleproject:2464 Change-Id: I773fa79a89ceefc99ff70e4eed4985f9f01fe26a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857549 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 8952dd65 | 2019-10-16 13:54:38 | Revert "Vulkan: Define VK_USE_PLATFORM_XLIB_KHR" This reverts commit bedeb781e8ca8a57c31b56d28ba1cde983e5ba47. Reason for revert: <INSERT REASONING HERE> Original change's description: > Vulkan: Define VK_USE_PLATFORM_XLIB_KHR > > For vulkan x11 build need to define VK_USE_PLATFORM_XLIB_KHR. > > Bug: 1011068 > Change-Id: I1ff51a37618eb3a095bdf18e0615a3610225b6fc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863319 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=penghuang@chromium.org,tobine@google.com,jmadill@chromium.org Change-Id: I6cf135e36603ea01bc418fd6f7ce7f131890531e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1011068 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864579 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| bedeb781 | 2019-10-15 12:31:11 | Vulkan: Define VK_USE_PLATFORM_XLIB_KHR For vulkan x11 build need to define VK_USE_PLATFORM_XLIB_KHR. Bug: 1011068 Change-Id: I1ff51a37618eb3a095bdf18e0615a3610225b6fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863319 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 0b9ebe58 | 2019-10-15 11:15:42 | Vulkan: Add "ImageViewHelper". This allows views to track a different lifetime than vk::ImageHelper. This in turn will fix the race condition on ContextVk destruction when releasing ImageViews owned by TextureVk and RenderbufferVk. For now this is a refactoring change only. Bug: angleproject:2464 Change-Id: I9581975bd5d4913233bbed8439dd4a632cc78a2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843231 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> | ||
| 81ab9c90 | 2019-08-02 07:11:16 | Use image upload workaround for Intel Ivy Bridge with D3D11 renderer. Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1578910 Bug: angleproject:3980 Change-Id: Ia14c5afd989365975bc57b303e59b4ef7669d522 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845664 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 2d0e5b55 | 2019-08-27 13:49:07 | GL_EXT_multisampled_render_to_texture extension. Part 2. For textures that use this extension, a multisampled texture is implicitly created for the texture. Upon write or read, the multisampled texture is either return to be drawn to or resolved and returned as a single sampled texture. This is the functionality change with end2end tests. Bug: angleproject:980428 Change-Id: I5776875a132fed7a3f4f00fb02f9e8e250684630 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773717 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| e7b5c5e9 | 2019-10-14 16:33:40 | Metal: Use -weak_framework to support OS 10.10. This OS is still tested in Chromium configurations. e.g.: https://ci.chromium.org/p/chromium/builders/ci/Mac10.10%20Tests/47668 Bug: chromium:1014228 Bug: angleproject:2634 Change-Id: Iadefd461ba8bbaec03dcc711227580f6ecdcad6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1860105 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| fede5cb6 | 2019-10-12 14:43:26 | Vulkan: Remove resource destruction layer suppressions. Bug: angleproject:3925 Change-Id: Ic2bda7daf67c6fa735c15735dcb60c5f9a203fc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857895 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 25301999 | 2019-10-11 14:49:00 | Metal implementation pt 1: autogen resources Autogen format table and internal shaders for Metal. Bug: angleproject:2634 Change-Id: I4d81fcd17a0e9959ba9c38a250acc7abb168f54c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855067 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d192e933 | 2019-09-27 10:27:10 | Vulkan: Support binding texture levels as a rendertarget This CL refactors how TextureVk handles rendertargets. It removes the single rendertarget that previously supported 2D, and expands the layer/level list of rendertargets to handle all cases. Bug: angleproject:3184 Bug: angleproject:3996 Test: Texture2DTestES3.FramebufferTextureChangingBaselevel/ES3_Vulkan Test: FramebufferRenderMipmapTest.RenderToMipmap/ES2_Vulkan Test: FramebufferRenderMipmapTest.RenderToMipmap/ES3_Vulkan Test: ComputeShaderTest.ImageStoreMipmapSlice/ES3_1_Vulkan Change-Id: I466d0389cc6744994f88c40cc388fca694b53a99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854895 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| bbf0ce28 | 2019-10-11 06:55:36 | Vulkan:Add support to stage D or S textures Correctly set image aspect for depth or stencil texture staging. This fixes 6 failing dEQP 3.0 tests and an end2end test. Note that DS combined aspect textures will need special handling to read each aspect separately which is not included in this fix. Bug: angleproject:3949 Change-Id: I8e3f8166bdd31e2c002752b2f5c107ba411b2b0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855964 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 4398b2b6 | 2019-10-10 16:39:33 | Vulkan: finishToSerial only if the buffer is in use The call to flushImpl() was conditioned on the buffer being used but the call to finishToSerial() was outside. This caused an unconditional wait and unnecessary pipeline stall. The fix is to make sure to perform a flush and wait only when the buffer is in use. Bug: angleproject:3994 Change-Id: I1b297cf11a67f7611d37808cb111d6b52ac16f90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854881 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| f912b294 | 2019-10-10 15:32:14 | Vulkan: Handle 2Darray base/max level change When staging updates to the vkImage based on texture base/max level change, we weren't properly handling texture 2Darray. This CL changes several helpers to explicitly accept Vulkan extents and offsets so it is clear how things should be treated. Bug: angleproject:3991 Test: dEQP-GLES3.functional.shaders.texture_functions.texturesize.*sampler2darray* Change-Id: Iae80ce7201180224fc3bb7823f21a360950c515d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854020 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| a21362f5 | 2019-10-10 15:26:19 | GL: Missing check for texture format sample counts ANGLE was hitting an issue running on llvmpipe because llvmpipe doesn't properly implement texture formats with multisampling, but claims otherwise to be OpenGL 3.3 compliant. ANGLE did not validate the claim on the backend, so the frontend was hitting an ASSERT that failed. This patch makes sure to validate this part of the spec, and limits the driver to OpenGL 2 if it's not conformant. Bug: 976382 Change-Id: I6ad6d757e26f90068df83aeb3caf7685aa2f1c07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853889 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| a5f5e777 | 2019-10-10 21:21:51 | D3D11: Fix warning that showed up in VS2019. Was related to the new D3D11on12 code. Bug: angleproject:3986 Change-Id: I801b816c620a7307ee5a236856949866a8daf747 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854720 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 6950a87f | 2019-10-10 18:01:23 | [Fuchsia] Exclude libvk_swiftshader.so on Fuchsia libvk_swiftsahder.so was pulled on web_engine package after swiftshader was enabled in Angle. We don't need it so it can be excluded. This is a reland of https://chromium-review.googlesource.com/c/angle/angle/+/18228630 . Bug: fuchsia:37278 Change-Id: I4de8c7fe4706104791dfe5fc9b4e021db9f2948b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854883 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d37992d1 | 2019-10-04 10:13:23 | Vulkan: Prevent Creating ES 3.0 Context if Min. Caps. Not Met ANGLE should not allow creating an ES 3.0 context if the device's maxPerStageDescriptorUniformBuffers or maxVertexOutputComponents values are too low to support the necessary minimums for GLES 3.0. Bug: angleproject:3938 Test: CQ Change-Id: I4fce841d1f364c1aef1a883fa5edb64a4b93f08e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1841971 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 8896e18e | 2019-10-08 16:07:52 | Fix the missing global memory barriers This adds the transtlations of GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, and GL_FRAMEBUFEER_BARRIER_BIT to the vulkan backend. Bug: angleproject:3934 Change-Id: I2bd86a16b461cf7dc01d0d4386f49365a5292446 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1847172 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| ee08d924 | 2019-10-10 08:56:12 | Vulkan: Enable GL_OES_EGL_image_external_essl3 GL_OES_EGL_image_external_essl3 support was added a while back. This patch just enables it for the Vulkan backend Bug: angleproject:2668 Test: ./angle_end2end_tests --gtest_filter=ImageTestES3*Vulkan Change-Id: I6b8b1f63ed6e9faafe668ad9a73fc7fbc9c17670 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852190 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| cea73963 | 2019-10-10 11:56:45 | Vulkan: Base max renderbuffer size on max framebuffer size maxRenderbufferSize was based on max2DTextureSize, which is larger in SwiftShader than maxFramebufferX. This was causing the dEQP-GLES3.functional.shaders.builtin_functions.precision.* tests to create rendertargets that were too large for what SwiftShader supports. Adding checks for maxFramebufferX values on top of the max2DTextureSize check fixes all the tests. Bug: angleproject:3990 Change-Id: I006d2ddeb0f7e582d6aef88457cfb292efd5a05c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852709 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 32bee0fd | 2019-10-10 11:46:58 | Fix debug layers being disabled everywhere. The define that controlled the debug layer preference was mistakenly checking a Vulkan define. When the Vulkan define was moved into the Vulkan back-end then the layers became disabled for all back-ends. Fix this by using a layered check in the Vulkan back-end and restoring the asserts enabled check to ShouldUseDebugLayers. Suppresses some tests that regressed the layers after they were broken. Bug: angleproject:3987 Bug: angleproject:3991 Change-Id: I6aafcff6d9e19866c2324663ef4d4550e97fcfb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852706 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| d200a77a | 2019-10-10 00:44:01 | Metal backend skeleton implementation. Bug: angleproject:2634 Change-Id: I34be82f4a80a6851fecb53a51e069b134d82613a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849079 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 6e653981 | 2019-10-09 15:19:02 | Added PVRTC compression extension needed for Metal on iOS. Bug: angleproject:2634 Change-Id: I413f754fe5551b1e248bc2b824b327b92d8c70f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849076 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> |