Log

Author Commit Date CI Message
Jamie Madill 60d76ec1 2021-06-25T17:35:22 Trace Tests: Autodetect Goma. Checks for the existence of the compiler_proxy process. Bug: angleproject:6102 Change-Id: I58848dc7cd62aeb65c28990212f29df6ff66db1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989672 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kenneth Russell b3cbfd55 2021-07-07T12:31:57 Fix multiple end2end crashes in direct-to-MSL compiler. This set of changes: - Adds a single place (CompilerMtl::useDirectToMSLCompiler) where the direct-to-MSL compiler can be enabled, still at compile time rather than run time. It is still disabled by default. - Initializes MTLWaitableCompileEventImpl::mShader, without which all shader compiles crash. - Fixes a mismatch of the ANGLERasterizerDisabled variable name in the generated MSL. - Removes the transform feedback bindings as an argument to the vertex shader's main0(). Transform feedback support needs to be reimplemented in this compiler backend. - Added an option to the DriverUniform class to emit as either an interface block or a struct. The direct-to-MSL backend assumes it is a struct. - Disable variable reference validation when referencing either sample mask or rasterizer discard functionality in the shader. - Disable struct usage validation when inserting references to ANGLE_TextureEnv. This occurs during pipeline rewriting and it's infeasible to disable it at that point, so disable it during pipeline rewriting - which means it's disabled for all shaders. - For angle_end2end_tests, disable the file API hooking which disables the Metal shader cache. This speeds up the tests significantly - by roughly a factor of 5. With these changes, several hundred angle_end2end_tests run without any assertion failures, though still with many test failures. The next crash is in: GLSLTest.NamelessScopedStructs/ES2_Metal and will likely require a larger bug fix, or more changes to be upstreamed from WebKit's repository. Bug: angleproject:5505 Change-Id: Ia1ea9a13867f00035d4aeccf907fd032255588e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010486 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 2b86e2d6 2021-07-19T10:30:57 GN: Update dcheck/assert conditions. In preparation for a Chromium change that makes dchecks enabled by default in Release builds, we'll keep ASSERT disabled in Release by default. We add a new flag 'angle_assert_always_on' for controlling ANGLE ASSERT behaviour. Also slightly refactors the direct SPIR-V generation GN. Chromium CL: https://crrev.com/c/2893204 Bug: chromium:1225701 Change-Id: I01a6def28d7c21e771e9800889a6b9c274972de2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035447 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Dirk Pranke <dpranke@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8c1cbc5a 2021-07-16T14:01:53 Implement EGL_KHR_mutable_render_buffer in the front-end. Note that we do not currently expose any mutable configs. Bug: b/192352791 Change-Id: Ib97f7889fedd91d09ef32dc7e7494ea4476cd7bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035583 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 011ef7ed 2021-07-09T01:33:57 Revert "Ignore VUID-VkSpecializationMapEntry-constantID-00776" This reverts commit 0beafe862b4c21299d40b5ffcf98816828254a2a. Reason for revert: VVL error no longer reproducible Original change's description: > Ignore VUID-VkSpecializationMapEntry-constantID-00776 > > New check added in > https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/2903 > Blocks VVL rolls. > > Bug: chromium:1226682 > Change-Id: Iaf12187c33a0c3736acae6e772277dbe6aa4c402 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007137 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bug: chromium:1226682 Change-Id: I7df7373fb52a1a64d94fd1973927cef4f89f2f05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3017555 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Torne (Richard Coles) d84d1288 2021-07-16T12:08:03 android: Explicitly specify exported activities. Android 12 requires all components with an <intent-filter> to explicitly specify whether they are exported, instead of being exported by default. Update various remaining cases in our tests/sample code/tools. Bug: chromium:1223110 Change-Id: Iab37881d947da25d771bf757d2f7581ad782c73f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035442 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Mohan Maiya 9a938e82 2021-07-15T13:41:43 Bug fix in ValidateCopyImageSubDataBase ValidateCopyImageSubDataBase had a few missing validations and was returning the incorrect error enum. Bug: angleproject:3593 Test: dEQP-GLES31.functional.debug. negative_coverage.callbacks.buffer.copy_image_sub_data negative_coverage.log.buffer.copy_image_sub_data negative_coverage.get_error.buffer.copy_image_sub_data error_filters.case_24 Change-Id: I6f96c49ae6cf584559cb56fc614ac289b5e00c77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2970944 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Mohan Maiya 5c8bf081 2021-06-08T13:12:24 Vulkan: Add support for YUV internal format extension 1. Add a function to upload YUV image data to textures 2. Modify stageSubresourceUpdate method to account for YUV images 3. Create VkSamplerYcbcrConversion when initializing ImageHelper 4. Update hasImmutableSampler to account for native YUV format support 5. Skip initializeNonZeroMemory for YUV formats Bug: angleproject:5773 Test: Texture2DTestES3.TexStorage2D*Yuv*Vulkan* Change-Id: I270f04bbf903cf2bf19f100eb95f32953d491c39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947767 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 0a83d958 2021-07-19T09:52:13 Capture/Replay tests: Fix missing usage of ApplicationDir. This was changed to ModuleDir in http://crrev.com/c/3035444 Fixed the capture/replay self-tests. Bug: chromium:1219969 Change-Id: Iaada421e9748db1e8afe17acf0705d5a89db6edb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035248 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jeff Gilbert 75c0d67c 2021-07-16T18:05:36 Build fixes needed by Firefox circa 2021-feb. Bug: angleproject:6187 Change-Id: Ife2c9f08ca213358b8fb06a858664d235a860730 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036592 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll a7056fe6 2021-07-19T11:53:03 Roll VK-GL-CTS from 6b9a0f391fa4 to 571256871c2e (17 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/6b9a0f391fa4..571256871c2e 2021-07-16 alexander.galazin@arm.com Use uintptr_t in the framework 2021-07-16 alexander.galazin@arm.com Use [u]int64_t in the framework 2021-07-16 gleese@broadcom.com Extend image tests to support formats with no formats 2021-07-16 gleese@broadcom.com Define a framework function for getting SPIR-V format tokens 2021-07-15 piotr.byszewski@mobica.com Test blitting from compressed formats 2021-07-15 siglesias@igalia.com Add test of vkCmdCopyImage with both layers and mipmaps 2021-07-15 rgarcia@igalia.com Test dynamic topology with tessellation shaders 2021-07-15 gleese@broadcom.com Remove extended image format capabilities from more tests 2021-07-15 gleese@broadcom.com Simplify image extend operand tests for extended formats 2021-07-15 alexander.galazin@arm.com Use [u]int16_t in the framework 2021-07-15 alexander.galazin@arm.com Use [u]int8_t in the framework 2021-07-15 alexander.galazin@arm.com Use [u]int32_t in the framework 2021-07-15 alexander.galazin@arm.com Require to enable implicit layers 2021-07-14 jajones@nvidia.com Fix FreeBSD build of VK_EXT_physical_device_drm tests 2021-07-09 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master 2021-07-09 alexander.galazin@arm.com Deprecation notice for Vulkan CTS 1.2.3.x 2021-07-09 siglesias@igalia.com Added tests to check ignored Vk*PipelineCreateInfo members If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC cnorthrop@google.com,angle-bots+autoroll-info@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/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com,angle-bots+autoroll-info@google.com Change-Id: I3be9b8f86434efa3e0f09b8de96797840b27b1f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037214 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill a3f44ab8 2021-07-19T08:23:27 Vulkan: Remove loader logging message in RendererVk. This was causing issues with a Chrome test. Bug: chromium:1230474 Change-Id: I0e5e3df5c9ad5774d6f5a2b41f4f1429000fe81e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035247 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 4ee176ab 2021-07-19T11:15:02 Roll SwiftShader from ba18c78e4696 to c6747d98397d (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/ba18c78e4696..c6747d98397d 2021-07-19 adrian.ratiu@collabora.corp-partner.google.com Backport LLVM fix for mallinfo deprecation If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-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/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I55f120389b2c651b9f13f31e20a093210e90cb0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037890 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yang Gu fb26ba6a 2021-07-06T14:24:29 Extend Intel graphics driver version to 2 fields The 4th field of Intel new graphics driver will overflow soon. For example, the lastest driver version is 27.20.100.9466 and the 4th field, 9466, will meet the maximum 9999 soon. Future driver will bump the 3rd field from 100 to 101. This CL extends driver version check from 4th field to both 3rd and 4th fields. Check below 2 documents for more details. https://www.intel.com/content/www/us/en/support/articles/000005654/graphics.html https://docs.google.com/document/d/1Xm4afyGR3Ow3W2G-uig9fLQR01XzmSXeanM9OXDVhlg/edit#heading=h.k8onwbxk2ig Bug: angleproject:6138 Change-Id: Iefb1d56b48d0f08e79c329c422a6ef142b33553d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007570 Commit-Queue: Yang Gu <yang.gu@intel.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 926fe357 2021-07-19T07:01:44 Roll Chromium from ac347590d69b to f8ef6fcfb849 (67 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ac347590d69b..f8ef6fcfb849 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-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/+doc/main/autoroll/README.md Changed dependencies * testing: https://chromium.googlesource.com/chromium/src/testing/+log/36da2dc511..f619f21d40 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5cb305306a * tools/luci-go: git_revision:d10ff2af1182ccaad573bc5acb84a36f4c280876..git_revision:175b811c1eebfa8868ab96b58a4dc7b5bcabf756 * tools/luci-go: git_revision:d10ff2af1182ccaad573bc5acb84a36f4c280876..git_revision:175b811c1eebfa8868ab96b58a4dc7b5bcabf756 * tools/luci-go: git_revision:d10ff2af1182ccaad573bc5acb84a36f4c280876..git_revision:175b811c1eebfa8868ab96b58a4dc7b5bcabf756 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/ed1db6c6b3..df951e112c * tools/skia_goldctl/linux: v3HXOS7MJkC2TfycHGZS1dHlQ_BosbzqLeuDXXLbxMUC..up6EUcZzuFZnm2JCEV1eW0TwCEAZjPcqtS2CsZN-3qAC * tools/skia_goldctl/mac: nx0V9Budj8K1DfPIdKA9oakeQE7SPTMIvVwqzX0DkF4C..eR_S1Urlw9be4WKiQcXwEcBn9KiDrWknodT82I6vw-kC * tools/skia_goldctl/win: 5vRobMZ1N26UvonRAdJZ66IEfzd3vF8r6z8j4Nqrhc8C..pLY1rCmGsL8vtV0wWxgqY3sOWkwIxuRh6PMIn_0BDcAC No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I33441c8cc8defd3a974de75172e16ac403d88a3b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037212 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop 5fb3a549 2021-07-18T22:15:12 Skip GLSLTest_ES31.BoolInInterfaceBlocks/ES3_1_OpenGL AMD Linux Bug: angleproject:6192 Change-Id: I853864cfce5edb78be940c6f59f22187dce7e47b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037629 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 4d9e1f23 2021-07-18T21:15:41 More skips for GLSLTest_ES31.TypesUsedInDifferentBlockStorages Also disable the test on the Linux AMD OpenGL backend. Bug: chromium:1230024 Change-Id: I9ff2d798cf7410db55802fb86635b5d833d32284 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037628 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 32829f09 2021-07-17T19:45:34 Roll Chromium from ec932ff42c9b to ac347590d69b (492 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ec932ff42c9b..ac347590d69b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC cnorthrop@google.com,ynovikov@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/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/c0b24c3c75..fd86d60f33 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/2500c1d8f3..37dc929ecb * buildtools/linux64: git_revision:24e2f7df92641de0351a96096fb2c490b2436bb8..git_revision:b2d77ab1373192d1532af94b68fb8bab727b0e5b * buildtools/mac: git_revision:24e2f7df92641de0351a96096fb2c490b2436bb8..git_revision:b2d77ab1373192d1532af94b68fb8bab727b0e5b * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/486cb62885..7d5c92f6cf * buildtools/win: git_revision:24e2f7df92641de0351a96096fb2c490b2436bb8..git_revision:b2d77ab1373192d1532af94b68fb8bab727b0e5b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d5800742c1..36da2dc511 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/3a5a816917..9211d9e376 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5cb305306a * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/e9e400e0af..ad8b3b0f84 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/7cf9863263..2229323ff7 * tools/luci-go: git_revision:91a04914ac71b7b6fe7b95ce8691d45eeb69bf4f..git_revision:d10ff2af1182ccaad573bc5acb84a36f4c280876 * tools/luci-go: git_revision:91a04914ac71b7b6fe7b95ce8691d45eeb69bf4f..git_revision:d10ff2af1182ccaad573bc5acb84a36f4c280876 * tools/luci-go: git_revision:91a04914ac71b7b6fe7b95ce8691d45eeb69bf4f..git_revision:d10ff2af1182ccaad573bc5acb84a36f4c280876 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/8e00ef0f0d..49df801dea No update to Clang. Bug: angleproject:6182 Tbr: cnorthrop@google.com,ynovikov@google.com Change-Id: I126380502db06c46d8e1ddada145a3f6f0c85b39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035951 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 9ddaa686 2021-07-16T14:57:13 Call getNearestSamples() in Framebuffer::setAttachment() The app jp.garud.ssimulator uses the same sample count of '2' for both glRenderbufferStorageMultisampleEXT() and glFramebufferTexture2DMultisampleEXT(). However, when glRenderbufferStorageMultisampleEXT() is called, Renderbuffer::setStorageMultisample() calls TextureCaps::getNearestSamples() which rounds up the sample count from '2' to '4'. Later, when the app tries to draw with the framebuffer, an error is generated by ANGLE: Framebuffer is incomplete: Attachments have different sample counts. The fix is to also call TextureCaps::getNearestSamples() in Framebuffer::setAttachment() to make sure the sample count passed into glFramebufferTexture2DMultisampleEXT() is also rounded up to match the renderbuffer. Bug: angleproject:6183 Test: MultisampledRenderToTextureTest.FramebufferCompletenessSmallSampleCount Change-Id: I58be9986077257f4767f2e528c2f87e496d9d774 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036254 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop ab197a2b 2021-07-16T16:08:08 Skip GLSLTest_ES31.TypesUsedInDifferentBlockStorages AMD Linux The following test is failing on AMD Linux bots: GLSLTest_ES31.TypesUsedInDifferentBlockStorages/ES3_1_OpenGL It is skipped on many platforms, so adding another. Bug: chromium:1230024 Change-Id: Ie24aa04c1b8ab4d4ecdb5c4449d320ae180ecb54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035864 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Ian Elliott 312e91c8 2021-07-16T14:25:35 Two fixes to DevSetup.md Change master->main and eliminate a redundant/premature Linux instruction. Bug: angleproject:0 Change-Id: Ic7171f860de8acc22050a4d4858cfd318f36b9e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035863 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 232e5236 2021-07-08T15:08:35 Remove the explicit context extension. This extension currently has no known users and doubles the number of entry points that ANGLE exports which is a significant binary size cost. This saves about 130kb of binary size on Android. Bug: chromium:1084580 Change-Id: Ib0fc4930b38a33bd61434f7d0030ba9fb9b93ba7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015518 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f4ce6d00 2021-07-15T11:07:25 Vulkan: SPIR-V Gen: Support bool in interface blocks SPIR-V doesn't allow bool in interface blocks. Another type specialization is added for this purpose, turning those bools to uint. Bug: angleproject:4889 Change-Id: I803bffcf5ea58c913d4df6e7aae3386c67901b25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032021 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 48da1c35 2021-07-16T13:24:34 Vulkan: Prefer the local vulkan loader over the system one. Load the Vulkan loader ourselves and give vkGetInstanceProcAddr to volk. This allows us to always prefer loading from the current module directory instead of using the platform-specific ordering. Refactor angle::Library loading to use ModuleDir instead of ApplicationDir. CL originally authored by Geoff Lang. Bug: chromium:1219969 Change-Id: I21d1926e90fd66e1c23cea7323991ae55f3d22d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035444 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill dd0e8a1f 2021-07-16T10:33:57 Capture/Replay tests: Enable dcheck_always_on. This will enable release ASSERTs. ASSERTs were unintentionally disabled when switching to release builds. Bug: angleproject:5133 Change-Id: Ie19e9fd02624b10283192467c4e22e3cf2b382c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035521 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Pujun Lun 2a713d92 2021-07-15T14:58:54 Avoid recreating activity when rotating the display. Reference: https://developer.android.com/guide/topics/resources/runtime-changes#HandlingTheChange Bug: b/193828422 Change-Id: I4caa80941e4d32bdf5c830985a19536efd041069 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032150 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 966c6a9a 2021-07-15T12:50:09 Capture/Replay: Don't try to serialize compressed textures. Instead we write out a simple string indicating compressed texel contents. We in the future could implement a GetCompressedTexImage API. Bug: angleproject:6176 Change-Id: I6673ec85ac94d5268b24bda4d510247a63fa97e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032022 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill ac61386d 2021-07-15T11:08:48 Capture/Replay Tests: Swap before TearDown. Swapping before TearDown lets the capture and serialization logic see all the test resources that will be cleaned up by the fixture. This will increase coverage quite a bit because many tests do automatic cleanup which would previously skip serialization. Bug: angleproject:6175 Change-Id: I85aa3f6d9bcf2fd66836523e55862a2d5f0d8e32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031702 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 04485656 2021-07-15T13:46:54 Capture/Replay: Capture WaitSemaphore and SignalSemaphore Enable tests that now pass, but keep tests that time out or still crash on the skip list. Bug: angleproject:6164 Change-Id: I39e56f0a1bfae09c74a54b06367f7eef41d1063c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024208 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny 1e75181f 2021-07-15T13:39:08 Capture/Replay: redesign capturing of arrays passed by pointer Instead of doing a lookup of the number of passes array when the call is written, store the number of array values in the ParamCapture when the call is captured. Bug: angleproject:6164 Change-Id: I87b0e2f776a6884b999cc50844e0777cda26b380 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031543 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Gert Wollny 1d2c60da 2021-07-12T21:44:24 tests: GL_NUM_BINARY_FORMATS is a ES 3.0 property Enable according test. Bug: angleproject:6165 Change-Id: Idb0908024ebce485ac182463a02eba415f0ffec8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024207 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll ab440fe9 2021-07-16T07:00:48 Roll Chromium from 8cd71c4b8d72 to ec932ff42c9b (494 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8cd71c4b8d72..ec932ff42c9b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-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/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a0ffb5c18b..c0b24c3c75 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/bb278658aa..486cb62885 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/fc691f716e..d5800742c1 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..88e3e03477 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9ae36fe326..c81b8b948f * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/8160e2a4da..ed1db6c6b3 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f6e0d38cba..8e00ef0f0d * tools/skia_goldctl/linux: akNu1KJYVHgTQNr5JP2zeDRr55on3hTjOig4L_oTFC8C..v3HXOS7MJkC2TfycHGZS1dHlQ_BosbzqLeuDXXLbxMUC * tools/skia_goldctl/mac: tZIg-mPdIZ6uAOSczjKk5xX2bYbpRxpWf03pIR1H57UC..nx0V9Budj8K1DfPIdKA9oakeQE7SPTMIvVwqzX0DkF4C No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I6c4e73b53f31d2a956769a84e9a32136cf561906 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3033965 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Gert Wollny 106ed74c 2021-07-12T20:55:33 Capture/Replay: Capture FenceNV parameters Enable according tests. Bug: angleproject:6163 Change-Id: I4435a650530006997ed3f14315461060729b836a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024206 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Qin Jiajia 397fc145 2021-07-15T09:20:28 Fix the ext-texture-norm16 with RG16 failures Don't apply the readPixelsUsingImplementationColorReadFormatForNorm16 workaround for Intel GPU. With this workaround, below error will be printed: GL_INVALID_OPERATION in glReadPixels(invalid format GL_RG and/or type GL_UNSIGNED_SHORT) in FramebufferGL.cpp, readPixelsAllAtOnce Test: conformance2/extensions/ext-texture-norm16.html Bug: chromium:1208297 Change-Id: Ic9016c3afd8a0d2add61247adbf0d9434e8ce9f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028810 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Jonah Ryan-Davis 96aa681c 2021-07-14T17:12:18 Enable SwANGLE on ozone headless To switch ozone testing to SwANGLE we need ANGLE to be able to run vulkan/swiftshader on the ozone headless platform. Bug: chromium:1227864 Change-Id: Icb8dc8fc4b3a5bc2402be2e41334350815fdd4dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027045 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tom Anderson 298fafd7 2021-07-14T13:57:30 [GLX] Allow usage of multiple visuals When using AMGLE_x11_visual, a single visual is specified for the whole session. This is limiting since windows can have different visuals. For example, one window may want transparency and another window may not. This CL makes it not-an-error to use a window with a visual other than the one set with ANGLE_X11_VISUAL_ID. In this case, ANGLE will fallback to using a child window, as if ANGLE_X11_VISUAL_ID had not been specified. Long term, a better solution would be to allow specifying ANGLE_X11_VISUAL_ID per window. Bug: chromium:1225953 Change-Id: Ibec411cfd1341c30b2842a7ddba3fea6023de2b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028803 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 9c6fb52c 2021-07-13T14:10:41 Vulkan: SPIR-V Gen: Assignment between mismatching SPIR-V types In general, GLSL qualifiers translate to SPIR-V decorations on SPIR-V variables. In the case of blocks (struct or interface block), OpMemberDecorate is used, which due to its specification in SPIR-V, can only apply decorations to direct members of a block. This makes it impossible for example to decorate a nested member of a block through its variable id. As such, some decorations such as RowMajor and Invariant apply to members of a block given its _type_ id. Unfortunately SPIR-V requires ArrayStride to also be applied to a type directly, rather than a member of a block. This implies that some types, such as structs used in uniform/buffer interface block, or decorated with invariant or row_major, as well as arrays (of any type) used inside and outside interface blocks to produce different SPIR-V types from the same GLSL type. The SpirvTypeSpec data previously introduced specialize these types. It's necessary to "cast" between these types when needed. The translator handles casts at load/store boundary: - Upon load, the value is cast to the type with the default SpirvTypeSpec. - Upon store, the value is cast from the default to the store target SpirvTypeSpec. - All intermediate results use the default SpirvTypeSpec. Bug: angleproject:4889 Change-Id: I6fa28e518ec6b517ff163f44b6892859eb4b10fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3026145 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 5e579a18 2021-07-13T01:22:48 Vulkan: SPIR-V Gen: Support row-major blocks The SPIR-V type generation is refactored to contain all type-differentiating properties in a specific struct that is passed around. The following can lead to different SPIR-V types generated from the same GLSL type: - Block storage for blocks - Invariant for blocks - Row-major for blocks with matrices - Row-major for matrix arrays in blocks - Bool when used inside an interface block (not yet implemented) Previously, block storage and invariant were passed around. Instead, with this change the aggregate of all the above is passed around. The row-major specialization is added in this change. This change also refactors the uniform/buffer block encoding to use the existing encoders in blocklayout.h. Bug: angleproject:4889 Change-Id: I3cfa8bd96bb380a1f1f05fbbd6b3eebd702c9e24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021670 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Yuly Novikov 992a2f70 2021-07-15T14:32:11 Skip DrawRepeatUnalignedVboChange on Mac ARM Metal SimpleStateChangeTest.DrawRepeatUnalignedVboChange/ES2_Metal flaky on Mac FYI arm64 Release (Apple DTK) Bug: angleproject:6171 Change-Id: I9fa8b39e172c6422d9430ab3a0aa8ce9e7558b9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032024 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 4b47e8f3 2021-07-14T13:29:29 GL-CTS: Add option to run on D3D11 refrast. Bug: None Change-Id: Ia28afed48b3fddcd9725094f4892a1aa27957fd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027540 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop f46df397 2021-07-14T19:41:03 Vulkan: Suppress VVL errors triggered by external formats Since several tests are hitting these and it may be a VVL bug, moving to ignore rather than skips. Bug: angleproject:6155 Bug: angleproject:6168 Change-Id: I38a5be8d792b8b13a490be895a68349bffe69c6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028809 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 669acb00 2021-06-08T13:36:38 Add YUV format utils and validation code 1. Add YuvFormatInfo struct and a few YUV format helpers 2. Update ES3 validation code to account for YUV formats Bug: angleproject:5773 Change-Id: I82ababe8bf2a065e7d5c4f868e4a512ba8c9d7d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947766 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 4264138a 2021-07-15T10:01:54 Roll vulkan-deps from a03f2d365426 to 7c4121a2cfd0 (1 revision) https://chromium.googlesource.com/vulkan-deps.git/+log/a03f2d365426..7c4121a2cfd0 Changed dependencies: * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/dada63db18..8b83ca019c If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-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/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I4a3aa5dfe053be1cc20824d07143c99fd347195c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031221 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4b9b435b 2021-07-15T07:00:29 Roll Chromium from 47358b0400b8 to 8cd71c4b8d72 (448 revisions) https://chromium.googlesource.com/chromium/src.git/+log/47358b0400b8..8cd71c4b8d72 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-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/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/c8b96e2021..a0ffb5c18b * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/6803464b0f..bb278658aa * testing: https://chromium.googlesource.com/chromium/src/testing/+log/70c4b1c859..fc691f716e * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/ea5c2c2838..76bd51b56b * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f61fac0492 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9d0a403e85..9ae36fe326 * tools/luci-go: git_revision:8b8a9a6040ca6debd30694a71a99a1eac97d72fd..git_revision:91a04914ac71b7b6fe7b95ce8691d45eeb69bf4f * tools/luci-go: git_revision:8b8a9a6040ca6debd30694a71a99a1eac97d72fd..git_revision:91a04914ac71b7b6fe7b95ce8691d45eeb69bf4f * tools/luci-go: git_revision:8b8a9a6040ca6debd30694a71a99a1eac97d72fd..git_revision:91a04914ac71b7b6fe7b95ce8691d45eeb69bf4f * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/9f08bce929..8160e2a4da * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/1f94e8277f..f6e0d38cba * tools/skia_goldctl/linux: McKpb1_oys52qBLvSwGec9-adPkk72RTCSdOBnzZiakC..akNu1KJYVHgTQNr5JP2zeDRr55on3hTjOig4L_oTFC8C * tools/skia_goldctl/mac: Ea5khSEBtnBiIUjc8YOW1PTAiFTBzcSCJcQXyS_RcV8C..tZIg-mPdIZ6uAOSczjKk5xX2bYbpRxpWf03pIR1H57UC * tools/skia_goldctl/win: hrfC-m0pHo7gMu28Bdo4wR8Fnxk_GQkMcO9LyPNPThoC..5vRobMZ1N26UvonRAdJZ66IEfzd3vF8r6z8j4Nqrhc8C No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: Iee7633c3b092fc9399383a24b5d0f812b9841e13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028523 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 223cd0ac 2021-06-15T18:46:07 Capture/Replay: Refactor shared context handling This is the initial CL to enable capture/replay of multi-context applications. This CL refactors FrameCapture and FrameCaptureShared to move much of the functionality into FrameCaptureShared, since most everything is shared by Contexts in the share group. For example, the setup of the majority of the GL objects is done in the new SetupReplayContextShared() function in the new $LABEL_capture_context_shared_frame001.cpp file. The setup is performed by (for example): void SetupReplay() { $LABEL::InitReplay(); $LABEL::SetupReplayContextShared(); SetupReplayContext2(); } This performs the shared setup first, followed by the context-specific setup, which may reference shared objects careated by LABEL::SetupReplayContextShared(). No re-capturing is required with this change, since the external APIs (i.e., SetupReplay()) are still the same. Bug: angleproject:5878 Test: Manual MEC and replay of Magic Tiles 3, Candy Crush Soda Saga, Temple Run 2 Change-Id: Iab7bfe651437e9be1dee83514cd97acc20c61d1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965780 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya db54b8dd 2021-06-08T21:44:10 Add YUV format support to frontend Add GL_G8_B8R8_2PLANE_420_UNORM_ANGLE and GL_G8_B8_R8_2PLANE_420_UNORM_ANGLE formats to InternalFormatInfoMap Bug: angleproject:5773 Change-Id: Iaad4043f803c2702a5d41d3b9dc3a00c5f6aed73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947765 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 97987658 2021-06-06T11:36:49 D3D: Update format table with new YUV formats They are currently mapped to angle::FormatID::NONE Bug: angleproject:5773 Change-Id: I0cba77158ef06bf39fbb30702e0fa91a37f660a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947764 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 8a721740 2021-07-14T19:04:56 Roll vulkan-deps from 015a6f8b338d to a03f2d365426 (30 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/015a6f8b338d..a03f2d365426 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9e707294f1..4b7b86d568 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/1ae2b58f19..be3988b13c * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/ddf3230c14..1d4e3a7e3a * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c26baf4c93..640b17b5fb * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/3bdb32d29f..99c0b1433a * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/8b86fbac17..33a87ce6da * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f2912cd0f6..dada63db18 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-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/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I9c7df90a144727812e03fb5417ea0df22ba34bae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027273 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya e66e3344 2021-07-12T13:28:54 Vulkan: Add GL_ANGLE_yuv_internal_format extension 1. Add a new extension to support creation of immutable textures with sized internal YUV formats 2. Rename YUV format enums from *_ANGLEX to *_ANGLE 3. Move YUV format enums from angleutils.h to glext_angle.h Bug: angleproject:5773 Change-Id: Ibfe732f4c9a4a536be56481f33e4768f6227c212 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820153 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop cd73949c 2021-07-14T14:25:06 Skip SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData P4+VK New validation layers are triggering failures. Test: SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData Bug: angleproject:6168 Change-Id: I4070bd028a598e8d91a3b8f2172b42f3e782c932 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028802 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 3dda3afa 2021-07-14T16:11:01 Vulkan: SPIR-V Gen: Add missing SampleRateShading capability Bug: angleproject:4889 Bug: chromium:1229324 Change-Id: I8782ea4b0f9967c12b205a8c48d5f85bd94e950c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027044 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 715a49c7 2021-07-03T08:48:07 Vulkan: Handle incompatible immutable sampler formats If the immutable sampler format of an active texture is not compatible with those supported by the pipeline layout, recreate the pipeline layout. Bug: b/155487768 Bug: angleproject:5033 Bug: angleproject:5773 Test: ImageTest.SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData*Vulkan Change-Id: Iea78e1738ea2fb133a24dc88f5b68daf4cc1bdfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2997289 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill ead83da9 2021-07-14T12:29:14 Add environment variable args to trigger script. This can allow specifying args such as VK_LOADER_DEBUG. Bug: chromium:1228274 Change-Id: Idf9298e32a0c6a353891eb8b929a3524d27541b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027539 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 31b06f5f 2021-07-12T10:06:04 Vulkan: Account for immutable samplers that need multiple descriptors It is valid for immutable samplers to need more than 1 descriptor count. Account for this possiblity while calculating descriptor pool size. Bug: b/155487768 Bug: angleproject:5033 Bug: angleproject:5773 Bug: angleproject:6141 Change-Id: Ifb0ed3e4b3c01c61d81dd0c628101f31d4c8bd05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3005329 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Cody Northrop cfc8db0b 2021-07-14T10:37:11 Skip SimpleStateChangeTest.RedefineFramebufferTexture on NV+WIN Bug: chromium:1229184 Change-Id: I68339ddf1bd3ac2ae04c1191045bd27c321131fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027264 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 41980f05 2021-07-14T09:42:32 Download rc binaries for win cross-compile. This copies code missing from the Chromium DEPS file. Bug: angleproject:6170 Change-Id: I0f12fe185bf97e9d316a03bec57e4e3ce2fee080 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025126 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cheryl Wei 45965e72 2021-06-17T10:21:26 Vulkan: Translate border color's channel by image view format ANGLE implementes some formats as other formats,such as ALPHA8 to R8, this caused some tests failed due to missing border color's channel translation,this change add a new textureBorderLoadFunction to translate channels of border color by image view format. Bug: angleproject:6046 Change-Id: I94ce719b4db3724ffd3dc862b51a412b5d9f3cce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2972328 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Peter Kasting 45c344c1 2021-07-14T06:46:25 Roll third_party/glmark2/src/ 9e01aef1a..ca8de51fe (52 commits) Bug: chromium:1066980 Change-Id: Id364f9039fb563eafc80b2e05e3d0709aae1647f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024962 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 07c39616 2021-07-08T17:01:31 Vulkan: SPIR-V Gen: Enable GLSLTest* This change includes an assortment of small fixes to enable most of GLSLTest* end2end tests. - User-defined std140 storage buffers were mistakenly turned to std430. - External and WEBGL samplers were redundantly redeclaring the sampler2D type. - `invariant` specified on a field of struct type didn't apply it to said struct's members. - Arrays of struct as a member of an interface block didn't have their size aligned, producing incorrect stride - Interpolation and auxiliary qualifiers are now generated - Arrays of opaque uniforms are now correctly passed to functions when indexed. - atan(x, y)'s built-in Op is fixed - early_fragment_tests is now generated Additionally, the SPIR-V transformer didn't handle the Invariant decoration applied to gl_PerVertex built-ins, which is possible as a result of: #pragma STDGL invariant(all) This bug existed in the transformer due to two bugs: - ANGLE didn't generate this line when generating GLSL to feed to glslang. This is fixed by this change. - glslang itself ignores this line: https://github.com/KhronosGroup/glslang/issues/2689 Bug: angleproject:4889 Change-Id: I15ad9fcc178abc1eae944e7a58f4e6153fa5dfd9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016762 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 2ec3f574 2021-07-14T10:01:02 Roll SwiftShader from 4716eec90fcb to ba18c78e4696 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/4716eec90fcb..ba18c78e4696 2021-07-13 thakis@chromium.org Define NO_SANITIZE_FUNCTION on win/clang too If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-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/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I5252213e220a9fc516b80592ead71b8f68947337 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025289 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7bbd3224 2021-07-14T07:37:44 Roll Chromium from 624f8c7a15ff to 47358b0400b8 (511 revisions) https://chromium.googlesource.com/chromium/src.git/+log/624f8c7a15ff..47358b0400b8 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-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/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/9c63d2e3b0..c8b96e2021 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/cb34896ebd..6803464b0f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d749d1b98b..70c4b1c859 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/329436118b..8c49b419c2 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a67592355d * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/f376b41126..dfbc590f58 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/aca9f71bde..9d0a403e85 * tools/luci-go: git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3..git_revision:8b8a9a6040ca6debd30694a71a99a1eac97d72fd * tools/luci-go: git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3..git_revision:8b8a9a6040ca6debd30694a71a99a1eac97d72fd * tools/luci-go: git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3..git_revision:8b8a9a6040ca6debd30694a71a99a1eac97d72fd * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1820a3adb0..9f08bce929 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6dad62e2eb..1f94e8277f * tools/skia_goldctl/linux: R0Jd4IlcndZlI5C9Pejy7DqtmVEQT8Sc6Ye09MGyFxYC..McKpb1_oys52qBLvSwGec9-adPkk72RTCSdOBnzZiakC * tools/skia_goldctl/mac: 5NoUEq08DuYUlQWnf2yj6rQvBtlMvWiDqfuUuE5nJFIC..Ea5khSEBtnBiIUjc8YOW1PTAiFTBzcSCJcQXyS_RcV8C * tools/skia_goldctl/win: M2_R9AXWaN0xmm6nz_nRzKlhpzzOp3P9EUxNaLZ5owMC..hrfC-m0pHo7gMu28Bdo4wR8Fnxk_GQkMcO9LyPNPThoC Clang version changed llvmorg-13-init-14732-g8a7b5ebf:llvmorg-13-init-15163-g98033fdc Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/aca9f71bde89a71cb8588f5d77868c612a163274..9d0a403e85d25b5b0d3016a342d4b83b12941fd5/scripts/update.py Bug: None Tbr: cnorthrop@google.com Change-Id: I4e4fd8a8207ae99ad7d2ba90a3584941e3ea6f42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3026068 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kenneth Russell 2534ee4c 2021-07-02T12:18:07 Limit the size of declared variables in WebGL shaders. Add an implementation-specific limit for the sizes of variables (specifically arrays, structs, and arrays of structs) in WebGL 1.0 and 2.0 shaders, and interface blocks in WebGL 2.0 shaders, no matter whether they're input, output, or local variables. It is legal in the OpenGL ES and OpenGL ES Shading Language specifications to fail to compile shaders for implementation-specific reasons. Add WebGLCompatibilityTests covering the new limit. Bug: chromium:1220237 Change-Id: I6c1d24a5d9a382ba4454c2dfbb856ab9468f5409 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023033 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kenneth Russell 2a668d92 2021-07-13T16:49:16 Fix iOS Simulator build after direct-to-Metal upstreaming. Bug: angleproject:5505 Change-Id: I4e690099502be2f2404a25d67356d452cf63451b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025240 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Qin Jiajia 15581f35 2021-07-13T15:01:56 Fix the INVALID_ENUM error This PR fixes the GL_INVALID_ENUM error caused by framebufferTexture2D in copySubTextureCPUReadback with TEXTURE_EXTERNAL_OES as the texture target. TEST conformance/textures/video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html conformance/textures/video/tex-2d-luminance-luminance-unsigned_byte.html conformance/textures/video/tex-2d-alpha-alpha-unsigned_byte.html conformance2/textures/video/tex-2d-srgb8-rgb-unsigned_byte.html conformance2/textures/video/tex-2d-rgb9_e5-rgb-float.html conformance2/textures/video/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html conformance2/textures/video/tex-2d-rgb9_e5-rgb-half_float.html conformance2/textures/video/tex-2d-rgb16f-rgb-float.html conformance2/textures/video/tex-2d-rgb16f-rgb-half_float.html conformance2/textures/video/tex-2d-rgb32f-rgb-float.html Bug: chromium:1208297 Change-Id: Ic62ba95ad6fd70f293a7261dc640a95dcabe7ba2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023666 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Kenneth Russell 4d9dbf9c 2021-07-13T15:23:30 Use "frameworks" rather than "libs" for iOS dependencies. The angle_test_expectations static library has added this dependency but it fails to build on the ios-simulator bot. Try using "frameworks" instead. Bug: angleproject:5505 Change-Id: Ia08240a042f241c7eefe0de730b6942a60047054 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025238 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 4efcd10c 2021-07-13T15:37:43 Skip SourceYUVAHBTargetExternalRGBSampleInitData on Pixel4 Two new Vulkan validation errors are being triggered. Test: SourceYUVAHBTargetExternalRGBSampleInitData Bug: angleproject:6168 Change-Id: I11c86bcb8e47f0dbf8032652aae3988279478ace Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025486 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jason Macnak 7c4404da 2021-07-09T13:37:29 Vulkan: update D/S state in ContextVk::onFramebufferChange ANGLE needs to ensure that the stencil test is correctly handled when framebuffers are cleared before stencil attachments are configured. Adds two stencil tests for clearing fbo before stencil attached which fail before this change and which replicate the behavior of CtsNativeHardwareTestCases's StencilAffectsDrawAcrossContexts. BUG=b/192315789 TEST=newly added tests on Cuttlefish Change-Id: I58d97af97d3f78787051b069d2594041ccd2bfba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018486 Commit-Queue: Jason Macnak <natsu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jonah Ryan-Davis b202d5cf 2021-07-13T13:34:19 Suppress BlitFramebufferTest.MultisampleDepth on Metal This test is failing on Intel as well, expand the suppression. Bug: chromium:1228433 Bug: angleproject:5505 Change-Id: I98e240897b996d5d8d9a5977ef777f928b25c9dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024591 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tim Van Patten 16a9a892 2021-07-12T15:30:57 Cleanup license data and remove Android.mk files In an effort to better satisfy the Android legal/license requirements: 1.) Cleanup the license data in the generated Android.bp. 2.) Remove unused Android.mk files. Bug: b/191882454 Change-Id: Ia1937c1e2e822e688cca2a4d3ebc9a294f67ad69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021851 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop 634d156f 2021-07-08T12:42:21 TracePerfTests: Add ScreenShotFrame option Allows the user to specify a frame to capture instead of defaulting to the first one. Usage: --screenshot-frame <frame> Bug: angleproject:4615 Change-Id: I000ee17aa9b3019188816aa6203f3266b39155b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016356 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jonah Ryan-Davis 428d7c4d 2021-07-12T15:23:45 GL: Widen scope of disable_sync_control_support workaround. Crashes and hangs are still happening on Linux/Intel/Mesa 20. This should already not expose the OML_sync_control extension, so widen the scope of the workaround to see if there is an issue detecting Mesa version. Bug: chromium:1187475 Change-Id: I6397f459cd58dba449913ef1c7ce897e8a06cbd1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3022222 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll 783c2f93 2021-07-13T08:27:44 Roll Chromium from 7d1a6713a379 to 624f8c7a15ff (526 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7d1a6713a379..624f8c7a15ff If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-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/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/70f58488ed..9c63d2e3b0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e065358b5a..d749d1b98b * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3345f09ed6 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/199485df6c..f376b41126 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3fa819890a..aca9f71bde * tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3 * tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3 * tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/783612b47d..1820a3adb0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/511dbaffd9..6dad62e2eb * tools/skia_goldctl/linux: tu1vY2W9BQ6Wx0o3zk5oqBwnr5rfFQGiaztbTpGiRNgC..R0Jd4IlcndZlI5C9Pejy7DqtmVEQT8Sc6Ye09MGyFxYC * tools/skia_goldctl/mac: DPVSayDIq4ga78XaXXcfTzeTE2v33yM8z1w-eaD-ZuQC..5NoUEq08DuYUlQWnf2yj6rQvBtlMvWiDqfuUuE5nJFIC * tools/skia_goldctl/win: HMJwTrgrkRmSqDuyQtWly6YxYSHJXsM6zQJFLkojAVwC..M2_R9AXWaN0xmm6nz_nRzKlhpzzOp3P9EUxNaLZ5owMC No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: Ie14d842df225cfc1f60d087386147904a8120ae4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023670 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Peng Huang a8e98a23 2021-07-10T15:25:20 Fix gl::Context::unMakeCurrent crashes The crash is because Display::makeCurrent() may fail, in that case, egl_stubs.cpp will not update the current context in global_state and Thread accordingly. And then Context::refCount could be reach 0, and be released, however egl_stubs.cpp still thinks the context is current, and then user-after-free happens. This CL fixes the problem by updating current context of Thread in Display::makeCurrent, and reading the current context of Thread in egl_stubs.cpp and setting it to global_state. Bug: chromium:1171371 Change-Id: Ifc5fffb0e4902c9c72514839d03e5783d50fe283 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3017210 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Jonah Ryan-Davis 36eb2f14 2021-07-12T15:21:33 Metal: Populate feature list in the Metal backend. The metal-specific features were not being populated when features were queried (eg. by Chrome's about::gpu page). Only the frontend features were populated. Bug: angleproject:6161 Change-Id: I65703dfb5cf561d734b3698da66a8838187b0ef4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3022221 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 9274911d 2021-07-12T10:41:16 Vulkan: Update cube map array support check. Bug: angleproject:5143 Change-Id: I0b774096ae762ae088a27ef1b4d52bf446562736 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021283 Reviewed-by: Nicolas Capens <nicolascapens@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kyle Piddington d33a2222 2021-04-26T16:56:15 Upstream Apple's direct-to-Metal backend: compile libANGLE. This change is meant to merge the metal backend changes from Apple's direct-to-Metal backend. Taken from Kyle Piddington's CL: https://chromium-review.googlesource.com/c/angle/angle/+/2857366/ The goal of this CL is to merge the metal backend code in a state that compiles, but not to switch the Metal backend over to using the direct-to-metal backend yet. Bug: angleproject:5505 Bug: angleproject:6127 Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll b7cfbac4 2021-07-12T10:01:00 Roll SwiftShader from 65498c15ca60 to 4716eec90fcb (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/65498c15ca60..4716eec90fcb 2021-07-09 thakis@chromium.org Stop building with -fno-operator-names 2021-07-09 thakis@chromium.org Stop defining _WINDLL 2021-07-09 thakis@chromium.org Remove workaround for 32-bit gold ICF bug If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@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/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: I71d6929e0f58b3e48f9a45112e4094e2d53993d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3020289 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a7d8f8cd 2021-07-12T07:00:51 Roll Chromium from e09623df2fbf to 7d1a6713a379 (478 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e09623df2fbf..7d1a6713a379 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@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/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/9d1af1fefb..70f58488ed * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e1152a2ffc..e065358b5a * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f691b8d997 * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/b7bef8c05b..e9e400e0af * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2c35569e9f..3fa819890a * tools/luci-go: git_revision:6808332cfd84a07aeefa906674273fc762510c8c..git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86 * tools/luci-go: git_revision:6808332cfd84a07aeefa906674273fc762510c8c..git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86 * tools/luci-go: git_revision:6808332cfd84a07aeefa906674273fc762510c8c..git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/0039c5300b..511dbaffd9 * tools/skia_goldctl/linux: gyVsF3sYTmaXRfH5ZxgrkitNlEIMmcqWZBcixfrfJ30C..tu1vY2W9BQ6Wx0o3zk5oqBwnr5rfFQGiaztbTpGiRNgC * tools/skia_goldctl/mac: b-Qs2BgADASerBkyWLb2sUtPJBkhTpZQJNAwASkgrmcC..DPVSayDIq4ga78XaXXcfTzeTE2v33yM8z1w-eaD-ZuQC * tools/skia_goldctl/win: qrVPZODzWaMfj0T74i2cbqiMzFoqTbUk01Xft2ZTSRMC..HMJwTrgrkRmSqDuyQtWly6YxYSHJXsM6zQJFLkojAVwC No update to Clang. Bug: angleproject:5505 Tbr: timvp@google.com Change-Id: I3c077b02c889b5a1d02a8fb15fb4c4682b9a0eae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3020444 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Peter Kasting 04cb5e1d 2021-07-10T11:39:49 Disable -Wimplicit-int-float-conversion for gles1_conform. Bug: chromium:989932 Change-Id: I0038440470a6816bb0c4198af2224b7b85aa42b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018692 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c6784c9c 2021-07-09T16:48:55 Vulkan: SPIR-V Gen: Fix size of matrix in std140 layout Matrices are treated like arrays, so the size of each column should also be expanded to the size of vec4, similar to how it's done for arrays of smaller-than-vec4 elements. Bug: angleproject:4889 Change-Id: I1f4d8d0e06922c4bb9261fbbf0f4565dfdec55c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018641 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll c9a66d2c 2021-07-09T15:07:49 Roll VK-GL-CTS from 875c981f4c59 to 6b9a0f391fa4 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/875c981f4c59..6b9a0f391fa4 2021-07-08 rgarcia@igalia.com Check required extension core versions 2021-07-08 rgarcia@igalia.com Test more dynamic vertex input variants 2021-07-08 rgarcia@igalia.com Improve tests checking sign extension with images 2021-07-06 alexander.galazin@arm.com Update Vulkan headers 2021-07-02 michal.jakubek@mobica.com Update bottom AS's addresses during top AS deserialization If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC timvp@google.com,angle-bots+autoroll-info@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/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com,angle-bots+autoroll-info@google.com Change-Id: I3a81408cebcfc749790ec444ffd69356749fbf2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3017197 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi e2710f59 2021-07-06T17:29:08 Vulkan: SPIR-V Gen: Fix image atomic built-ins The `imageAtomic*` built-ins additionally include coordinate and sample parameters that need to be fed to OpImageTexelPointer before the atomic operation can be generated. This change passes all *image*atomic* GLES31 deqp tests as well as: GLSLTest_ES31.ArraysOfArraysOfR32fImages/ES3_1_Vulkan_DirectSPIRVGen Bug: angleproject:4889 Change-Id: I9ed729d09914cb01467d4de504de38c931a9196e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011419 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 8d0eb08c 2021-07-05T23:22:24 Vulkan: SPIR-V Gen: Take advantage of OpConstantNull As part of fixing GLSLTest*.MissingReturn* tests, refactoring is done such that complex null values are declared concisely with OpConstantNull. The tests are fixed by making the SPIR-V generator implicitly add a `return <null-value-of-correct-type>;` if the return statement is missing from GLSL. Bug: angleproject:4889 Change-Id: Iffd80c5e6ce66afcdbf3813bffade6928f292007 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010578 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten a34f668d 2021-07-09T10:55:48 Skip BlitWithDepthUserToDefault for Linux+Intel+OpenGL The test BlitFramebufferANGLETest.BlitWithDepthUserToDefault/ES2_OpenGL is failing on Linux+Intel. This CL skips the test to unblock the vulkan-deps roll into Chromium. Bug: angleproject:6154 Change-Id: I098622ca23b79027e6166d3308c3c41948eca285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018109 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten aa727b78 2021-07-09T11:26:36 Skip ImageTests generating VUID-vkCmdDraw-None-02699 The latest VVL roll is generating VUID-vkCmdDraw-None-02699 on Pixel 4 devices. This CL will skip the failing tests to unblock the roll while the VVL error is investigated. Bug: angleproject:6155 Change-Id: Ie9e21f7df13baa8b9252a3273d1985513404bdfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018114 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 3a6e22d5 2021-07-09T12:09:53 Trace Tests: Update retracing script. Adds an option to skip retracing traces that already exist. That makes the script much easier to use on folders that already have traces partially retraced. It also catches exceptions when running the traces so that ANGLE crashes and ASSERTions don't need you to restart the retrace. Bug: angleproject:5133 Change-Id: I059ca545145eadc1aa8c373a2fde762bbeb52b55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018302 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8c07f3c1 2021-07-09T12:35:31 Enable cube map arrays on SwiftShader. Bug: angleproject:5142 Change-Id: I51c58d20da155b90980f27425a99cff2555345fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018303 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e3e7447a 2021-07-08T22:22:19 Vulkan: Fix flipXY for 180 degree prerotation and spec consts The multiplier used for flipXY in this configuration was incorrect. Bug: angleproject:5348 Bug: angleproject:5349 Bug: angleproject:5350 Change-Id: I0b3771f6a9da6ab2af02ed5ee5fe7b49d0415410 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016768 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 913eb916 2021-06-28T12:51:12 Vulkan: (Mostly) re-unify secondary command buffer interfaces SecondaryCommandBuffer and CommandBuffer in vk_wrapper had diverged in API, which this change helps alleviate to some extent. Bug: angleproject:6100 Change-Id: I0d59b24c659afbaf58865b3d85f275c545e3acce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987872 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
angle-autoroll 6d46bf71 2021-07-09T10:01:00 Roll SwiftShader from 9534228df856 to 65498c15ca60 (11 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/9534228df856..65498c15ca60 2021-07-09 thakis@chromium.org Remove -Wno-error flags 2021-07-09 thakis@chromium.org Remove now-unused gni imports 2021-07-09 thakis@chromium.org Remove x86/x64-specific arch flags 2021-07-08 thakis@chromium.org Try to unbreak build after https://swiftshader-review.googlesource.com/c/SwiftShader/+/55608 2021-07-08 thakis@chromium.org Remove mips-specific arch flags 2021-07-08 thakis@chromium.org Share ANGLE_DISABLE_TRACE-setting code between win and non-win 2021-07-08 thakis@chromium.org Stop passing -fomit-frame-pointers in swiftshader build file 2021-07-08 thakis@chromium.org Remove sysroot and mmacosx-version-min flag for mac/arm builds 2021-07-08 thakis@chromium.org Remove explicit -msse2 flags (and some other minor things) 2021-07-08 thakis@chromium.org Remove unnecessary flags from BUILD.gn 2021-07-08 capn@google.com Delete the legacy OpenGL ES build for Android If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@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/+doc/main/autoroll/README.md Bug: None Tbr: timvp@google.com Change-Id: Id94e37160fd9400500d6c946ece5f5adbd50e0a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016020 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll fd604937 2021-07-09T07:00:23 Roll Chromium from 8b6aa9a9bcc2 to e09623df2fbf (441 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8b6aa9a9bcc2..e09623df2fbf If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@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/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/27e956c028..9d1af1fefb * buildtools/linux64: git_revision:31f2bba8aafa8015ca5761100a21f17c2d741062..git_revision:24e2f7df92641de0351a96096fb2c490b2436bb8 * buildtools/mac: git_revision:31f2bba8aafa8015ca5761100a21f17c2d741062..git_revision:24e2f7df92641de0351a96096fb2c490b2436bb8 * buildtools/win: git_revision:31f2bba8aafa8015ca5761100a21f17c2d741062..git_revision:24e2f7df92641de0351a96096fb2c490b2436bb8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7a41b10cc1..e1152a2ffc * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e397699bcd * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/f4241bd0f2..7cf9863263 * third_party/r8: gXyBDv_fM87KnLcxvF5AGV5lwnm-JXIALYH8zrzdoaMC..Nu_mvQJe34CotIXadFlA3w732CJ9EvQGuVs4udcZedAC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/293314acab..2c35569e9f * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/95d98b6900..783612b47d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c3d86f5268..0039c5300b No update to Clang. Bug: angleproject:6127 Tbr: timvp@google.com Change-Id: I10606038a0319d675a1ddfc205b9ef3d4ebfbce5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016365 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Qin Jiajia 17a4b6e7 2021-07-07T11:00:48 Fix that clear-srgb-color-buffer is not correct This change removes the limitation that syncClearState/ syncClearBufferState is only for STANDARD_GL_DESKTOP so that it works on chromeos. Test: conformance2/rendering/clear-srgb-color-buffer.html deqp/functional/gles3/fbocolorbuffer/clear.html Bug: chromium:1208297 Change-Id: I7c5fed3545f623cca3f2245c67fddaf3401388b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010630 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Sergey Ulanov b73eee71 2021-07-07T18:51:35 Reland: [Vulkan] Add DisplayVkNull Currently all DisplayVk implementations depend on VK_KHR_swapchain and VK_KHR_surface extensions. When running Chromium on Fuchsia these extensions are never used (content is shown on the screen using ImagePipe API without dependency on swapchain). ANGLE still depended on these extensions for DisplayVkFuchsia. This CL adds DisplayVkNull, which allows to run ANGLE without dependency on swapchain. It's usable only offscreen and cannot present content on a surface. Bug: chromium:1203879 Change-Id: I5cadcdf46ed1cfb5ebb3cb69dbfef063e9e2b826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3012368 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 89f2a619 2021-07-08T21:45:11 Revert "GL: Use glClear for robust init on Android." This reverts commit 37c5d36fef783406c30a8ed8b8b4455f35374834. Reason for revert: crashes on Pixel 4, see https://chromium-review.googlesource.com/c/chromium/src/+/3016164 Original change's description: > GL: Use glClear for robust init on Android. > > The allowClearForRobustResourceInit was used to work around driver > bugs on other Windows and Linux and has a lot of CPU overhead. > > Re-enable it on Android (except some older Adreno). > > Bug: chromium:983167 > Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420 > Reviewed-by: Peng Huang <penghuang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: chromium:983167 Change-Id: I74e9a61484de77fd66e8dde8d50665fdbb470a95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016763 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 81ed8d40 2021-07-02T00:54:25 Vulkan: SPIR-V Gen: Support barrier* built-ins This change enables the ComputeShaderTest suite and additionally includes the following fixes: - OpArrayLength was given the array type instead of variable. - Struct arrays inside interface blocks were not decorated with ArrayStride. Bug: angleproject:4889 Change-Id: Ibae95371bcea10e58c86b8fe1d1e172a18d56a09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001908 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill dc2d76cd 2021-07-08T10:04:15 Trace Tests: Clean up mock ICD skip condition. Bug: angleproject:6090 Change-Id: I943eb35da56a24c5a2c9961eb458b9b6e27ea83a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015515 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 62398e82 2021-07-08T14:06:04 Capture/Replay: Fix missing rpath on Linux. This was causing the test script to fail to find angleutil. Bug: angleproject:5133 Change-Id: I621da4e71c0b61161694d95263b7dad643a728ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015516 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi afdf378f 2021-07-01T21:55:58 Vulkan: SPIR-V Gen: Support == and != on complex types In GLSL, == and != produce a bool. In SPIR-V, there are only component-wise comparison operations. For ==, OpAll should be used to reduce it to a single bool, and for !=, OpAny. For matrices, the comparison is done column by column with a similar reduction for each column, and one for the final result. For structs and arrays, the comparison is similarly done field by field or element by element respectively. Bug: angleproject:4889 Change-Id: I8157c1931b7d1dedd74a3825967f5e212d346900 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001905 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Aditya Kushwah c9dcc553 2021-06-22T18:55:39 Move Objectlabel from Texture object to TextureState object. Created a subscriber function onLabelUpdated in the storage base class. The derived storage class will pass the label reference to the base storage class in the constructor. Future changes will use this label reference to update the label string with D3D. Bug: chromium:1164111 Change-Id: Ic5ca73bac61427afe392bb5bcc6a6eab8e785941 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2981451 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Jamie Madill cb87d78c 2021-07-08T08:28:04 Enable -Wshadow with Clang. Also fixes a few instances of variable shadowing in the code. Bug: angleproject:6148 Change-Id: Ic51d722a3f953f246f51af6d74abb302f832cf44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3014875 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>