-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.Technical debt, code quality, testing, etc.e: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requeststeam-engineOwned by Engine teamOwned by Engine team
Description
In order to get some Vulkan validation checking on CI, we'll need to use Swift Shader (Software Rendering). However, as of HEAD (flutter/engine@d0ff708 at time of writing), there are two problems with Vulkan+Swift Shader on MacOS hosts (which I can also reproduce locally):
- Asynchronous presentation causes a timeout
- Even with synchronous presentation, the image is blank
There is a some more information here:
- [Impeller] Validation errors when running playgrounds with Vulkan validation enabled. #133506 (comment)
- [Impeller] Wire up a SwiftShader backend for Impeller unit-tests. #126022 (comment)
It's likely the issues are same (nothing is being drawn).
To reproduce (remember, MacOS host - and I only tried ARM64):
# Assuming you're in $ENGINE/src/flutter
# GN
./tools/gn \
--unopt \
--mac-cpu arm64 \
--enable-vulkan-validation-layers \
--enable-impeller-vulkan \
--target-dir=host_debug_impeller_vulkan \
--no-stripped
# Ninja
ninja -j1000 -C ../out/host_debug_impeller_vulkan impeller_unittests
# Make sure this path is right, if not you'll silently use MoltenVK, which works fine.
ls ../out/host_debug_impeller_vulkan/vk_swiftshader_icd.json
# Run, providing Swift Shader, and enabling validation.
VK_ICD_FILENAMES=../out/host_debug_impeller_vulkan/vk_swiftshader_icd.json \
../out/host_debug_impeller_vulkan/impeller_unittests \
--gtest_filter="Play/AiksTest.*/Vulkan" \
--playground_timeout_ms=1000 \
--enable_vulkan_validationI'm filing this issue so we can at least get validation coverage (flutter/engine#45918).
renancaraujo
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.Technical debt, code quality, testing, etc.e: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requeststeam-engineOwned by Engine teamOwned by Engine team