commit fa5e0bac2b3b087e14a06b468e354fc6a54b264a Author: Geoff Lang Date: Wed Sep 18 16:42:28 2019 -0400 Fix depth pitch calculations for compressed textures. Depth pitch computations were not taking into account the block size and simply multiplying the row pitch with the pixel height. This caused our load functions to use a very high depth pitch, reading past the end of the user-supplied buffer. BUG=angleproject:3190 BUG=angleproject:3920 Change-Id: I4ef4763b542735993568c51ae4b5a235659b9094 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811837 Reviewed-by: Tim Van Patten Reviewed-by: Ian Elliott Commit-Queue: Geoff Lang commit 3a998d51928fb5856be5299fc189434d2da2e946 Author: Jeff Muizelaar Date: Mon Nov 9 17:09:12 2020 -0500 Bug 1620075. Add a feature flag to allow ES3 on 10.0 devices. (#26) This lets us run WebRender on devices that only support D3D 10.0 commit cf6c1604e64084b97bc42d271a0abd9abcfc97a8 Author: Geoff Lang Date: Wed May 13 18:50:51 2020 -0400 Unset the ActiveTextureCache entry if the program does not reference it When changing uniforms of a program, State::onActiveTextureChange is called to update the ActiveTextureCache. If the sampler uniform type changes to TextureType::InvalidEnum, the entry in ActiveTextureCache was not cleared. This causes stale entries in ActiveTextureCache because the cache no longer matches what textures are bound and the cache does not add references to the textures in it. BUG=chromium:1078375 BUG=chromium:1072406 BUG=chromium:1078866 Change-Id: If9719dcd4fc865b2301db450eb8115e7cfe46c4a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2199654 Reviewed-by: Tim Van Patten Commit-Queue: Geoff Lang commit eabf2a79aac36223b5ab5c5b0810d5522095f0bc Author: Jeff Muizelaar Date: Mon May 11 13:01:46 2020 -0400 Use deviceContext instead of deviceContext1 (#24) Sometimes we don't have a deviceContext1 (on Win7) and would crash. We on't have any need to use it so just use deviceContext. commit 19f1bef071c32df60d9d62a7907c42270d0a3dd7 Author: Jeff Muizelaar Date: Fri May 8 15:08:24 2020 -0400 Handle a null blend state. (#23) Null is used as the default blend state so we have to check for it. commit 8df54289d717eb0624a0ee16fd681c73a9472af4 Author: Jeff Muizelaar Date: Wed May 6 14:04:42 2020 -0400 Don't use ClearView if we previously used dual source blending on Intel gen6. (#22) Doing a ClearView after a dual source blend seems to cause a TDR on Intel SandyBridge. Presumeably this is because the ClearView is implemented as a regular draw and the driver doesn't properly set up the state. If we detect that this is going to happen we fall back to the manual draw call path. This lets us use ClearView most of the time still. commit 3885ee272685941f6dfb6cd941d550b107f033d2 Author: Jeff Gilbert Date: Wed Jan 22 18:42:56 2020 -0800 Validate `context` before use in ValidateStreamConsumerGLTextureExternalAttribsNV. Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1608235 Bug: angleproject:4333 Change-Id: I957b6412f7c744e4bbaa7d8084b3c81ee58d45ca commit 5eaf76b0bfd1f149d7b03393500c6e49a393c167 Author: Jeff Gilbert Date: Thu Dec 26 20:58:48 2019 -0800 Lost no-error context should gracefully handle GetProgramiv. 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: Iaf86cabd0e70d644d5b0e9ef2f51e9edeee5d020 commit 85f04c65943e0a7070a1419fffa246e5ec39d1a1 Author: Jeff Gilbert Date: Thu Dec 26 17:43:41 2019 -0800 clang-format Change-Id: Iadf327c12bc43d7daedcd80fc08683c55c182ccc commit f75ca830a4276c1b757f866aba3ab2429a27f69c Author: Dzmitry Malyshau Date: Thu Dec 5 13:02:14 2019 -0500 Restrict the slow texture upload workaround to 128bit formats. (#21) The workaround is slow for having a CPU-visible mirror of the texture, but that mirror is not properly recycled with regards to GPU usage, thus causing a CPU stall on update. Original reports were related to WebRender vertex texture updates that are RGBA32F and RGBA32U formats. Limiting the workaround to these formats would allow the affected platforms to upload regular texture data faster without stalls. commit 6bbe8f55d3e4b3b44394af323c5842296938ceab Author: Lee Salzman Date: Fri Aug 2 07:11:16 2019 +1000 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 Commit-Queue: Geoff Lang commit fe53e2b60af2314d7fe7040915c1499ef3bb7274 Author: Miko Mynttinen Date: Fri Nov 1 17:23:03 2019 +0100 Remove static_assert for global mutex commit 7d5a10ac34cac9f629d0080302f1a754e902c66e Author: Miko Mynttinen Date: Thu Sep 5 18:04:32 2019 +0200 Do not override symbol visibility attribute on non-windows builds commit 0f5a52939b91442075a787523fcf394bdccd4d54 Author: Miko Mynttinen Date: Tue Sep 3 18:54:54 2019 +0200 Disable debug layers commit fea78b079b9e778e240b06a0b8deadf57fe6d75a Author: Miko Mynttinen Date: Tue Sep 3 20:04:28 2019 +0200 Fix MinGW include commit 811d7beadb57fdd4c999d0702fb48085b770c078 Author: Jeff Gilbert Date: Wed Mar 27 13:52:04 2019 -0700 Don't clamp in glBlendColor if context supports renderable [half-]float. Add test for glBlendColor >1.0, skipped on D3D9 since it's unsupportable there. Bug: angleproject:3323 Change-Id: I3fcf867dae96bdadf8a0183269d8f27b659d0baf commit ea4db0f4e0c1b70dbe6e204e6afe77b23b8ea256 Author: Glenn Watson <39062770+gw3583@users.noreply.github.com> Date: Fri Aug 2 07:11:16 2019 +1000 Fix occasional corruption of vertex textures in HD4600 GPUs. (#19) This appears to be caused by the UpdateSubResource call, which is worked around by enabling the other image upload path that ANGLE supports. The workaround doesn't include a driver version, since the bug is occurring in the most recent driver that is currently available (15.40.42.5063, released 19th Mar 2019). Cherries picked ================================================================================ Merge base from: origin/chromium/3865 commit 08b97da894b278c10e70b6888ac65e3972a13b31 Author: Shahbaz Youssefi Date: Tue Jul 23 12:07:13 2019 -0400 Vulkan: Fix staging buffer alignment for pixel sizes > 4 Previously, all non-compressed formats were satisfied with a 4-byte alignment. The introduction of float formats changes this. This change calculates the necessary alignment using the same code path as compressed formats. Also fixes RGB9E5's pixelByte being calculated as 3 instead of 4. Bug: angleproject:3731 Change-Id: I6abfd1c294e7f863eb99d2468eaac09e5d714039 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715205 Reviewed-by: Mohan Maiya Reviewed-by: Jamie Madill Commit-Queue: Shahbaz Youssefi